commit d508afb437daee7cf07da085b635c44a4ebf9b38 Author: Trond Myklebust Date: Mon Apr 6 16:41:35 2009 -0700 NFS: Fix a double free in nfs_parse_mount_options() Due to an apparent typo, commit a67d18f89f5782806135aad4ee012ff78d45aae7 (NFS: load the rpc/rdma transport module automatically) lead to the 'proto=' mount option doing a double free, while Opt_mountproto leaks a string. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit bbae8bcc49bc4d002221dab52c79a50a82e7cd1f Author: Linus Torvalds Date: Mon Apr 6 17:16:47 2009 -0700 ext3: make default data ordering mode configurable This makes the defautl ext3 data ordering mode (when no explicit ordering is set) configurable, so as to allow people to default to 'data=writeback' and get the resulting latency improvements. This is a non-issue if a filesystem has been explicitly set to some ordering (with 'tune2fs'). Signed-off-by: Linus Torvalds commit e0724bf6e4a1f2e678d2b2aab01cae22e17862f0 Merge: 38d9aef... de09757... Author: Linus Torvalds Date: Mon Apr 6 15:00:19 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: UBIFS: fix recovery bug UBIFS: add R/O compatibility UBIFS: fix compiler warnings UBIFS: fully sort GCed nodes UBIFS: fix commentaries UBIFS: introduce a helpful variable UBIFS: use KERN_CONT UBIFS: fix lprops committing bug UBIFS: fix bogus assertion UBIFS: fix bug where page is marked uptodate when out of space UBIFS: amend key_hash return value UBIFS: improve find function interface UBIFS: list usage cleanup UBIFS: fix dbg_chk_lpt_sz() commit 38d9aefb5ce8f26358b0d5cd933cfa9e267105b1 Merge: 432870d... 1b24bc3... Author: Linus Torvalds Date: Mon Apr 6 15:00:00 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: add fsync capability commit 432870dab85a2f69dc417022646cb9a70acf7f94 Author: Oleg Nesterov Date: Mon Apr 6 16:16:02 2009 +0200 exit_notify: kill the wrong capable(CAP_KILL) check The CAP_KILL check in exit_notify() looks just wrong, kill it. Whatever logic we have to reset ->exit_signal, the malicious user can bypass it if it execs the setuid application before exiting. Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Acked-by: Roland McGrath Signed-off-by: Linus Torvalds commit 22ae77bc7ac115b9d518d5cbc13d39317079b2b0 Merge: e379ec7... 30bbf14... Author: Linus Torvalds Date: Mon Apr 6 14:56:26 2009 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (53 commits) [MTD] struct device - replace bus_id with dev_name(), dev_set_name() [MTD] [NOR] Fixup for Numonyx M29W128 chips [MTD] mtdpart: Make ecc_stats more realistic. powerpc/85xx: TQM8548: Update DTS file for multi-chip support powerpc: NAND: FSL UPM: document new bindings [MTD] [NAND] FSL-UPM: Add wait flags to support board/chip specific delays [MTD] [NAND] FSL-UPM: add multi chip support [MTD] [NOR] Add device parent info to physmap_of [MTD] [NAND] Add support for NAND on the Socrates board [MTD] [NAND] Add support for 4KiB pages. [MTD] sysfs support should not depend on CONFIG_PROC_FS [MTD] [NAND] Add parent info for CAFÉ controller [MTD] support driver model updates [MTD] driver model updates (part 2) [MTD] driver model updates [MTD] [NAND] move gen_nand's probe function to .devinit.text [MTD] [MAPS] move sa1100 flash's probe function to .devinit.text [MTD] fix use after free in register_mtd_blktrans [MTD] [MAPS] Drop now unused sharpsl-flash map [MTD] ofpart: Check name property to determine partition nodes. ... Manually fix trivial conflict in drivers/mtd/maps/Makefile commit e379ec7c42343c6b6ef06a98de7c94db41c1423e Author: Alan Cox Date: Mon Apr 6 14:55:50 2009 +0100 LANANA: Fix dates As noted by Janne Grunau it would be good if the date was also right. (Web site also resynched) Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 91a9e99d76d71b1b16f422fae4bd844245f14638 Author: Alexander Beregalov Date: Tue Apr 7 01:35:56 2009 +0400 md/raid1: fix build breakage Fix this build error: drivers/md/raid1.c: In function 'raid1_congested': drivers/md/raid1.c:589: error: 'BDI_write_congested' undeclared BDI_write_congested was changed in commit 1faa16d228 ("block: change the request allocation/congestion logic to be sync/async based") Signed-off-by: Alexander Beregalov Cc: Neil Brown Cc: Jens Axboe Signed-off-by: Linus Torvalds commit bf538fe4689694b0b90d358dda91cde7b438097d Author: Alan Cox Date: Mon Apr 6 17:35:42 2009 +0100 8250: Fix warning The 8430 patch was short a const so caused a warning. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1f85449ffd146cf2b91a47dff694281bcfd2558b Author: Roel Kluin Date: Mon Apr 6 17:35:34 2009 +0100 rio: addition has higher precedence than ?: Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 22654b41a724ccf937248ab0877e113c12a2cf8a Author: Alan Cox Date: Mon Apr 6 17:35:25 2009 +0100 symbol: Remove various bits of left over junk There are various bits of code here that are unfinished and instead of being harmless either confuse or spew stuff into the logs at higher than debug level. They can and should go away. Also remove the bogus use of tty->lowlatency. We fixed the need for this hack long ago (with the flip buffer rewrite) but people keep copying it into drivers. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 912299f6f0587bb6c221705ed9949709b36b3c56 Author: Alan Cox Date: Mon Apr 6 17:35:12 2009 +0100 tty: pl2303 needs identifiers for Siemens S81 as well as EF81 Closes bug 9065 Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7abcf20b8f32dd679b162b33c07e427c67d4a1fb Author: Alan Cox Date: Mon Apr 6 17:35:01 2009 +0100 cdc-acm: zydas 1602 identifier needed Bugzilla #9095 and a couple of other confirmations Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 60de8ad37436850ac214fe06ecf338da266c2205 Author: Breno Leitao Date: Mon Apr 6 17:34:53 2009 +0100 icom: remove unused variables Signed-off-by: Breno Leitao Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 06e82df015afad2d96d030f76f5e4d13e6dcdfa4 Author: Alexander Beregalov Date: Mon Apr 6 17:34:34 2009 +0100 mux: fix build problem Fixes: In file included from drivers/serial/mux.c:37: include/linux/serial_core.h: In function 'uart_handle_sysrq_char': include/linux/serial_core.h:467: error: 'struct uart_port' has no member named 'sysrq' include/linux/serial_core.h:468: error: 'struct uart_port' has no member named 'sysrq' Signed-off-by: Alexander Beregalov Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e713abead3324f6d4381a3d280b7ce35b7eadb7a Author: Breno Leitao Date: Mon Apr 6 17:34:27 2009 +0100 jsm: Fix the return variable and removing the unused retval. As it was, the retval was never returned, so its assignments were silly. Just consolidate everything to rc, and remove the unused retval variable. Signed-off-by: Breno Leitao Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit aacf17adc62650fa0eb59559b737f543d003575e Author: Breno Leitao Date: Mon Apr 6 17:34:17 2009 +0100 jsm: define init function as __devinit Signed-off-by: Breno Leitao Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0326e6d596491db64d787136cbd703bde0ee8d77 Author: Jiri Slaby Date: Mon Apr 6 17:34:10 2009 +0100 mxser: remove tty_port_tty_get from mxser_check_modem_status mxser_check_modem_status is called with tty parameter, so the reference should be increased by callers already -- for ioctl syscall it is held whole time gap since open to close, for interrupt, the reference count is increased in the irq handler. There is no tty_kref_put in that function, so this also fixes a refcounting bug. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0e0fd7d73ed130583dca16405b029f56bf65109f Author: Jiri Slaby Date: Mon Apr 6 17:34:04 2009 +0100 tty: moxa, fix refcounting in moxa_poll_port There is missing tty_kref_put on some paths in moxa_poll_port, although the reference is always taken. Fix it. Signed-off-by: Jiri Slaby Reported-by: Jan 'Yenya' Kasprzak Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit bbb8e6bf10c5c3c9c70a94aa26cb27f95f10dee5 Author: Alan Cox Date: Mon Apr 6 17:33:55 2009 +0100 isicom: isicom kref leak fix The isicom driver leaks a kref on the shutdown path. Drop the additional kref we took Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8d5a05da823ebd83a5147e1bfe19036a57a4d33c Author: Alan Cox Date: Mon Apr 6 17:33:48 2009 +0100 ucc: Fix leaky error path Found by Daniel Marjamäki using cppcheck Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5c9f5806836a9079d6c2d38d567d5f0662863bf4 Author: Scott James Remnant Date: Mon Apr 6 17:33:26 2009 +0100 riscom8: Auto-load riscom8 module when device opened. The riscom8 module is missing the char-major-48-* alias that would cause it to be auto-loaded when a device of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e766aeb882b41355d8732cf49aa9412baef852c5 Author: Scott James Remnant Date: Mon Apr 6 17:33:18 2009 +0100 usb: Auto-load cdc_acm module when device opened. The cdc_acm module is missing the char-major-166-* alias that would cause it to be auto-loaded when a device of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5350d3ba3d4cee899fa0b95fc0d30202ac8073e7 Author: Scott James Remnant Date: Mon Apr 6 17:33:11 2009 +0100 specialix: Auto-load specialix module when device opened. The specialix module is missing the char-major-75-* alias that would cause it to be auto-loaded when a device of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9f56fad741163fe2111cbbcfb7ff795ebdabdab1 Author: Scott James Remnant Date: Mon Apr 6 17:33:04 2009 +0100 cyclades: Auto-load cyclades module when device opened. The cyclades module is missing the char-major-19-* alias that would cause it to be auto-loaded when a device of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 14f8d3ff3141caa8bf8326381ab8e6ce06c564b8 Author: Scott James Remnant Date: Mon Apr 6 17:32:58 2009 +0100 applicom: Auto-load applicom module when device opened. The applicom module is missing the char-major-10-157 alias that would cause it to be auto-loaded when a device of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f4487101c7c5e529777b297eda5a5b69347f51a0 Author: Graf Yang Date: Mon Apr 6 17:32:49 2009 +0100 blackfin: Subtract ANOMALY_05000230 on quot Fix bug - up arrow key works abnormal for bf561 ezkit board Signed-off-by: Graf Yang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8c4210e3362e1cd44bd10c857dc5f69c0bf434da Author: Sonic Zhang Date: Mon Apr 6 17:32:42 2009 +0100 Fix DMA rx ring buffer handling Reported-by: Qian Zhang Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit df04baf1e6a62ff232fa224504ccaa987b5be230 Author: Sonic Zhang Date: Mon Apr 6 17:32:35 2009 +0100 blackfin: Fix tty compile error in PIO mode Fixes this compile issue: drivers/serial/bfin_5xx.c: In function bfin_serial_rx_chars: drivers/serial/bfin_5xx.c:178: error: struct uart_info has no member named tty Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 59e4e3e65d3f856cfcdc66de2db5530d7b161f68 Author: Mike Frysinger Date: Mon Apr 6 17:32:28 2009 +0100 blackfin: Use unsigned long for flags with irq functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f933d3c740b32bdd284c74b2e40e838b585ecf0f Author: Michael Hennerich Date: Mon Apr 6 17:32:21 2009 +0100 blackfin: BF538/9 serial uart support Enable third UART on BF538/9 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 04bf7e745b841619d2f14f2f8b6f2c97f1c6757e Author: Will Page Date: Mon Apr 6 17:32:15 2009 +0100 8250_pci: add support for National Instruments legacy 8420 RS232 boards Signed-off-by: Will Page Signed-off-by: Shawn Bohrer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 46a0fac9438764533245928b78d35fbaa5d7adf4 Author: Shawn Bohrer Date: Mon Apr 6 17:32:07 2009 +0100 8250_pci: add support for National Instruments 843x RS232 devices This implements basic support for all 843x RS232 devices, but does not add DMA support. This means that sustained data transfers at high baud rates may not be possible on multiple ports simultaneously. Signed-off-by: Shawn Bohrer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 97ea33f9e375e4f9b3049ca861e5c91cc626c55f Author: Matthew Garrett Date: Mon Apr 6 17:32:01 2009 +0100 serial: Update PNP IDs Add new Wacom device IDs to the 8250_pnp serial driver, to support autoconfig on some newer tablet PCs. Also add a comment to clarify that the FUJ02E6 device is a custom protocol, not a Wacom tablet. Signed-off-by: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3eba1da43e043cd760c98cd227546d310e145843 Author: Danny Kukawka Date: Mon Apr 6 17:31:54 2009 +0100 8250_pnp.c: add another Wacom tablet Add another serial Wacom tablet with pnp_id: WACF009. Signed-off-by: Danny Kukawka Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1c2d008c9e73626cc354751c62b94177c4094f8b Author: David Howells Date: Mon Apr 6 15:47:25 2009 +0100 Make CONFIG_SLOW_WORK an automatic rather than manual config option Make CONFIG_SLOW_WORK an automatic rather than manual config option so that people configuring their kernels don't have to make the choice. It can be selected automatically by those things that require it (such as FS-Cache). Signed-off-by: David Howells Acked-by: Jeff Garzik Acked-by: Kyle McMartin Signed-off-by: Linus Torvalds commit c47ae9adfdd3a9551969534dbb0d5606ec646526 Author: Adrian Bunk Date: Mon Apr 6 15:36:04 2009 +0100 FRV: Fix compile breakage This patch fixes the follwing build error caused by commit 7ca43e7564679604d86e9ed834e7bbcffd8a4a3f (mm: use debug_kmap_atomic): ... AS arch/frv/mm/tlb-miss.o In file included from arch/frv/mm/tlb-miss.S:13: ... Assembler messages: include/asm-generic/ioctl.h:73: Error: unrecognized instruction `extern unsigned int __invalid_size_argument_for_IO...' ... Signed-off-by: Adrian Bunk Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit ffa009c366e33f3eae48bba2547051fe15795f64 Merge: 8e320d0... 46f06b7... Author: Linus Torvalds Date: Mon Apr 6 14:26:05 2009 -0700 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: drivers/pci/intr_remapping.c: include acpi.h intel-iommu: Fix oops in device_to_iommu() when devices not found. intel-iommu: Handle PCI domains appropriately. intel-iommu: Fix device-to-iommu mapping for PCI-PCI bridges. x2apic/intr-remap: decouple interrupt remapping from x2apic x86, dmar: check if it's initialized before disable queue invalidation intel-iommu: set compatibility format interrupt Intel IOMMU Suspend/Resume Support - Interrupt Remapping Intel IOMMU Suspend/Resume Support - Queued Invalidation Intel IOMMU Suspend/Resume Support - DMAR intel-iommu: Add for_each_iommu() and for_each_active_iommu() macros commit 8e320d02718d2872d52ef88a69a493e420494269 Merge: 5d6700e... 303a0e1... Author: Linus Torvalds Date: Mon Apr 6 13:46:27 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md/raid1 - don't assume newly allocated bvecs are initialised. commit 46f06b72378d3187f0d12f7a60d020676bfbf332 Author: Alexander Beregalov Date: Mon Apr 6 16:45:28 2009 +0100 drivers/pci/intr_remapping.c: include acpi.h Fix this build error: drivers/pci/intr_remapping.c: In function 'ir_parse_ioapic_scope': drivers/pci/intr_remapping.c:617: error: invalid use of undefined type 'struct acpi_dmar_hardware_unit' Signed-off-by: Alexander Beregalov Signed-off-by: David Woodhouse commit 5d6700ea7bfb4704a8d5d10c6ebf0e947410f9ce Author: Stephen Rothwell Date: Mon Apr 6 15:08:29 2009 +1000 percpu: __percpu_depopulate_mask can take a const mask This eliminates a compiler warning: mm/allocpercpu.c: In function 'free_percpu': mm/allocpercpu.c:146: warning: passing argument 2 of '__percpu_depopulate_mask' discards qualifiers from pointer target type Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit 0cb55ad2ad5513f55304d026bb4319a9311163d0 Author: Randy Dunlap Date: Sun Apr 5 15:55:22 2009 -0700 docs: alphabetize entries in kernel-parameters.txt Move entries to be in alpha order as specified near the beginning of this file. Clean up some whitespace and line-length miscues. Add '=' to "selinux" option syntax. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 88cacbb21be116b4b5ce9811a90868e585efdd68 Author: Randy Dunlap Date: Sun Apr 5 15:45:34 2009 -0700 docbook: fix fatal filename error Fix docbook fatal error: docproc: block/blktrace.c: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit cd5f9a4c3199b090e91ea0064cb110985ba54814 Author: Linus Torvalds Date: Mon Apr 6 13:38:46 2009 -0700 kernel/sysctl.c: avoid annoying warnings Some of the limit constants are used only depending on some complex configuration dependencies, yet it's not worth making the simple variables depend on those configuration details. Just mark them as perhaps not being unused, and avoid the warning. Signed-off-by: Linus Torvalds commit 609862be074cc20e007c640fd936ffe798b41abc Merge: 12fe32e... eedeeab... Author: Linus Torvalds Date: Mon Apr 6 13:37:30 2009 -0700 Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: add stack dumps to asserts hrtimer: fix rq->lock inversion (again) commit 4958c5dc7bcb2e42d985cd26aeafd8a7eca9ab1e Author: David Woodhouse Date: Mon Apr 6 13:30:01 2009 -0700 intel-iommu: Fix oops in device_to_iommu() when devices not found. It's possible for a device in the drhd->devices[] array to be NULL if it wasn't found at boot time, which means we have to check for that case. Signed-off-by: David Woodhouse commit 12fe32e4f942ac5c71a4ab70b039fee65c0dc29d Merge: a638562... 2121db7... Author: Linus Torvalds Date: Mon Apr 6 13:30:00 2009 -0700 Merge branch 'kmemtrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'kmemtrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: kmemtrace: trace kfree() calls with NULL or zero-length objects kmemtrace: small cleanups kmemtrace: restore original tracing data binary format, improve ABI kmemtrace: kmemtrace_alloc() must fill type_id kmemtrace: use tracepoints kmemtrace, rcu: don't include unnecessary headers, allow kmemtrace w/ tracepoints kmemtrace, rcu: fix rcupreempt.c data structure dependencies kmemtrace, rcu: fix rcu_tree_trace.c data structure dependencies kmemtrace, rcu: fix linux/rcutree.h and linux/rcuclassic.h dependencies kmemtrace, mm: fix slab.h dependency problem in mm/failslab.c kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_unlzma.c kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_bunzip2.c kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_inflate.c kmemtrace, squashfs: fix slab.h dependency problem in squasfs kmemtrace, befs: fix slab.h dependency problem kmemtrace, security: fix linux/key.h header file dependencies kmemtrace, fs: fix linux/fdtable.h header file dependencies kmemtrace, fs: uninline simple_transaction_set() kmemtrace, fs, security: move alloc_secdata() and free_secdata() to linux/security.h commit a63856252d2112e7c452696037a86ceb12f47f80 Merge: b24241a... 04826f4... Author: Linus Torvalds Date: Mon Apr 6 13:25:56 2009 -0700 Merge branch 'for-2.6.30' of git://linux-nfs.org/~bfields/linux * 'for-2.6.30' of git://linux-nfs.org/~bfields/linux: (81 commits) nfsd41: define nfsd4_set_statp as noop for !CONFIG_NFSD_V4 nfsd41: define NFSD_DRC_SIZE_SHIFT in set_max_drc nfsd41: Documentation/filesystems/nfs41-server.txt nfsd41: CREATE_EXCLUSIVE4_1 nfsd41: SUPPATTR_EXCLCREAT attribute nfsd41: support for 3-word long attribute bitmask nfsd: dynamically skip encoded fattr bitmap in _nfsd4_verify nfsd41: pass writable attrs mask to nfsd4_decode_fattr nfsd41: provide support for minor version 1 at rpc level nfsd41: control nfsv4.1 svc via /proc/fs/nfsd/versions nfsd41: add OPEN4_SHARE_ACCESS_WANT nfs4_stateid bmap nfsd41: access_valid nfsd41: clientid handling nfsd41: check encode size for sessions maxresponse cached nfsd41: stateid handling nfsd: pass nfsd4_compound_state* to nfs4_preprocess_{state,seq}id_op nfsd41: destroy_session operation nfsd41: non-page DRC for solo sequence responses nfsd41: Add a create session replay cache nfsd41: create_session operation ... commit b24241a09208874d5d770bee30791daae41ad762 Merge: 22eb5aa... abe213d... Author: Linus Torvalds Date: Mon Apr 6 13:25:27 2009 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Delete unused i2c-algo-sgi helper module i2c: Delete many unused driver IDs i2c: Deprecate client_register and client_unregister methods commit 22eb5aa6c7940861f9603581665b9d9a1c60be30 Merge: d7ca6f8... 015640e... Author: Linus Torvalds Date: Mon Apr 6 13:24:49 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (74 commits) [SCSI] sg: fix q->queue_lock on scsi_error_handler path [SCSI] replace __inline with inline [SCSI] a2091: make 2 functions static [SCSI] a3000: make 2 functions static [SCSI] ses: #if 0 the unused ses_match_host() [SCSI] use kmem_cache_zalloc instead of kmem_cache_alloc/memset [SCSI] sg: fix iovec bugs introduced by the block layer conversion [SCSI] qlogicpti: use request_firmware [SCSI] advansys: use request_firmware [SCSI] qla1280: use request_firmware [SCSI] libiscsi: fix iscsi pool error path [SCSI] cxgb3i: call ddp release function directly [SCSI] cxgb3i: merge cxgb3i_ddp into cxgb3i module [SCSI] cxgb3i: close all tcp connections upon chip reset [SCSI] cxgb3i: re-read ddp settings information after chip reset [SCSI] cxgb3i: re-initialize ddp settings after chip reset [SCSI] cxgb3i: subscribe to error notification from cxgb3 driver [SCSI] aacraid driver update [SCSI] mptsas: remove unneeded check [SCSI] config: Make need for SCSI_CDROM clearer ... commit d7ca6f8cdffa5765e486edb3dada9121fba8e6aa Merge: 3cd6927... 13a7b5d... Author: Linus Torvalds Date: Mon Apr 6 13:24:00 2009 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: Adds HP Jornada 700 series backlight driver backlight: Add HP Jornada 700 series LCD driver backlight: fix pwm_bl.c when multiple PWM backlights exist backlight: mbp_nvidia_bl - Add a debug switch backlight: Add support for MacBook 5, MacBook Air 2, and MacBook Pro 5 commit 3cd69271f86770499425c7cea2902512ba936a75 Merge: 1aa2a7c... 67a32ec... Author: Linus Torvalds Date: Mon Apr 6 13:22:45 2009 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: introduce lp5521 led driver leds: just ignore invalid GPIOs in leds-gpio leds: Fix &&/|| confusion in leds-pca9532.c leds: move h1940-leds's probe function to .devinit.text leds: remove an unnecessary "goto" on drivers/leds/leds-s3c24.c leds: add BD2802GU LED driver leds: remove experimental flag from leds-clevo-mail leds: Prevent multiple LED triggers with the same name leds: Add gpio-led trigger leds: Add rb532 LED driver for the User LED leds: Add suspend/resume state flags to leds-gpio leds: simple driver for pwm driven LEDs leds: Fix leds-gpio driver multiple module_init/exit usage leds: Add dac124s085 driver leds: allow led-drivers to use a variable range of brightness values leds: Add openfirmware platform device support commit 04826f43d4f0a4d56423eb8abb9f2ec9987df5b5 Author: Benny Halevy Date: Mon Apr 6 12:00:49 2009 +0300 nfsd41: define nfsd4_set_statp as noop for !CONFIG_NFSD_V4 Fixes following modpost error: ERROR: "nfsd4_set_statp" [fs/nfsd/nfsd.ko] undefined! Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit f0ad670d7061efad138df19aefe569263c4ea37b Author: Benny Halevy Date: Mon Apr 6 12:00:36 2009 +0300 nfsd41: define NFSD_DRC_SIZE_SHIFT in set_max_drc Fixes the following compiler error: fs/nfsd/nfssvc.c: In function 'set_max_drc': fs/nfsd/nfssvc.c:240: error: 'NFSD_DRC_SIZE_SHIFT' undeclared CONFIG_NFSD_V4 is not set Reported-by: Alexander Beregalov Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit abe213d7f6fb87f48f4324320733f666db1bc11b Author: Jean Delvare Date: Mon Apr 6 18:12:25 2009 +0200 i2c: Delete unused i2c-algo-sgi helper module The i2c-algo-sgi code was merged into the vino driver, so we can delete it now. Signed-off-by: Jean Delvare commit 7c8ad4aff0699197469327d0e50d1e48f2ccb39b Author: Jean Delvare Date: Mon Apr 6 18:12:25 2009 +0200 i2c: Delete many unused driver IDs Delete many unused I2C driver IDs. We should be able to get rid of i2c_driver.id pretty soon now. Signed-off-by: Jean Delvare commit e3ee703366da3a4ce80f24b47a5df56cd816c5d6 Author: Jean Delvare Date: Mon Apr 6 18:12:24 2009 +0200 i2c: Deprecate client_register and client_unregister methods The new i2c binding model makes the client_register and client_unregister methods of struct i2c_adapter useless, so we can remove them with the rest of the legacy model. Signed-off-by: Jean Delvare commit 13a7b5dc0d1768c8ae817e43cbe50597090b650a Author: Kristoffer Ericson Date: Wed Feb 18 11:50:43 2009 +0000 backlight: Adds HP Jornada 700 series backlight driver Signed-off-by: Kristoffer Ericson Signed-off-by: Richard Purdie commit 9e124435c772c650457a952b27bcbdb9a95d48d0 Author: Kristoffer Ericson Date: Wed Feb 18 11:47:26 2009 +0000 backlight: Add HP Jornada 700 series LCD driver Signed-off-by: Kristoffer Ericson Signed-off-by: Richard Purdie commit b8cdd877f2cbcc07b5a287b7273a8eaa4c11ad04 Author: Eric Miao Date: Tue Feb 10 13:30:37 2009 +0800 backlight: fix pwm_bl.c when multiple PWM backlights exist When multiple PWMs are used as backlights, the current code uses pdev->name as the backlight name when registering, which will be conflicting, use dev_name() instead. Signed-off-by: Peter Edwards Signed-off-by: Eric Miao Signed-off-by: Richard Purdie commit 1a468ba10c3bdbc25ef7aa7fecda20ee27007bdf Author: Mario Schwalbe Date: Sun Jan 11 00:19:31 2009 +0000 backlight: mbp_nvidia_bl - Add a debug switch This patch adds a debug switch to enable (little) diagnostic output, to help to trace down the remaining problems. Signed-off-by: Mario Schwalbe Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit c78a628849675580c7c5e1f07193c632e4b6827f Author: Mario Schwalbe Date: Sun Jan 11 00:11:34 2009 +0000 backlight: Add support for MacBook 5, MacBook Air 2, and MacBook Pro 5 This patch adds support for the new Apple models incorporating an Nvidia chipset. Apple still uses the same protocol as on older models, but the registers moved to a different address. To do this, two sets of functions are added for the Intel/Nvidia chipset models and passed by the DMI_MATCH function. The initial code has been contributed by Hu Gang . The driver is known to work on MacBook Pro 3, MacBook Pro 4 and MacBook Pro 5. Its known to work with limitations on MacBook 5 / MacBook Air 2. Changing brightness within X doesn't work, if using Nvidia's proprietary graphics driver with no known fix at present. Changing brightness on a text console or using the open-source driver does work. MacBook Pro 5 has a known bug where the initial brightness after bootup is the last recently used brightness (in Mac OSX), while the firmware reports maximum. Impossible to fix. [akpm@linux-foundation.org: build fix] [rpurdie@linux.intel.com: Rebased the patch against latest git] Signed-off-by: Mario Schwalbe Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 67a32ec750109fdfc7cba311145a18d543521822 Author: Felipe Balbi Date: Wed Feb 18 14:05:54 2009 +0200 leds: introduce lp5521 led driver LP5521 is a three channel led driver with support for hardware accelerated patterns (currently used via lp5521-only sysfs interface). Currently, it's used on n810 device. Signed-off-by: Felipe Balbi Signed-off-by: Richard Purdie commit d379ee8acd0719736ee7f1d1ccc3b5765880eaf8 Author: David Brownell Date: Thu Mar 5 16:46:44 2009 -0800 leds: just ignore invalid GPIOs in leds-gpio Sometimes it's awkward to make sure that the array in the platform_data handed to the leds-gpio driver has only valid data ... some leds may not be always available, and coping with that currently requires patching or rebuilding the array. This patch fixes that by making it be OK to pass an invalid GPIO (such as "-EINVAL") ... such table entries are skipped. [rpurdie@linux.intel.com: adjusted to apply against other led tree changes] Signed-off-by: David Brownell Tested-by: Diego Dompe Signed-off-by: Richard Purdie commit 7fbc3a9b132e93b2ba1fd889c1ad8a4135731cc3 Author: Riku Voipio Date: Tue Mar 3 22:13:06 2009 +0200 leds: Fix &&/|| confusion in leds-pca9532.c This fixes the expression in the driver to do the correct thing, not that I think anyone would send SND_* without EV_SND. Thanks to Roel Kluin for noticing. Signed-off-by: Riku Voipio Signed-off-by: Richard Purdie commit b0edba7ef89a64614e40023bf87ed5b402834e04 Author: Uwe Kleine-König Date: Sat Mar 28 00:26:38 2009 +0100 leds: move h1940-leds's probe function to .devinit.text A pointer to h1940leds_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Signed-off-by: Richard Purdie commit bfb2cc48f077017f6224e725886d07d76e3f96db Author: Zhenwen Xu Date: Fri Apr 3 15:35:52 2009 +0100 leds: remove an unnecessary "goto" on drivers/leds/leds-s3c24.c This goto is unnecessary. Signed-off-by: Zhenwen Xu Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 0b56129be72c38179697b7441aacbe133d515ff9 Author: Kim Kyuwon Date: Wed Mar 4 11:59:29 2009 -0800 leds: add BD2802GU LED driver ROHM BD2802GU is a RGB LED controller attached to i2c bus and specifically engineered for decoration purposes. This RGB controller incorporates lighting patterns and illuminates. This driver is designed to minimize power consumption, so when there is no emitting LED, it enters to reset state. And because the BD2802GU has lots of features that can't be covered by the current LED framework, it provides Advanced Configuration Function(ADF) mode, so that user applications can set registers of BD2802GU directly. Here are basic usage examples : ; to turn on LED (not blink) $ echo 1 > /sys/class/leds/led1_R/brightness ; to blink LED $ echo timer > /sys/class/leds/led1_R/trigger $ echo 1 > /sys/class/leds/led1_R/delay_on $ echo 1 > /sys/class/leds/led1_R/delay_off ; to turn off LED $ echo 0 > /sys/class/leds/led1_R/brightness [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Kim Kyuwon Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 95dc5768c9e9ce207319e17bcf7e28288c671d02 Author: Németh Márton Date: Fri Apr 3 07:42:47 2009 +0200 leds: remove experimental flag from leds-clevo-mail The leds-clevo-mail driver is in the mainline kernel since 2.6.25 and works without severe problems. Make this driver available for a larger audience. Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit 700c6ea2242cf04ba3612fa7cf74763fffcc04fd Author: Adam Nielsen Date: Wed Feb 18 08:18:04 2009 +1000 leds: Prevent multiple LED triggers with the same name Signed-off-by: Adam Nielsen Signed-off-by: Richard Purdie commit 17354bfe85275f1bdde7f4a27ebc1ba53e053939 Author: Felipe Balbi Date: Tue Feb 17 13:18:11 2009 +0200 leds: Add gpio-led trigger The gpio led trigger will allow leds to be triggered by gpio events. When we give the led a gpio number, the trigger will request_irq() on that so we don't have to keep polling for gpio state. It's useful for usecases as n810's keypad leds that could be triggered by the gpio event generated when user slides up to show the keypad. We also provide means for userland to tell us what is the desired brightness for that special led when it goes on so userland could use information from ambient light sensors and not set led brightness too high if it's not necessary. Signed-off-by: Felipe Balbi Signed-off-by: Richard Purdie commit ac67e23bed58a0e34a8cb9ecd1de6c78569f8ef2 Author: Phil Sutter Date: Thu Jan 22 19:35:48 2009 +0100 leds: Add rb532 LED driver for the User LED Mikrotik built six LEDs into the Routerboard 532, from which one is destined for custom use, the so called "User LED". This patch adds a driver for it, based on the LEDs class. Signed-off-by: Phil Sutter Acked-by: Florian Fainelli Signed-off-by: Richard Purdie commit defb512d2576992c63ba1c18c24eea31cfeaa26e Author: Richard Purdie Date: Tue Feb 17 15:04:07 2009 +0000 leds: Add suspend/resume state flags to leds-gpio Add an option to preserve LED state when suspending/resuming to the LED gpio driver. Based on a suggestion from Robert Jarzmik. Tested-by: Robert Jarzmik Signed-off-by: Richard Purdie commit 41c42ff5dbe29b7b826e6736f960959c76e7acf0 Author: Luotao Fu Date: Wed Feb 11 13:24:40 2009 -0800 leds: simple driver for pwm driven LEDs Add a simple driver for pwm driver LEDs. pwm_id and period can be defined in board file. It is developed for pxa, however it is probably generic enough to be used on other platforms with pwm. Signed-off-by: Luotao Fu Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit b2bdc3e7130001804f27e7c1254930143119f435 Author: Richard Purdie Date: Mon Feb 2 23:04:42 2009 +0000 leds: Fix leds-gpio driver multiple module_init/exit usage You can't have multiple module_init()/module_exit calls so resort to messy ifdefs potentially pending some code refactoring. Signed-off-by: Richard Purdie commit ac2dd0f110d5ab0359de7786e88e9971954ac7ee Author: Guennadi Liakhovetski Date: Sat Jan 10 18:58:28 2009 +0000 leds: Add dac124s085 driver Add an LED driver using the DAC124S085 DAC from NatSemi [randy.dunlap@oracle.com: use header files for interfaces] Signed-off-by: Guennadi Liakhovetski Signed-off-by: Randy Dunlap Signed-off-by: Richard Purdie commit 1bd465e6b0e2b559db47420fea686507a01cfab0 Author: Guennadi Liakhovetski Date: Sat Jan 10 18:54:39 2009 +0000 leds: allow led-drivers to use a variable range of brightness values This patch allows drivers to override the default maximum brightness value of 255. We take care to preserve backwards-compatibility as much as possible, so that user-space ABI doesn't change for existing drivers. LED trigger code has also been updated to use the per-LED maximum. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Richard Purdie commit a7d878af94b223013a48078e0c8c0a654c24a057 Author: Trent Piepho Date: Sat Jan 10 17:26:01 2009 +0000 leds: Add openfirmware platform device support Add bindings to support LEDs defined as of_platform devices in addition to the existing bindings for platform devices. New options in Kconfig allow the platform binding code and/or the of_platform code to be turned on. The of_platform code is of course only available on archs that have OF support. The existing probe and remove methods are refactored to use new functions create_gpio_led(), to create and register one led, and delete_gpio_led(), to unregister and free one led. The new probe and remove methods for the of_platform driver can then share most of the common probe and remove code with the platform driver. The suspend and resume methods aren't shared, but they are very short. The actual led driving code is the same for LEDs created by either binding. The OF bindings are based on patch by Anton Vorontsov . They have been extended to allow multiple LEDs per device. Signed-off-by: Trent Piepho Acked-by: Grant Likely Acked-by: Sean MacLennan Signed-off-by: Richard Purdie commit 1aa2a7cc6fd7b5c86681a6ae9dfd1072c261a435 Author: Jens Axboe Date: Mon Apr 6 14:48:08 2009 +0200 block: switch sync_dirty_buffer() over to WRITE_SYNC We should now have the logic in place to handle this properly without regressing on the write performance, so re-enable the sync writes. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit aeb6fafb8fa53266d70ca7474fcda2bdaf96524a Author: Jens Axboe Date: Mon Apr 6 14:48:07 2009 +0200 block: Add flag for telling the IO schedulers NOT to anticipate more IO By default, CFQ will anticipate more IO from a given io context if the previously completed IO was sync. This used to be fine, since the only sync IO was reads and O_DIRECT writes. But with more "normal" sync writes being used now, we don't want to anticipate for those. Add a bio/request flag that informs the IO scheduler that this is a sync request that we should not idle for. Introduce WRITE_ODIRECT specifically for O_DIRECT writes, and make sure that the other sync writes set this flag. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 644b2d99b7a8677a56909a7b1fde31677eba4471 Author: Jens Axboe Date: Mon Apr 6 14:48:06 2009 +0200 block: enabling plugging on SSD devices that don't do queuing For the older SSD devices that don't do command queuing, we do want to enable plugging to get better merging. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 4194b1eaf18ddc3eee9597e8800b6d2ffdfd3614 Author: Jens Axboe Date: Mon Apr 6 14:48:05 2009 +0200 jbd2: use WRITE_SYNC_PLUG instead of WRITE_SYNC When you are going to be submitting several sync writes, we want to give the IO scheduler a chance to merge some of them. Instead of using the implicitly unplugging WRITE_SYNC variant, use WRITE_SYNC_PLUG and rely on sync_buffer() doing the unplug when someone does a wait_on_buffer()/lock_buffer(). Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 6c4bac6b3351fd278dc3537dae42f88f733ff12e Author: Jens Axboe Date: Mon Apr 6 14:48:04 2009 +0200 jbd: use WRITE_SYNC_PLUG instead of WRITE_SYNC When you are going to be submitting several sync writes, we want to give the IO scheduler a chance to merge some of them. Instead of using the implicitly unplugging WRITE_SYNC variant, use WRITE_SYNC_PLUG and rely on sync_buffer() doing the unplug when someone does a wait_on_buffer()/lock_buffer(). Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 9cf6b720f84d6999ff9a514d0a939dd183846aaf Author: Jens Axboe Date: Mon Apr 6 14:48:03 2009 +0200 block: fsync_buffers_list() should use SWRITE_SYNC_PLUG Then it can submit all the buffers without unplugging for each one. We will kick off the pending IO if we come across a new address space. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit a1f242524c3c1f5d40f1c9c343427e34d1aadd6e Author: Jens Axboe Date: Mon Apr 6 14:48:02 2009 +0200 Add WRITE_SYNC_PLUG and SWRITE_SYNC_PLUG (S)WRITE_SYNC always unplugs the device right after IO submission. Sometimes we want to build up a queue before doing so, so add variants that explicitly DON'T unplug the queue. The caller must then do that after submitting all the IO. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 1faa16d22877f4839bd433547d770c676d1d964c Author: Jens Axboe Date: Mon Apr 6 14:48:01 2009 +0200 block: change the request allocation/congestion logic to be sync/async based This makes sure that we never wait on async IO for sync requests, instead of doing the split on writes vs reads. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 30bbf1406714cf464c56e96e4ad6a291907f5023 Author: Kay Sievers Date: Tue Mar 24 17:26:10 2009 -0700 [MTD] struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: David Woodhouse commit 504a3e72208fc6a65924426ff5693982590bccdc Author: Darius Augulis Date: Wed Mar 25 11:23:51 2009 +0200 [MTD] [NOR] Fixup for Numonyx M29W128 chips Prevent NUMONYX M29W128G memories from using write buffer, because it doesn't work properly. Signed-off-by: Darius Augulis Signed-off-by: David Woodhouse commit d8877f191e35718ba11a4d46950131e74c40566c Author: Yauhen Kharuzhy Date: Fri Mar 27 00:41:09 2009 +0200 [MTD] mtdpart: Make ecc_stats more realistic. In the existing implementation, ecc_stats fields are incremented only by one, regardless of master mtd errors number. For example, if there are N errors were corrected by ECC, partition ecc_stats.corrected will be incremented by one. This commit changes simple increment to sum of old value and parent mtd error count. Signed-off-by: Yauhen Kharuzhy Signed-off-by: David Woodhouse commit 7995c7e94ff4db2ddb865ab42cc5a2e6abbbd71a Author: Wolfgang Grandegger Date: Mon Mar 30 12:02:45 2009 +0200 powerpc/85xx: TQM8548: Update DTS file for multi-chip support This patch adds multi-chip support for the Micron MT29F8G08FAB NAND flash memory on the TQM8548 modules. Signed-off-by: Wolfgang Grandegger Signed-off-by: David Woodhouse commit 21e9d9456f6022caa80fcd9057035af82091f58f Author: Wolfgang Grandegger Date: Mon Mar 30 12:02:44 2009 +0200 powerpc: NAND: FSL UPM: document new bindings This patch adds documentation for the new NAND FSL UPM bindings for: NAND: FSL-UPM: add multi chip support NAND: FSL-UPM: Add wait flags to support board/chip specific delays It also documents the old binding for "chip-delay". Signed-off-by: Wolfgang Grandegger Acked-by: Anton Vorontsov Signed-off-by: David Woodhouse commit ade92a636f15d7e5b92e2df22e8fcb6c7640cd4f Author: Wolfgang Grandegger Date: Mon Mar 30 12:02:43 2009 +0200 [MTD] [NAND] FSL-UPM: Add wait flags to support board/chip specific delays The NAND flash on the TQM8548_BE modules requires a short delay after running the UPM pattern. The TQM8548_BE requires a further short delay after writing out a buffer. Normally the R/B pin should be checked, but it's not connected on the TQM8548_BE. The existing driver uses similar fixed delay points. To manage these extra delays in a more general way, I introduced the "fsl,ump-wait-flags" property allowing the board- specific driver to specify various types of extra delay. Signed-off-by: Wolfgang Grandegger Acked-by: Anton Vorontsov Signed-off-by: David Woodhouse commit b6e0e8c07754c8aefd6ff3536463fed5f71405a0 Author: Wolfgang Grandegger Date: Mon Mar 30 12:02:42 2009 +0200 [MTD] [NAND] FSL-UPM: add multi chip support This patch adds support for multi-chip NAND devices to the FSL-UPM driver. This requires support for multiple GPIOs for the RNB pins. The NAND chips are selected through address lines defined by the FDT property "fsl,upm-addr-line-cs-offsets". Signed-off-by: Wolfgang Grandegger Acked-by: Anton Vorontsov Signed-off-by: David Woodhouse commit db99a5523175ba15fef4719c722cea11b94911bb Author: David Woodhouse Date: Mon Apr 6 07:15:42 2009 -0700 [MTD] [NOR] Add device parent info to physmap_of Signed-off-by: David Woodhouse commit 1b578193af3b94c3d55d9aaf6b53275b1cb59a41 Author: Wolfgang Grandegger Date: Wed Mar 25 11:48:38 2009 +0100 [MTD] [NAND] Add support for NAND on the Socrates board Signed-off-by: Ilya Yanok Acked-by: Wolfgang Grandegger Signed-off-by: David Woodhouse commit 81ec5364a58c0545b694dee02fe65b9ae48f37b6 Author: Thomas Gleixner Date: Wed Dec 12 17:27:03 2007 +0100 [MTD] [NAND] Add support for 4KiB pages. Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Siewior Signed-off-by: David Woodhouse commit 303a0e11d0ee136ad8f53f747f3c377daece763b Author: NeilBrown Date: Mon Apr 6 14:40:38 2009 +1000 md/raid1 - don't assume newly allocated bvecs are initialised. Since commit d3f761104b097738932afcc310fbbbbfb007ef92 newly allocated bvecs aren't initialised to NULL, so we have to be more careful about freeing a bio which only managed to get a few pages allocated to it. Otherwise the resync process crashes. This patch is appropriate for 2.6.29-stable. Cc: stable@kernel.org Cc: "Jens Axboe" Reported-by: Gabriele Tozzi Signed-off-by: NeilBrown commit 0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c Merge: 48f286a... def5754... Author: Linus Torvalds Date: Sun Apr 5 12:36:11 2009 -0700 Merge branch 'audit.b62' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b62' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: Audit: remove spaces from audit_log_d_path audit: audit_set_auditable defined but not used audit: incorrect ref counting in audit tree tag_chunk audit: Fix possible return value truncation in audit_get_context() audit: ignore terminating NUL in AUDIT_USER_TTY messages Audit: fix handling of 'strings' with NULL characters make the e->rule.xxx shorter in kernel auditfilter.c auditsc: fix kernel-doc notation audit: EXECVE record - removed bogus newline commit 48f286a28fe13fcbc510720fcffb872a184b51dd Merge: ea43179... fa15ce8... Author: Linus Torvalds Date: Sun Apr 5 11:38:37 2009 -0700 Merge branch 'for-next' of git://git.o-hand.com/linux-mfd * 'for-next' of git://git.o-hand.com/linux-mfd: mfd: fix da903x warning mfd: fix MAINTAINERS entry mfd: Use the value of the final spin when reading the AUXADC mfd: Storage class should be before const qualifier mfd: PASIC3: supply clock_rate to DS1WM via driver_data mfd: remove DS1WM clock handling mfd: remove unused PASIC3 bus_shift field pxa/magician: remove deprecated .bus_shift from PASIC3 platform_data mfd: convert PASIC3 to use MFD core mfd: convert DS1WM to use MFD core mfd: Support active high IRQs on WM835x mfd: Use bulk read to fill WM8350 register cache mfd: remove duplicated #include from pcf50633 commit ea431793f198e26d1553f36ed8b5a830b531eee4 Merge: 32fb6c1... 276e79e... Author: Linus Torvalds Date: Sun Apr 5 11:36:31 2009 -0700 Merge branch 'for-linus' of git://repo.or.cz/cris-mirror * 'for-linus' of git://repo.or.cz/cris-mirror: CRISv32: Remove extraneous space between -I and the path. cris: convert obsolete hw_interrupt_type to struct irq_chip BUG to BUG_ON changes cpumask: use mm_cpumask() wrapper: cris cpumask: Use accessors code.: cris cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: cris commit 32fb6c17566ec66de87324a834c7776f40e35e78 Merge: 45e36c1... 7ec0a72... Author: Linus Torvalds Date: Sun Apr 5 11:16:25 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (140 commits) ACPI: processor: use .notify method instead of installing handler directly ACPI: button: use .notify method instead of installing handler directly ACPI: support acpi_device_ops .notify methods toshiba-acpi: remove MAINTAINERS entry ACPI: battery: asynchronous init acer-wmi: Update copyright notice & documentation acer-wmi: Cleanup the failure cleanup handling acer-wmi: Blacklist Acer Aspire One video: build fix thinkpad-acpi: rework brightness support thinkpad-acpi: enhanced debugging messages for the fan subdriver thinkpad-acpi: enhanced debugging messages for the hotkey subdriver thinkpad-acpi: enhanced debugging messages for rfkill subdrivers thinkpad-acpi: restrict access to some firmware LEDs thinkpad-acpi: remove HKEY disable functionality thinkpad-acpi: add new debug helpers and warn of deprecated atts thinkpad-acpi: add missing log levels thinkpad-acpi: cleanup debug helpers thinkpad-acpi: documentation cleanup thinkpad-acpi: drop ibm-acpi alias ... commit 45e36c1666aa6c8b0c538abcf984b336184d8c3f Merge: 87fc94d... 68b42d1... Author: Linus Torvalds Date: Sun Apr 5 11:15:54 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits) sh: sh7785lcr: Map whole PCI address space. sh: Fix up DSP context save/restore. sh: Fix up number of on-chip DMA channels on SH7091. sh: update defconfigs. sh: Kill off broken direct-mapped cache mode. sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle. sh: Add a command line option for disabling I/O trapping. sh: Select ARCH_HIBERNATION_POSSIBLE. sh: migor: Fix up CEU use flags. input: migor_ts: add wakeup support rtc: rtc-sh: use set_irq_wake() input: sh_keysc: use enable/disable_irq_wake() sh: intc: set_irq_wake() support sh: intc: install enable, disable and shutdown callbacks clocksource: sh_cmt: use remove_irq() and remove clockevent workaround sh: ap325 and Migo-R use new sh_mobile_ceu_info flags sh: Fix up -Wformat-security whining. sh: ap325rxa: Add ov772x support, again. sh: Sanitize asm/mmu.h for assembly use. sh: Tidy up sh7786 pinmux table. ... commit 87fc94d54b639d8c39fc4a11db0e142f84096e13 Merge: 3516c6a... 8e706c4... Author: Linus Torvalds Date: Sun Apr 5 11:15:28 2009 -0700 Merge branch 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: add hardware handshake support to atmel_serial avr32: add RTS/CTS/CLK pin selection for the USARTs Add RTC support for Merisc boards avr32: at32ap700x: setup DMA for AC97C in the machine code avr32: at32ap700x: setup DMA for ABDAC in the machine code Add Merisc board support avr32: use gpio_is_valid() to check USBA vbus_pin I/O line atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line avr32: fix timing LCD parameters for EVKLCD10X boards avr32: use GPIO line PB15 on EVKLCD10x boards for backlight avr32: configure MCI detect and write protect pins for EVKLCD10x boards avr32: set pin mask to alternative 18 bpp for EVKLCD10x boards avr32: add pin mask for 18-bit color on the LCD controller avr32: fix 15-bit LCDC pin mask to use MSB lines commit 3516c6a8dc0b1153c611c4cf0dc4a51631f052bb Merge: 714f83d... ba0e1eb... Author: Linus Torvalds Date: Sun Apr 5 11:06:45 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (714 commits) Staging: sxg: slicoss: Specify the license for Sahara SXG and Slicoss drivers Staging: serqt_usb: fix build due to proc tty changes Staging: serqt_usb: fix checkpatch errors Staging: serqt_usb: add TODO file Staging: serqt_usb: Lindent the code Staging: add USB serial Quatech driver staging: document that the wifi staging drivers a bit better Staging: echo cleanup Staging: BUG to BUG_ON changes Staging: remove some pointless conditionals before kfree_skb() Staging: line6: fix build error, select SND_RAWMIDI Staging: line6: fix checkpatch errors in variax.c Staging: line6: fix checkpatch errors in toneport.c Staging: line6: fix checkpatch errors in pcm.c Staging: line6: fix checkpatch errors in midibuf.c Staging: line6: fix checkpatch errors in midi.c Staging: line6: fix checkpatch errors in dumprequest.c Staging: line6: fix checkpatch errors in driver.c Staging: line6: fix checkpatch errors in audio.c Staging: line6: fix checkpatch errors in pod.c ... commit 714f83d5d9f7c785f622259dad1f4fad12d64664 Merge: 8901e7f... 645dae9... Author: Linus Torvalds Date: Sun Apr 5 11:04:19 2009 -0700 Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits) tracing, net: fix net tree and tracing tree merge interaction tracing, powerpc: fix powerpc tree and tracing tree interaction ring-buffer: do not remove reader page from list on ring buffer free function-graph: allow unregistering twice trace: make argument 'mem' of trace_seq_putmem() const tracing: add missing 'extern' keywords to trace_output.h tracing: provide trace_seq_reserve() blktrace: print out BLK_TN_MESSAGE properly blktrace: extract duplidate code blktrace: fix memory leak when freeing struct blk_io_trace blktrace: fix blk_probes_ref chaos blktrace: make classic output more classic blktrace: fix off-by-one bug blktrace: fix the original blktrace blktrace: fix a race when creating blk_tree_root in debugfs blktrace: fix timestamp in binary output tracing, Text Edit Lock: cleanup tracing: filter fix for TRACE_EVENT_FORMAT events ftrace: Using FTRACE_WARN_ON() to check "freed record" in ftrace_release() x86: kretprobe-booster interrupt emulation code fix ... Fix up trivial conflicts in arch/parisc/include/asm/ftrace.h include/linux/memory.h kernel/extable.c kernel/module.c commit def57543418a5f47debae28a0a9dea2effc11692 Author: Eric Paris Date: Tue Mar 10 18:00:14 2009 -0400 Audit: remove spaces from audit_log_d_path audit_log_d_path had spaces in the strings which would be emitted on the error paths. This patch simply replaces those spaces with an _ or removes the needless spaces entirely. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 679173b724631f49e537a15fa48ea2000bdc1808 Author: Eric Paris Date: Mon Jan 26 18:09:45 2009 -0500 audit: audit_set_auditable defined but not used after 0590b9335a1c72a3f0defcc6231287f7817e07c8 audit_set_auditable() is now only used by the audit tree code. If CONFIG_AUDIT_TREE is unset it will be defined but unused. This patch simply moves the function inside a CONFIG_AUDIT_TREE block. cc1: warnings being treated as errors /home/acme_unencrypted/git/linux-2.6-tip/kernel/auditsc.c:745: error: ‘audit_set_auditable’ defined but not used make[2]: *** [kernel/auditsc.o] Error 1 make[1]: *** [kernel] Error 2 make[1]: *** Waiting for unfinished jobs.... Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 318b6d3d7ddbcad3d6867e630711b8a705d873d7 Author: Eric Paris Date: Tue Jan 13 17:32:40 2009 -0500 audit: incorrect ref counting in audit tree tag_chunk tag_chunk has bad exit paths in which the inotify ref counting is wrong. At the top of the function we found &old_watch using inotify_find_watch(). inotify_find_watch takes a reference to the watch. This is never dropped on an error path. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 6d208da89aabee8502debe842832ca0ab298d16d Author: Paul Moore Date: Wed Apr 1 15:47:27 2009 -0400 audit: Fix possible return value truncation in audit_get_context() The audit subsystem treats syscall return codes as type long, unfortunately the audit_get_context() function mistakenly converts the return code to an int type in the parameters which could cause problems on systems where the sizeof(int) != sizeof(long). Signed-off-by: Paul Moore Signed-off-by: Al Viro commit 55ad2f8d340678397de5916b9cd960f17ebd7150 Author: Miloslav Trmac Date: Thu Mar 19 09:52:47 2009 -0400 audit: ignore terminating NUL in AUDIT_USER_TTY messages AUDIT_USER_TTY, like all other messages sent from user-space, is sent NUL-terminated. Unlike other user-space audit messages, which come only from trusted sources, AUDIT_USER_TTY messages are processed using audit_log_n_untrustedstring(). This patch modifies AUDIT_USER_TTY handling to ignore the trailing NUL and use the "quoted_string" representation of the message if possible. Signed-off-by: Miloslav Trmac Cc: Eric Paris Cc: Al Viro Cc: Steve Grubb Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit b3897f567100d18e0597f638b911d23aa5e0dd23 Author: Miloslav Trmac Date: Thu Mar 19 09:48:27 2009 -0400 Audit: fix handling of 'strings' with NULL characters currently audit_log_n_untrustedstring() uses audit_string_contains_control() to check if the 'string' has any control characters. If the 'string' has an embedded NULL audit_string_contains_control() will return that the data has no control characters and will then pass the string to audit_log_n_string with the total length, not the length up to the first NULL. audit_log_n_string() does a memcpy of the entire length and so the actual audit record emitted may then contain a NULL and then whatever random memory is after the NULL. Since we want to log the entire octet stream (if we can't trust the data to be a string we can't trust that a NULL isn't actually a part of it) we should just consider NULL as a control character. If the caller is certain they want to stop at the first NULL they should be using audit_log_untrustedstring. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit c28bb7da74ab74a2860d652493aaff7de104d79e Author: Zhenwen Xu Date: Thu Mar 12 22:16:12 2009 +0800 make the e->rule.xxx shorter in kernel auditfilter.c make the e->rule.xxx shorter in kernel/auditfilter.c -- --------------------------------- Zhenwen Xu - Open and Free Home Page: http://zhwen.org My Studio: http://dim4.cn >From 99692dc640b278f1cb1a15646ce42f22e89c0f77 Mon Sep 17 00:00:00 2001 From: Zhenwen Xu Date: Thu, 12 Mar 2009 22:04:59 +0800 Subject: [PATCH] make the e->rule.xxx shorter in kernel/auditfilter.c Signed-off-by: Zhenwen Xu Signed-off-by: Al Viro commit 6b96255998053a89f45c0855de954b71f5c3887b Author: Randy Dunlap Date: Mon Jan 5 13:41:13 2009 -0800 auditsc: fix kernel-doc notation Fix auditsc kernel-doc notation: Warning(linux-2.6.28-git7//kernel/auditsc.c:2156): No description found for parameter 'attr' Warning(linux-2.6.28-git7//kernel/auditsc.c:2156): Excess function parameter 'u_attr' description in '__audit_mq_open' Warning(linux-2.6.28-git7//kernel/auditsc.c:2204): No description found for parameter 'notification' Warning(linux-2.6.28-git7//kernel/auditsc.c:2204): Excess function parameter 'u_notification' description in '__audit_mq_notify' Signed-off-by: Randy Dunlap cc: Al Viro cc: Eric Paris Signed-off-by: Al Viro commit ca96a895a6bae7efe7b11a35d9f43e6228467562 Author: Jiri Pirko Date: Fri Jan 9 16:44:16 2009 +0100 audit: EXECVE record - removed bogus newline (updated) Added hunk that changes the comment, the rest is the same. EXECVE records contain a newline after every argument. auditd converts "\n" to " " so you cannot see newlines even in raw logs, but they're there nevertheless. If you're not using auditd, you need to work round them. These '\n' chars are can be easily replaced by spaces when creating record in kernel. Note there is no need for trailing '\n' in an audit record. record before this patch: "type=EXECVE msg=audit(1231421801.566:31): argc=4 a0=\"./test\"\na1=\"a\"\na2=\"b\"\na3=\"c\"\n" record after this patch: "type=EXECVE msg=audit(1231421801.566:31): argc=4 a0=\"./test\" a1=\"a\" a2=\"b\" a3=\"c\"" Signed-off-by: Jiri Pirko Acked-by: Eric Paris Signed-off-by: Al Viro commit 8901e7ffc2fa78ede7ce9826dbad68a3a25dc2dc Merge: 90975ef... 1359096... Author: Linus Torvalds Date: Sun Apr 5 10:35:44 2009 -0700 Merge branch 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: bzip2/lzma: quiet Kconfig warning for INITRAMFS_COMPRESSION_NONE commit 90975ef71246c5c688ead04e8ff6f36dc92d28b3 Merge: cab4e4c... 558f6ab... Author: Linus Torvalds Date: Sun Apr 5 10:33:07 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits) cpumask: remove cpumask allocation from idle_balance, fix numa, cpumask: move numa_node_id default implementation to topology.h, fix cpumask: remove cpumask allocation from idle_balance x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus x86: cpumask: update 32-bit APM not to mug current->cpus_allowed x86: microcode: cleanup x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash numa, cpumask: move numa_node_id default implementation to topology.h cpumask: convert node_to_cpumask_map[] to cpumask_var_t cpumask: remove x86 cpumask_t uses. cpumask: use cpumask_var_t in uv_flush_tlb_others. cpumask: remove cpumask_t assignment from vector_allocation_domain() cpumask: make Xen use the new operators. cpumask: clean up summit's send_IPI functions cpumask: use new cpumask functions throughout x86 x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask cpumask: convert struct cpuinfo_x86's llc_shared_map to cpumask_var_t cpumask: convert node_to_cpumask_map[] to cpumask_var_t x86: unify 32 and 64-bit node_to_cpumask_map ... commit cab4e4c43f92582a2bfc026137b3d8a175bd0360 Merge: 5412b53... 4950267... Author: Linus Torvalds Date: Sun Apr 5 10:30:21 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param: module: use strstarts() strstarts: helper function for !strncmp(str, prefix, strlen(prefix)) arm: allow usage of string functions in linux/string.h module: don't use stop_machine on module load module: create a request_module_nowait() module: include other structures in module version check module: remove the SHF_ALLOC flag on the __versions section. module: clarify the force-loading taint message. module: Export symbols needed for Ksplice Ksplice: Add functions for walking kallsyms symbols module: remove module_text_address() module: __module_address module: Make find_symbol return a struct kernel_symbol kernel/module.c: fix an unused goto label param: fix charp parameters set via sysfs Fix trivial conflicts in kernel/extable.c manually. commit 5412b5399e095730008a14f2107331b2123733e4 Merge: e4c393f... 337fff8... Author: Linus Torvalds Date: Sun Apr 5 10:26:36 2009 -0700 Merge branch 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debugobjects: delay free of internal objects debugobjects: replace static objects when slab cache becomes available debug_objects: add boot-parameter toggle to turn object debugging off again commit e4c393fd551654179c46b65e4a70ea20d831c783 Merge: 0a053e8... 38a6ed3... Author: Linus Torvalds Date: Sun Apr 5 10:23:25 2009 -0700 Merge branch 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: printk: correct the behavior of printk_timed_ratelimit() vsprintf: unify the format decoding layer for its 3 users, cleanup fix regression from "vsprintf: unify the format decoding layer for its 3 users" vsprintf: fix bug in negative value printing vsprintf: unify the format decoding layer for its 3 users vsprintf: add binary printf printk: introduce printk_once() Fix trivial conflicts (printk_once vs log_buf_kexec_setup() added near each other) in include/linux/kernel.h. commit 0a053e8c71d666daf30da2d407147b1293923d8b Merge: 601cc11... 32ab83a... Author: Linus Torvalds Date: Sun Apr 5 10:18:21 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (42 commits) atmel-mci: fix sdc_reg typo tmio_mmc: add maintainer mmc: Add OpenFirmware bindings for SDHCI driver sdhci: Add quirk for forcing maximum block size to 2048 bytes sdhci: Add quirk for controllers that need IRQ re-init after reset sdhci: Add quirk for controllers that need small delays for PIO sdhci: Add set_clock callback and a quirk for nonstandard clocks sdhci: Add get_{max,timeout}_clock callbacks sdhci: Add support for hosts reporting inverted write-protect state sdhci: Add support for card-detection polling sdhci: Enable only relevant (DMA/PIO) interrupts during transfers sdhci: Split card-detection IRQs management from sdhci_init() sdhci: Add support for bus-specific IO memory accessors mmc_spi: adjust for delayed data token response omap_hsmmc: Wait for SDBP omap_hsmmc: Fix MMC3 dma omap_hsmmc: Disable SDBP at suspend omap_hsmmc: Do not prefix slot name omap_hsmmc: Allow cover switch to cause rescan omap_hsmmc: Add 8-bit bus width mode support ... commit 7ec0a7290797f57b780f792d12f4bcc19c83aa4f Author: Bjorn Helgaas Date: Mon Mar 30 17:48:24 2009 +0000 ACPI: processor: use .notify method instead of installing handler directly This patch adds a .notify() method. The presence of .notify() causes Linux/ACPI to manage event handlers and notify handlers on our behalf, so we don't have to install and remove them ourselves. Signed-off-by: Bjorn Helgaas CC: Zhang Rui CC: Zhao Yakui CC: Venki Pallipadi CC: Anil S Keshavamurthy Signed-off-by: Len Brown commit 373cfc360ec773be2f7615e59a19f3313255db7c Author: Bjorn Helgaas Date: Mon Mar 30 17:48:18 2009 +0000 ACPI: button: use .notify method instead of installing handler directly This patch adds a .notify() method. The presence of .notify() causes Linux/ACPI to manage event handlers and notify handlers on our behalf, so we don't have to install and remove them ourselves. Note that events from fixed hardware buttons now show up as a special notify event, so to preserve user-space backward compatibility, we convert that back to ACPI_BUTTON_NOTIFY_STATUS. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang CC: Alexey Starikovskiy Signed-off-by: Len Brown commit 46ec8598fde74ba59703575c22a6fb0b6b151bb6 Author: Bjorn Helgaas Date: Mon Mar 30 17:48:13 2009 +0000 ACPI: support acpi_device_ops .notify methods This patch adds support for ACPI device driver .notify() methods. If such a method is present, Linux/ACPI installs a handler for device notifications (but not for system notifications such as Bus Check, Device Check, etc). When a device notification occurs, Linux/ACPI passes it on to the driver's .notify() method. In most cases, this removes the need for drivers to install their own handlers for device-specific notifications. For fixed hardware devices like some power and sleep buttons, there's no notification value because there's no control method to execute a Notify opcode. When a fixed hardware device generates an event, we handle it the same as a regular device notification, except we send a ACPI_FIXED_HARDWARE_EVENT value. This is outside the normal 0x0-0xff range used by Notify opcodes. Several drivers install their own handlers for system Bus Check and Device Check notifications so they can support hot-plug. This patch doesn't affect that usage. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Signed-off-by: Len Brown commit 478c6a43fcbc6c11609f8cee7c7b57223907754f Merge: 8a3f257... 6bb5975... Author: Len Brown Date: Sun Apr 5 02:14:15 2009 -0400 Merge branch 'linus' into release Conflicts: arch/x86/kernel/cpu/cpufreq/longhaul.c Signed-off-by: Len Brown commit 8a3f257c704e02aee9869decd069a806b45be3f1 Merge: 33526a5... 1506553... Author: Len Brown Date: Sun Apr 5 01:52:07 2009 -0400 Merge branch 'misc' into release commit 33526a53600ac887d100e3c9b4be3637ac8ae3a5 Merge: 47ae106... 786c221... Author: Len Brown Date: Sun Apr 5 01:51:51 2009 -0400 Merge branch 'x2apic' into release commit 47ae106d3f37e1fd715975eaf8130e20e171cf52 Merge: 2e33b23... 6328a57... Author: Len Brown Date: Sun Apr 5 01:51:38 2009 -0400 Merge branch 'pnpacpi' into release commit 2e33b234abbb9a77806115d30c3084992a98973c Merge: e2fae0a... 0b3f610... Author: Len Brown Date: Sun Apr 5 01:51:22 2009 -0400 Merge branch 'dell-wmi' into release commit e2fae0abf6a9c7a2da1a481b7adb4e24f7778992 Merge: fff251f... c07c9a7... Author: Len Brown Date: Sun Apr 5 01:51:16 2009 -0400 Merge branch 'constify' into release commit fff251f6b26bb8f4de15fa5906cf2611623b3661 Merge: 3b4dadf... a5032bf... 34ff4db... Author: Len Brown Date: Sun Apr 5 01:51:10 2009 -0400 Merge branches 'bugzilla-12461' and 'bugzilla-9998' into release commit 3b4dadf05d177289c279c50030c7c75e004952bb Merge: 59b17bf... 7e90560... Author: Len Brown Date: Sun Apr 5 01:50:46 2009 -0400 Merge branch 'acpi_enforce_resources' into release commit 59b17bf6ea06abed519dfc788fff1b6b9499d23f Merge: edd8469... 0f66af5... Author: Len Brown Date: Sun Apr 5 01:48:46 2009 -0400 Merge branch 'async-battery' into release Conflicts: drivers/acpi/Makefile Signed-off-by: Len Brown commit edd84690d15e4cb144cc60b754d4eaf8fac0a711 Merge: 7c27fd1... ae7d515... Author: Len Brown Date: Sun Apr 5 01:45:50 2009 -0400 Merge branch 'acpi-modparam' into release Conflicts: drivers/acpi/Makefile Signed-off-by: Len Brown commit 7c27fd19b6d985957424348361afa066ff4c74d8 Merge: 336d63b... 16dd55f... Author: Len Brown Date: Sun Apr 5 01:42:14 2009 -0400 Merge branch 'sony-laptop' into release commit 336d63b8a3cadc1c678f4b16d6105633c7f6af75 Merge: 07290be... 0e50183... Author: Len Brown Date: Sun Apr 5 01:42:09 2009 -0400 Merge branch 'thinkpad-acpi' into release commit 07290bed7968c0e08fb3efe193fb148f1fea5e08 Merge: 1264881... 4f0175d... Author: Len Brown Date: Sun Apr 5 01:42:03 2009 -0400 Merge branch 'acer' into release commit 12648810506eaa063dc23b66514fbb4796f34312 Merge: 7329e93... 03ae61d... Author: Len Brown Date: Sun Apr 5 01:40:06 2009 -0400 Merge branch 'video' into release Conflicts: drivers/acpi/video.c Signed-off-by: Len Brown commit 7329e9356e5b46e11a1781dff2dc64c2e3284884 Merge: 3266d63... e1eb477... Author: Len Brown Date: Sun Apr 5 01:39:33 2009 -0400 Merge branch 'psd' into release commit 3266d63c0684138f4900d4e5c6fbfab59e054afc Merge: 4926a23... 7faa144... Author: Len Brown Date: Sun Apr 5 01:39:26 2009 -0400 Merge branch 'battery' into release commit 4926a236396ffc82be004cc89223a7f2747a44dc Merge: 4f3bff7... 4c395bd... Author: Len Brown Date: Sun Apr 5 01:39:20 2009 -0400 Merge branch 'hp-wmi' into release commit 4f3bff70a64b105921dac8630bc4381567b21ebd Merge: 2ddb9f1... 03a971a... Author: Len Brown Date: Sun Apr 5 01:39:12 2009 -0400 Merge branch 'thermal' into release commit 2ddb9f17ba026122b53b34fb4182ece91e24cf92 Merge: a3b2c5e... ff69f2b... Author: Len Brown Date: Sun Apr 5 01:39:07 2009 -0400 Merge branch 'pmtimer-overflow' into release commit a3b2c5e413ce500d19cb776662ae0ea405cdd994 Merge: 4938370... 4658e4e... Author: Len Brown Date: Sun Apr 5 01:39:00 2009 -0400 Merge branch 'dynamic-ssdt' into release commit 493837009665a5ea1d91ed5fe4bab0ed546cae86 Merge: e857b33... 8308e8a... Author: Len Brown Date: Sun Apr 5 01:38:51 2009 -0400 Merge branch 'driver-ops-cleanup' into release commit e857b33d1879fc4284e3151222eee2415c1de88a Merge: 9a38f4e... 1c48aa3... Author: Len Brown Date: Sun Apr 5 01:38:42 2009 -0400 Merge branch 'bjorn-cleanups' into release commit 9a38f4eec57cc5104b6a85bc6d0a91b268fbe803 Merge: 67dc092... 018f452... Author: Len Brown Date: Sun Apr 5 01:38:31 2009 -0400 Merge branch 'bjorn-initcall-cleanup' into release commit 15065531c1c5902775ae3ade24eb37d0e688353b Author: Johannes Berg Date: Mon Mar 30 12:02:35 2009 +0200 toshiba-acpi: remove MAINTAINERS entry "I'm not much opposed to marking this driver orphaned. I haven't used a Toshiba laptop in four years or so, and disagree with the recent additions of bluetooth and wireless control to the driver. --John" Signed-off-by: Johannes Berg Acked-by: John Belmonte Signed-off-by: Len Brown commit fa15ce8ad59e9653d50b8596596cb02d3566d4aa Author: Samuel Ortiz Date: Tue Mar 31 12:27:21 2009 +0200 mfd: fix da903x warning The da903x interrupt handler is retruning an int instead of an irqreturn_t. Signed-off-by: Samuel Ortiz commit 895d9f0f15ff6b2d20bfbdc2b8205d1791437294 Author: Samuel Ortiz Date: Mon Mar 23 00:46:18 2009 +0100 mfd: fix MAINTAINERS entry The MFD git repo is living on kernel.org, and patches should be sent at sameo@linux.intel.com. Signed-off-by: Samuel Ortiz commit f3df0b7533ccad7bb3ef25383fea9c990b0033a2 Author: Mark Brown Date: Sun Mar 1 20:11:58 2009 +0100 mfd: Use the value of the final spin when reading the AUXADC Reverse the order of the tests for loop exit so we use a valid value before we time out. Vanishingly unlikely to happen since we retry for several times the expected conversion time. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 3446d4bb93b4d8c7c5b667dd0271669f012fb166 Author: Tobias Klauser Date: Tue Feb 17 10:11:42 2009 +0100 mfd: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Samuel Ortiz commit 47c10edd715d420cabd8622a4a458e9ac755b24d Author: Philipp Zabel Date: Tue Feb 17 10:09:44 2009 +0100 mfd: PASIC3: supply clock_rate to DS1WM via driver_data Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 7d33ccbeecd8393cc690cf9a71008236cdd7cc2c Author: Philipp Zabel Date: Tue Feb 17 10:09:19 2009 +0100 mfd: remove DS1WM clock handling This driver requests a clock that usually is supplied by the MFD in which the DS1WM is contained. Currently, it is impossible for a MFD to register their clocks with the generic clock API due to different implementations across architectures. For now, this patch removes the clock handling from DS1WM altogether, trusting that the MFD enable/disable functions will switch the clock if needed. The clock rate is obtained from a new parameter in driver_data. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit b72019dbd126e60bb5f9f350f76127b1527facba Author: Philipp Zabel Date: Tue Feb 17 10:06:52 2009 +0100 mfd: remove unused PASIC3 bus_shift field Removes the now-unused bus_shift field from pasic3_platform_data. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 0ef2067d0fdb0572bd0df288d1d32e27c929d824 Author: Philipp Zabel Date: Tue Feb 17 10:06:48 2009 +0100 pxa/magician: remove deprecated .bus_shift from PASIC3 platform_data The PASIC3 driver now calculates its register spacing from the resource size. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 0254a8f496f9c939d4068613ace4ffd0d9e6ece2 Author: Philipp Zabel Date: Tue Feb 17 10:06:45 2009 +0100 mfd: convert PASIC3 to use MFD core This patch makes htc-pasic3 register the DS1WM and LED cell drivers through the MFD core infrastructure instead of allocating the platform devices manually. It also calculates the bus_shift parameter from the memory resource size. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit a23a175795cdb202619ac176129b2f0c2a5c9456 Author: Philipp Zabel Date: Tue Feb 17 10:06:41 2009 +0100 mfd: convert DS1WM to use MFD core This patch converts the DS1WM driver into an MFD cell. It also calculates the bus_shift parameter from the memory resource size. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 3206450355100eae8e033645318b95bb60f1faff Author: Mark Brown Date: Fri Feb 6 15:27:13 2009 +0100 mfd: Support active high IRQs on WM835x Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 9dfd338198bec67ebc82ed363078f9d8aa74ec3e Author: Mark Brown Date: Wed Feb 4 22:43:55 2009 +0100 mfd: Use bulk read to fill WM8350 register cache Some I2C controllers have high overheads for setting up I2C operations which makes the register cache setup on startup excessively slow since it does a lot of small transactions. Reduce this overhead by doing a bulk read of the entire register bank and filtering out what we don't need later. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 22e2df7d5ff50e5a62d4945b13c83525a2617ef5 Author: Huang Weiyi Date: Wed Feb 4 22:43:28 2009 +0100 mfd: remove duplicated #include from pcf50633 Removed duplicated #include in drivers/mfd/pcf50633-core.c Signed-off-by: Huang Weiyi Signed-off-by: Samuel Ortiz commit 45b09076149f1360e15919ca7e004e8d3810a0f7 Author: Kevin Cernekee Date: Sat Apr 4 11:03:04 2009 -0700 [MTD] sysfs support should not depend on CONFIG_PROC_FS Move the driver model init code out of the "#ifdef CONFIG_PROC_FS" block. Tested with both values of CONFIG_PROC_FS . Tested with CONFIG_MTD=m . Issue was reported here: http://lkml.org/lkml/2009/4/4/107 Signed-off-by: Kevin Cernekee Signed-off-by: David Woodhouse commit 601cc11d054ae4b5e9b5babec3d8e4667a2cb9b5 Author: Linus Torvalds Date: Fri Apr 3 08:03:22 2009 -0700 Make non-compat preadv/pwritev use native register size Instead of always splitting the file offset into 32-bit 'high' and 'low' parts, just split them into the largest natural word-size - which in C terms is 'unsigned long'. This allows 64-bit architectures to avoid the unnecessary 32-bit shifting and masking for native format (while the compat interfaces will obviously always have to do it). This also changes the order of 'high' and 'low' to be "low first". Why? Because when we have it like this, the 64-bit system calls now don't use the "pos_high" argument at all, and it makes more sense for the native system call to simply match the user-mode prototype. This results in a much more natural calling convention, and allows the compiler to generate much more straightforward code. On x86-64, we now generate testq %rcx, %rcx # pos_l js .L122 #, movq %rcx, -48(%rbp) # pos_l, pos from the C source loff_t pos = pos_from_hilo(pos_h, pos_l); ... if (pos < 0) return -EINVAL; and the 'pos_h' register isn't even touched. It used to generate code like mov %r8d, %r8d # pos_low, pos_low salq $32, %rcx #, tmp71 movq %r8, %rax # pos_low, pos.386 orq %rcx, %rax # tmp71, pos.386 js .L122 #, movq %rax, -48(%rbp) # pos.386, pos which isn't _that_ horrible, but it does show how the natural word size is just a more sensible interface (same arguments will hold in the user level glibc wrapper function, of course, so the kernel side is just half of the equation!) Note: in all cases the user code wrapper can again be the same. You can just do #define HALF_BITS (sizeof(unsigned long)*4) __syscall(PWRITEV, fd, iov, count, offset, (offset >> HALF_BITS) >> HALF_BITS); or something like that. That way the user mode wrapper will also be nicely passing in a zero (it won't actually have to do the shifts, the compiler will understand what is going on) for the last argument. And that is a good idea, even if nobody will necessarily ever care: if we ever do move to a 128-bit lloff_t, this particular system call might be left alone. Of course, that will be the least of our worries if we really ever need to care, so this may not be worth really caring about. [ Fixed for lost 'loff_t' cast noticed by Andrew Morton ] Acked-by: Gerd Hoffmann Cc: H. Peter Anvin Cc: Andrew Morton Cc: linux-api@vger.kernel.org Cc: linux-arch@vger.kernel.org Cc: Ingo Molnar Cc: Ralf Baechle > Cc: Al Viro Signed-off-by: Linus Torvalds commit 0f66af530116e9f4dd97f328d91718b56a6fc5a4 Author: Arjan van de Ven Date: Sat Jan 10 14:19:05 2009 -0500 ACPI: battery: asynchronous init The battery driver tends to take quite some time to initialize (100ms-300ms is quite typical). This patch initializes the batter driver asynchronously, so that other things in the kernel can initialize in parallel to this 300 msec. As part of this, the battery driver had to move to the back of the ACPI init order (hence the Makefile change). Without this move, the next ACPI driver would just block on the ACPI/devicee layer semaphores until the battery driver was done anyway, not gaining any boot time. Signed-off-by: Arjan van de Ven Signed-off-by: Len Brown commit 4f0175dc13a57cb5d2abef44eb4394b0b964bdad Author: Carlos Corbacho Date: Sat Apr 4 09:33:39 2009 +0100 acer-wmi: Update copyright notice & documentation Explicitly note in the documentation that the Acer Aspire One is not supported. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 350e32907cf72ef82bbe7d72525fa2d9dcf64682 Author: Andy Whitcroft Date: Sat Apr 4 09:33:34 2009 +0100 acer-wmi: Cleanup the failure cleanup handling Cleanup the failure cleanup handling for brightness and email led. [cc: Split out from another patch] Signed-off-by: Andy Whitcroft Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit a74dd5fdabcd34c93e17e9c7024eeb503c92b048 Author: Carlos Corbacho Date: Sat Apr 4 09:33:29 2009 +0100 acer-wmi: Blacklist Acer Aspire One The Aspire One's ACPI-WMI interface is a placeholder that does nothing, and the invalid results that we get from it are now causing userspace problems as acer-wmi always returns that the rfkill is enabled (i.e. the radio is off, when it isn't). As it's hardware controlled, acer-wmi isn't needed on the Aspire One either. Thanks to Andy Whitcroft at Canonical for tracking down Ubuntu's userspace issues to this. Signed-off-by: Carlos Corbacho Reported-by: Andy Whitcroft Cc: stable@kernel.org Signed-off-by: Len Brown commit 68b42d1b548be1840aff7122fdebeb804daf0fa3 Author: Takashi Yoshii Date: Thu Apr 2 09:03:30 2009 +0000 sh: sh7785lcr: Map whole PCI address space. PCI still doesn't work on sh7785lcr 29bit 256M map mode. On SH7785, PCI -> SHwy address translation is not base+offset but somewhat like base|offset (See HW Manual (rej09b0261) Fig. 13.11). So, you can't export CS2,3,4,5 by 256M at CS2 (results CS0,1,2,3 exported, I guess). There are two candidates. a) 128M@CS2 + 128M@CS4 b) 512M@CS0 Attached patch is B. It maps 512M Byte at 0 independently of memory size. It results CS0 to CS6 and perhaps some more being accessible from PCI. Tested on 7785lcr 29bit 128M map 7785lcr 29bit 256M map (NOT tested on 32bit) Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit 01ab10393c510342ec4ce85df11ccfa3df06bbb2 Author: Michael Trimarchi Date: Fri Apr 3 17:32:33 2009 +0000 sh: Fix up DSP context save/restore. There were a number of issues with the DSP context save/restore code, mostly left-over relics from when it was introduced on SH3-DSP with little follow-up testing, resulting in things like task_pt_dspregs() referencing incorrect state on the stack. This follows the MIPS convention of tracking the DSP state in the thread_struct and handling the state save/restore in switch_to() and finish_arch_switch() respectively. The regset interface is also updated, which allows us to finally be rid of task_pt_dspregs() and the special cased task_pt_regs(). Signed-off-by: Michael Trimarchi Signed-off-by: Paul Mundt commit a27873cd234b4248dda342721d6262943e5fa235 Author: Paul Mundt Date: Sat Apr 4 11:40:22 2009 -0400 sh: Fix up number of on-chip DMA channels on SH7091. This accidentally regressed when the multi-IRQ changes went in, switching SH7091 from 4 to 6 channels. Add SH7091 back in to the 4-channel dependency list. Reported-by: Adrian McMenamin Signed-off-by: Paul Mundt commit c451c7c4c9c4f59c7808a7d397d32bef160c14d9 Author: David Woodhouse Date: Sat Apr 4 15:27:45 2009 +0100 [MTD] [NAND] Add parent info for CAFÉ controller Signed-off-by: David Woodhouse commit 87f39f0493edf7051b1b87c6e9eb7f9a74be8e85 Author: David Brownell Date: Thu Mar 26 00:42:50 2009 -0700 [MTD] support driver model updates Follow-on patch to the previous driver model patch for the MTD framework. This one makes various MTD drivers connect to the driver model tree, so /sys/devices/virtual/mtd/* nodes are no longer present ... mostly drivers used on boards I have handy. Based on a patch from Kay Sievers. Signed-off-by: David Brownell Signed-off-by: David Woodhouse commit 694bb7fc19c6b87e106f4c85a2707072e2f111a0 Author: Kevin Cernekee Date: Fri Apr 3 13:00:45 2009 -0700 [MTD] driver model updates (part 2) 1) Add more sysfs attributes: flags, size, erasesize, writesize, oobsize, numeraseregions, name 2) Move core_initcall() code into init_mtd(). The original approach does not work if CONFIG_MTD=m . 3) Add device_unregister() in del_mtd_device() so that devices get removed from sysfs as each driver is unloaded. Signed-off-by: Kevin Cernekee Signed-off-by: David Woodhouse commit 1f24b5a8ecbb2a3c7080f418974d40e3ffedb221 Author: David Brownell Date: Thu Mar 26 00:42:41 2009 -0700 [MTD] driver model updates Update driver model support in the MTD framework, so it fits better into the current udev-based hotplug framework: - Each mtd_info now has a device node. MTD drivers should set the dev.parent field to point to the physical device, before setting up partitions or otherwise declaring MTDs. - Those device nodes always map to /sys/class/mtdX device nodes, which no longer depend on MTD_CHARDEV. - Those mtdX sysfs nodes have a "starter set" of attributes; it's not yet sufficient to replace /proc/mtd. - Enabling MTD_CHARDEV provides /sys/class/mtdXro/ nodes and the /sys/class/mtd*/dev attributes (for udev, mdev, etc). - Include a MODULE_ALIAS_CHARDEV_MAJOR macro. It'll work with udev creating the /dev/mtd* nodes, not just a static rootfs. So the sysfs structure is pretty much what you'd expect, except that readonly chardev nodes are a bit quirky. Signed-off-by: David Brownell Signed-off-by: David Woodhouse commit 276dbf997043cbf38f0087624e0f9c51742c8885 Author: David Woodhouse Date: Sat Apr 4 01:45:37 2009 +0100 intel-iommu: Handle PCI domains appropriately. We were comparing {bus,devfn} and assuming that a match meant it was the same device. It doesn't -- the same {bus,devfn} can exist in multiple PCI domains. Include domain number in device identification (and call it 'segment' in most places, because there's already a lot of references to 'domain' which means something else, and this code is infected with ACPI thinking already). Signed-off-by: David Woodhouse commit 924b6231edfaf1e764ffb4f97ea382bf4facff58 Author: David Woodhouse Date: Sat Apr 4 00:39:25 2009 +0100 intel-iommu: Fix device-to-iommu mapping for PCI-PCI bridges. When the DMAR table identifies that a PCI-PCI bridge belongs to a given IOMMU, that means that the bridge and all devices behind it should be associated with the IOMMU. Not just the bridge itself. This fixes the device_to_iommu() function accordingly. (It's broken if you have the same PCI bus numbers in multiple domains, but this function was always broken in that way; I'll be dealing with that later). Signed-off-by: David Woodhouse commit d0b03bd1c6725a3463290d7f9626e4b583518a5a Author: Han, Weidong Date: Fri Apr 3 17:15:50 2009 +0800 x2apic/intr-remap: decouple interrupt remapping from x2apic interrupt remapping must be enabled before enabling x2apic, but interrupt remapping doesn't depend on x2apic, it can be used separately. Enable interrupt remapping in init_dmars even x2apic is not supported. [dwmw2: Update Kconfig accordingly, fix build with INTR_REMAP && !X2APIC] Signed-off-by: Weidong Han Acked-by: Ingo Molnar Signed-off-by: David Woodhouse commit 34aaaa948e3c9dd65b27fa499c5c9e8d8f1227cf Author: Han, Weidong Date: Sat Apr 4 17:21:26 2009 +0800 x86, dmar: check if it's initialized before disable queue invalidation If queue invalidation is disabled after it's already initialized, dmar_enable_qi won't re-enable it due to iommu->qi is allocated. It may result in system hang when use queue invalidation. Add this check to avoid this case. Signed-off-by: Weidong Han Signed-off-by: David Woodhouse commit c07c9a78a95cab0a9bf0b253d0c52e7798af38c5 Author: Len Brown Date: Sat Apr 4 03:33:45 2009 -0400 video: build fix acpi_video_device_write_state() and friends now return ssize_t, while the constify patch assumed it was still int. Signed-off-by: Len Brown commit 0e501834f8c2ba7de2a56e332d346dcf4ac0b593 Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:53 2009 +0000 thinkpad-acpi: rework brightness support Refactor and redesign the brightness control backend... In order to fix bugzilla #11750... Add a new brightness control mode: support direct NVRAM checkpointing of the backlight level (i.e. store directly to NVRAM without the need for UCMS calls), and use that together with the EC-based control. Disallow UCMS+EC, thus avoiding races with the SMM firmware. Switch the models that define HBRV (EC Brightness Value) in the DSDT to the new mode. These are: T40-T43, R50-R52, R50e, R51e, X31-X41. Change the default for all other IBM ThinkPads to UCMS-only. The Lenovo models already default to UCMS-only. Reported-by: Alexey Fisher Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 74a60c0f828016456fc635feae388ffd12bb3bb9 Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:52 2009 +0000 thinkpad-acpi: enhanced debugging messages for the fan subdriver Enhance debugging messages for the fan subdriver. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 56e2c200945dafafb86169762eb1e88aed0ce69e Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:51 2009 +0000 thinkpad-acpi: enhanced debugging messages for the hotkey subdriver Enhance debugging messages for the hotkey subdriver. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit bee4cd9b9eaa8c72832e1ee7f4940604e94beb27 Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:50 2009 +0000 thinkpad-acpi: enhanced debugging messages for rfkill subdrivers Enhance debugging messages for all rfkill subdrivers in thinkpad-acpi. Also, log a warning if the deprecated sysfs attributes are in use. These attributes are going to be removed sometime in 2010. There is an user-visible side-effect: we now coalesce attempts to enable/disable bluetooth or WWAN in the procfs interface, instead of hammering the firmware with multiple requests. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a4d5effcc73749ee3ebbf578d162905e6fa4e07d Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:49 2009 +0000 thinkpad-acpi: restrict access to some firmware LEDs Some of the ThinkPad LEDs indicate critical conditions that can cause data loss or cause hardware damage when ignored (e.g. force-ejecting a powered up bay; ignoring a failing battery, or empty battery; force- undocking with the dock buses still active, etc). On almost all ThinkPads, LED access is write-only, and the firmware usually does fire-and-forget signaling on them, so you effectively lose whatever message the firmware was trying to convey to the user when you override the LED state, without any chance to restore it. Restrict access to all LEDs that can convey important alarms, or that could mislead the user into incorrectly operating the hardware. This will make the Lenovo engineers less unhappy about the whole issue. Allow users that really want it to still control all LEDs, it is the unaware user that we have to worry about. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 2586d5663d0a17d69383acf6110f16a979a07c4e Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:48 2009 +0000 thinkpad-acpi: remove HKEY disable functionality The HKEY disable functionality basically cripples the entire event model of the ThinkPad firmware and of the thinkpad-acpi driver. Remove this functionality from the driver. HKEY must be enabled at all times while thinkpad-acpi is loaded, and disabled otherwise. For sysfs, according to the sysfs ABI and the thinkpad-acpi sysfs rules of engagement, we will just remove the attributes. This will be done in two stages: disable their function now, after two kernel releases, remove the attributes. For procfs, we call WARN(). If nothing triggers it, I will simply remove the enable/disable commands entirely in the future along with the sysfs attributes. I don't expect much, if any fallout from this. There really isn't any reason to mess with hotkey_enable or with the enable/disable commands to /proc/acpi/ibm/hotkey, and this has been true for years... Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 73a94d86a8625371f76de0ee12dc5bacd3ed42c0 Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:47 2009 +0000 thinkpad-acpi: add new debug helpers and warn of deprecated atts Add a debug helper that discloses the TGID of the userspace task attempting to access the driver. This is highly useful when dealing with bug reports, since often the user has no idea that some userspace application is accessing thinkpad-acpi... Also add a helper to log warnings about sysfs attributes that are deprecated. Use the new helpers to issue deprecation warnings for bluetooth_enable and wwan_enabled, that have been deprecated for a while, now. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 7ff8d62f7f055aaffbeb493863136c1b876bbe2e Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:46 2009 +0000 thinkpad-acpi: add missing log levels Add missing log levels in a standalone commit, to avoid dependencies in future unrelated changes, just because they wanted to use one of the missing log levels. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 3dcc2c3b00cad01a0e3667607f8644e891e4dc8b Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:45 2009 +0000 thinkpad-acpi: cleanup debug helpers Fix the vdbg_printk macro definition to be sane when CONFIG_THINKPAD_ACPI_DEBUG is undefined, and move the mess into a file section of its own. This doesn't change anything in the current code, but future code will need the proper behaviour. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 078ac19ed8f476a7c2d729712e15f5ab516ff491 Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:44 2009 +0000 thinkpad-acpi: documentation cleanup Some cleanups to the documentation of the driver. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 257bc1cb3e29c8da62b9c9e0a4505011776c7040 Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:43 2009 +0000 thinkpad-acpi: drop ibm-acpi alias The driver was renamed two years ago, on 2.6.21. Drop the old compatibility alias, we have given everybody quite enough time to update their configs to the new name. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1c762ca438447fa3525d84f4a0784a2021a66200 Author: Henrique de Moraes Holschuh Date: Sat Apr 4 04:25:42 2009 +0000 thinkpad-acpi: update copyright notices It is that time of the year again... Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit ba256b41bd58f0821c9c0e203982fb260f09bdeb Author: Harald Welte Date: Wed Jan 14 14:01:17 2009 +0800 panasonic-laptop: use snprintf with PAGE_SIZE in sysfs attributes Instead of just sprintf() into the page-sized buffer provided by the sysfs/device_attribute API, we use snprintf with PAGE_SIZE as an additional safeguard. Signed-off-by: Martin Lucina Signed-off-by: Harald Welte Signed-off-by: Len Brown commit c542aadeb4700bc316834d862d52ba3d2664f13a Author: Harald Welte Date: Wed Jan 14 13:59:50 2009 +0800 panasonic-laptop: Fix autoloading This patch adds MODULE_DEVICE_TABLE() to panasonic-laptop.c in order to ensure automatic loading of the module on systems with the respective "MAT*" ACPI devices. Signed-off-by: Martin Lucina Signed-off-by: Harald Welte Signed-off-by: Len Brown commit b7171ae74b1741245835444bd98a7217958cf929 Author: Jan Engelhardt Date: Mon Jan 12 00:08:19 2009 +0100 ACPI: constify VFTs (2/2) Signed-off-by: Jan Engelhardt Signed-off-by: Len Brown commit 070d8eb1f6b789206486ea6a4a1bb7745d86d314 Author: Jan Engelhardt Date: Mon Jan 12 00:07:55 2009 +0100 ACPI: constify VFTs (1/2) Signed-off-by: Jan Engelhardt Signed-off-by: Len Brown commit 0b3f6109f0c9ff926b5ffc80dc1cebb24f192b35 Author: Matthew Garrett Date: Fri Jan 9 20:17:11 2009 +0000 dell-wmi: new driver for hotkey control Add a WMI driver for Dell laptops. Currently it does nothing but send a generic input event when a button with a picture of a battery on it is pressed, but maybe other uses will appear over time. Signed-off-by: Matthew Garrett Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 609d4bc949a9175a6c8ba9dc1b6fdb4d9dab0427 Author: Jan Beulich Date: Thu Mar 12 11:58:25 2009 +0000 ACPI: constify tables in pci_irq.c Signed-off-by: Jan Beulich Signed-off-by: Len Brown commit 6328a57401dc5f5cf9931738eb7268fcd8058c49 Author: Witold Szczeponik Date: Mon Mar 30 19:31:06 2009 +0200 Enable PNPACPI _PSx Support, v3 (This is an update to the patch presented earlier in http://lkml.org/lkml/2008/12/8/284, with new error handling.) This patch sets the power of PnP ACPI devices to D0 when they are activated and to D3 when they are disabled. The latter is in correspondence with the ACPI 3.0 specification, whereas the former is added in order to be able to power up a device after it has been previously disabled (or when booting up a system). (As a consequence, the patch makes the PnP ACPI code more ACPI compliant.) Section 6.2.2 of the ACPI Specification (at least versions 1.0b and 3.0a) states: "Prior to running this control method [_DIS], the OS[PM] will have already put the device in the D3 state." Unfortunately, there is no clear statement as to when to put a device in the D0 state. :-( Therefore, the patch executes the method calls as _PS3/_DIS and _SRS/_PS0. What is clear: "If the device is disabled, _SRS enables the device at the specified resources." (From the ACPI 3.0a Specification.) The patch fixes a problem with some IBM ThinkPads (at least the 600E and the 600X) where the serial ports have a dedicated power source that needs to be brought up before the serial port can be used. Without this patch, the serial port is enabled but has no power. (In the past, the tpctl utility had to be utilized to turn on the power, but support for this feature stopped with version 5.9 as it did not support the more recent kernel versions.) The error handlers that handle any errors that can occur during the power up/power down phases return the error codes to the caller directly. Comments welcome! :-) No regressions were observed on hardware that does not require this patch. The patch is applied against 2.6.27.x. Signed-off-by: Witold Szczeponik Acked-by: Zhao Yakui Signed-off-by: Len Brown commit 3ef1728898f0285c13aa6901f412b52835e23578 Author: Benny Halevy Date: Fri Apr 3 08:29:20 2009 +0300 nfsd41: Documentation/filesystems/nfs41-server.txt Initial nfs41 server write up describing the status of the linux server implementation. [nfsd41: document unenforced nfs41 compound ordering rules.] [get rid of CONFIG_NFSD_V4_1] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 79fb54abd285b442e1f30f851902f3ddf58e7704 Author: Benny Halevy Date: Fri Apr 3 08:29:17 2009 +0300 nfsd41: CREATE_EXCLUSIVE4_1 Implement the CREATE_EXCLUSIVE4_1 open mode conforming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 This mode allows the client to atomically create a file if it doesn't exist while setting some of its attributes. It must be implemented if the server supports persistent reply cache and/or pnfs. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 8c18f2052e756e7d5dea712fc6e7ed70c00e8a39 Author: Benny Halevy Date: Fri Apr 3 08:29:14 2009 +0300 nfsd41: SUPPATTR_EXCLCREAT attribute Return bitmask for supported EXCLUSIVE4_1 create attributes. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 7e70570647827345352cf6c17461c9fa166f570a Author: Andy Adamson Date: Fri Apr 3 08:29:11 2009 +0300 nfsd41: support for 3-word long attribute bitmask Also, use client minorversion to generate supported attrs Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 95ec28cda323104bbff64fc7ec8ee4c9042e51fa Author: Benny Halevy Date: Fri Apr 3 08:29:08 2009 +0300 nfsd: dynamically skip encoded fattr bitmap in _nfsd4_verify _nfsd4_verify currently skips 3 words from the encoded buffer begining. With support for 3-word attr bitmaps in nfsd41, nfsd4_encode_fattr may encode 1, 2, or 3 words, and not always 2 as it used to be, hence we need to find out where to skip using the encoded bitmap length. Note: This patch may be applied over pre-nfsd41 nfsd. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit c0d6fc8a2d55a8235c301aeb6d5254d5992895d1 Author: Benny Halevy Date: Fri Apr 3 08:29:05 2009 +0300 nfsd41: pass writable attrs mask to nfsd4_decode_fattr In preparation for EXCLUSIVE4_1 Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit f3ec22b5b0b4b220ee600bf1a8b6dc045b4e72bd Author: Marc Eshel Date: Fri Apr 3 08:29:02 2009 +0300 nfsd41: provide support for minor version 1 at rpc level Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 8daf220a6a83c47b9648c28bb819c14c60bad7f9 Author: Benny Halevy Date: Fri Apr 3 08:28:59 2009 +0300 nfsd41: control nfsv4.1 svc via /proc/fs/nfsd/versions Support enabling and disabling nfsv4.1 via /proc/fs/nfsd/versions by writing the strings "+4.1" or "-4.1" correspondingly. Use user mode nfs-utils (rpc.nfsd option) to enable. This will allow us to get rid of CONFIG_NFSD_V4_1 [nfsd41: disable support for minorversion by default] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 84459a1162801fb84734e5f9e6dc5194f791d69b Author: Andy Adamson Date: Fri Apr 3 08:28:56 2009 +0300 nfsd41: add OPEN4_SHARE_ACCESS_WANT nfs4_stateid bmap Separate the access bits from the want bits and enable __set_bit to work correctly with st_access_bmap. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit d87a8ade95288f28c729e076cd74929f3f199b6c Author: Andy Adamson Date: Fri Apr 3 08:28:53 2009 +0300 nfsd41: access_valid For nfs41, the open share flags are used also for delegation "wants" and "signals". Check that they are valid. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 60adfc50de3855628dea8f8896a65f471f51301c Author: Andy Adamson Date: Fri Apr 3 08:28:50 2009 +0300 nfsd41: clientid handling Extract the clientid from sessionid to set the op_clientid on open. Verify that the clid for other stateful ops is zero for minorversion != 0 Do all other checks for stateful ops without sessions. Signed-off-by: Benny Halevy Signed-off-by: Andy Adamson [fixed whitespace indent] Signed-off-by: Benny Halevy [nfsd41 remove sl_session from nfsd4_open] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 496c262cf01106a546ffb7df6fea84b8b881ee19 Author: Andy Adamson Date: Fri Apr 3 08:28:48 2009 +0300 nfsd41: check encode size for sessions maxresponse cached Calculate the space the compound response has taken after encoding the current operation. pad: add on 8 bytes for the next operation's op_code and status so that there is room to cache a failure on the next operation. Compare this length to the session se_fmaxresp_cached and return nfserr_rep_too_big_to_cache if the length is too large. Our se_fmaxresp_cached will always be a multiple of PAGE_SIZE, and so will be at least a page and will therefore hold the xdr_buf head. Signed-off-by: Andy Adamson [nfsd41: non-page DRC for solo sequence responses] [fixed nfsd4_check_drc_limit cosmetics] Signed-off-by: Benny Halevy [nfsd41: use cstate session in nfsd4_check_drc_limit] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 6668958fac1d05f55420de702f3678d46c1e93a5 Author: Andy Adamson Date: Fri Apr 3 08:28:45 2009 +0300 nfsd41: stateid handling When sessions are used, stateful operation sequenceid and stateid handling are not used. When sessions are used, on the first open set the seqid to 1, mark state confirmed and skip seqid processing. When sessionas are used the stateid generation number is ignored when it is zero whereas without sessions bad_stateid or stale stateid is returned. Add flags to propagate session use to all stateful ops and down to check_stateid_generation. Signed-off-by: Benny Halevy Signed-off-by: Andy Adamson [nfsd4_has_session should return a boolean, not u32] Signed-off-by: Benny Halevy [nfsd41: pass nfsd4_compoundres * to nfsd4_process_open1] [nfsd41: calculate HAS_SESSION in nfs4_preprocess_stateid_op] [nfsd41: calculate HAS_SESSION in nfs4_preprocess_seqid_op] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit dd453dfd70538cadc02cb47ff8d8cfd0cb8cf435 Author: Benny Halevy Date: Fri Apr 3 08:28:41 2009 +0300 nfsd: pass nfsd4_compound_state* to nfs4_preprocess_{state,seq}id_op Currently we only use cstate->current_fh, will also be used by nfsd41 code. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit e10e0cfc2f27364c73b28adbd3c8688d97049e73 Author: Benny Halevy Date: Fri Apr 3 08:28:38 2009 +0300 nfsd41: destroy_session operation Implement the destory_session operation confoming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 [use sessionid_lock spin lock] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit bf864a31d50e3e94d6e76537b97d664913906ff8 Author: Andy Adamson Date: Fri Apr 3 08:28:35 2009 +0300 nfsd41: non-page DRC for solo sequence responses A session inactivity time compound (lease renewal) or a compound where the sequence operation has sa_cachethis set to FALSE do not require any pages to be held in the v4.1 DRC. This is because struct nfsd4_slot is already caching the session information. Add logic to the nfs41 server to not cache response pages for solo sequence responses. Return nfserr_replay_uncached_rep on the operation following the sequence operation when sa_cachethis is FALSE. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfsd41: use cstate session in nfsd4_replay_cache_entry] [nfsd41: rename nfsd4_no_page_in_cache] [nfsd41 rename nfsd4_enc_no_page_replay] [nfsd41 nfsd4_is_solo_sequence] [nfsd41 change nfsd4_not_cached return] Signed-off-by: Andy Adamson [changed return type to bool] Signed-off-by: Benny Halevy [nfsd41 drop parens in nfsd4_is_solo_sequence call] Signed-off-by: Andy Adamson [changed "== 0" to "!"] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 38eb76a54d803e6792816623651b1a9cb85f8d01 Author: Andy Adamson Date: Fri Apr 3 08:28:32 2009 +0300 nfsd41: Add a create session replay cache Replace the nfs4_client cl_seqid field with a single struct nfs41_slot used for the create session replay cache. The CREATE_SESSION slot sets the sl_session pointer to NULL. Otherwise, the slot and it's replay cache are used just like the session slots. Fix unconfirmed create_session replay response by initializing the create_session slot sequence id to 0. A future patch will set the CREATE_SESSION cache when a SEQUENCE operation preceeds the CREATE_SESSION operation. This compound is currently only cached in the session slot table. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfsd41: use bool inuse for slot state] Signed-off-by: Benny Halevy [nfsd41: revert portion of nfsd4_set_cache_entry] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit ec6b5d7b5064fde27aee798b81107ea3a830de85 Author: Andy Adamson Date: Fri Apr 3 08:28:28 2009 +0300 nfsd41: create_session operation Implement the create_session operation confoming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 Look up the client id (generated by the server on exchange_id, given by the client on create_session). If neither a confirmed or unconfirmed client is found then the client id is stale If a confirmed cilent is found (i.e. we already received create_session for it) then compare the sequence id to determine if it's a replay or possibly a mis-ordered rpc. If the seqid is in order, update the confirmed client seqid and procedd with updating the session parameters. If an unconfirmed client_id is found then verify the creds and seqid. If both match move the client id to confirmed state and proceed with processing the create_session. Currently, we do not support persistent sessions, and RDMA. alloc_init_session generates a new sessionid and creates a session structure. NFSD_PAGES_PER_SLOT is used for the max response cached calculation, and for the counting of DRC pages using the hard limits set in struct srv_serv. A note on NFSD_PAGES_PER_SLOT: Other patches in this series allow for NFSD_PAGES_PER_SLOT + 1 pages to be cached in a DRC slot when the response size is less than NFSD_PAGES_PER_SLOT * PAGE_SIZE but xdr_buf pages are used. e.g. a READDIR operation will encode a small amount of data in the xdr_buf head, and then the READDIR in the xdr_buf pages. So, the hard limit calculation use of pages by a session is underestimated by the number of cached operations using the xdr_buf pages. Yet another patch caches no pages for the solo sequence operation, or any compound where cache_this is False. So the hard limit calculation use of pages by a session is overestimated by the number of these operations in the cache. TODO: improve resource pre-allocation and negotiate session parameters accordingly. Respect and possibly adjust backchannel attributes. Signed-off-by: Marc Eshel Signed-off-by: Dean Hildebrand [nfsd41: remove headerpadsz from channel attributes] Our client and server only support a headerpadsz of 0. [nfsd41: use DRC limits in fore channel init] [nfsd41: do not change CREATE_SESSION back channel attrs] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [use sessionid_lock spin lock] [nfsd41: use bool inuse for slot state] Signed-off-by: Benny Halevy [nfsd41 remove sl_session from alloc_init_session] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [simplify nfsd4_encode_create_session error handling] [nfsd41: fix comment style in init_forechannel_attrs] [nfsd41: allocate struct nfsd4_session and slot table in one piece] [nfsd41: no need to INIT_LIST_HEAD in alloc_init_session just prior to list_add] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 14778a133e3be332be77d981552a79260a61ee17 Author: Andy Adamson Date: Fri Apr 3 08:28:25 2009 +0300 nfsd41: clear DRC cache on free_session Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit da3846a2866ddf239311766ff434a82e7b4ac701 Author: Andy Adamson Date: Fri Apr 3 08:28:22 2009 +0300 nfsd41: nfsd DRC logic Replay a request in nfsd4_sequence. Add a minorversion to struct nfsd4_compound_state. Pass the current slot to nfs4svc_encode_compound res via struct nfsd4_compoundres to set an NFSv4.1 DRC entry. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfsd41: use bool inuse for slot state] Signed-off-by: Benny Halevy [nfsd41: use cstate session in nfs4svc_encode_compoundres] [nfsd41 replace nfsd4_set_cache_entry] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit c3d06f9ce8544fecfe13e377d1e2c2e47fe18dbc Author: Andy Adamson Date: Fri Apr 3 08:28:18 2009 +0300 nfsd41: hard page limit for DRC Use no more than 1/128th of the number of free pages at nfsd startup for the v4.1 DRC. This is an arbitrary default which should probably end up under the control of an administrator. Signed-off-by: Andy Adamson [moved added fields in struct svc_serv under CONFIG_NFSD_V4_1] Signed-off-by: Benny Halevy [fix set_max_drc calculation of sv_drc_max_pages] [moved NFSD_DRC_SIZE_SHIFT's declaration up in header file] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 074fe897536f095309c5aaffcf912952882ab2cb Author: Andy Adamson Date: Fri Apr 3 08:28:15 2009 +0300 nfsd41: DRC save, restore, and clear functions Cache all the result pages, including the rpc header in rq_respages[0], for a request in the slot table cache entry. Cache the statp pointer from nfsd_dispatch which points into rq_respages[0] just past the rpc header. When setting a cache entry, calculate and save the length of the nfs data minus the rpc header for rq_respages[0]. When replaying a cache entry, replace the cached rpc header with the replayed request rpc result header, unless there is not enough room in the cached results first page. In that case, use the cached rpc header. The sessions fore channel maxresponse size cached is set to NFSD_PAGES_PER_SLOT * PAGE_SIZE. For compounds we are cacheing with operations such as READDIR that use the xdr_buf->pages to hold data, we choose to cache the extra page of data rather than copying data from xdr_buf->pages into the xdr_buf->head page. [nfsd41: limit cache to maxresponsesize_cached] [nfsd41: mv nfsd4_set_statp under CONFIG_NFSD_V4_1] [nfsd41: rename nfsd4_move_pages] [nfsd41: rename page_no variable] [nfsd41: rename nfsd4_set_cache_entry] [nfsd41: fix nfsd41_copy_replay_data comment] [nfsd41: add to nfsd4_set_cache_entry] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit f9bb94c4c60f6e1d1717077bfddb614f03a607d1 Author: Andy Adamson Date: Fri Apr 3 08:28:12 2009 +0300 nfsd41: enforce NFS4ERR_SEQUENCE_POS operation order rules for minorversion != 0 only. Signed-off-by: Andy Adamson [nfsd41: do not verify nfserr_sequence_pos for minorversion 0] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit b85d4c01b76f6969a085d07a767fa45225cb14be Author: Benny Halevy Date: Fri Apr 3 08:28:08 2009 +0300 nfsd41: sequence operation Implement the sequence operation conforming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 Check for stale clientid (as derived from the sessionid). Enforce slotid range and exactly-once semantics using the slotid and seqid. If everything went well renew the client lease and mark the slot INPROGRESS. Add a struct nfsd4_slot pointer to struct nfsd4_compound_state. To be used for sessions DRC replay. [nfsd41: rename sequence catchthis to cachethis] Signed-off-by: Andy Adamson [pulled some code to set cstate->slot from "nfsd DRC logic"] [use sessionid_lock spin lock] [nfsd41: use bool inuse for slot state] Signed-off-by: Benny Halevy [nfsd: add a struct nfsd4_slot pointer to struct nfsd4_compound_state] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfsd41: add nfsd4_session pointer to nfsd4_compound_state] [nfsd41: set cstate session] [nfsd41: use cstate session in nfsd4_sequence] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [simplify nfsd4_encode_sequence error handling] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit a1bcecd29cdf1670df6908a620add4211c0abb7a Author: Andy Adamson Date: Fri Apr 3 08:28:05 2009 +0300 nfsd41: match clientid establishment method We need to distinguish between client names provided by NFSv4.0 clients SETCLIENTID and those provided by NFSv4.1 via EXCHANGE_ID when looking up the clientid by string. Signed-off-by: Benny Halevy Signed-off-by: Andy Adamson [nfsd41: use boolean values for use_exchange_id argument] Signed-off-by: Benny Halevy [nfsd41: simplify match_clientid_establishment logic] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 0733d21338747483985a5964e852af160d88e429 Author: Andy Adamson Date: Fri Apr 3 08:28:01 2009 +0300 nfsd41: exchange_id operation Implement the exchange_id operation confoming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-28 Based on the client provided name, hash a client id. If a confirmed one is found, compare the op's creds and verifier. If the creds match and the verifier is different then expire the old client (client re-incarnated), otherwise, if both match, assume it's a replay and ignore it. If an unconfirmed client is found, then copy the new creds and verifer if need update, otherwise assume replay. The client is moved to a confirmed state on create_session. In the nfs41 branch set the exchange_id flags to EXCHGID4_FLAG_USE_NON_PNFS | EXCHGID4_FLAG_SUPP_MOVED_REFER (pNFS is not supported, Referrals are supported, Migration is not.). Address various scenarios from section 18.35 of the spec: 1. Check for EXCHGID4_FLAG_UPD_CONFIRMED_REC_A and set EXCHGID4_FLAG_CONFIRMED_R as appropriate. 2. Return error codes per 18.35.4 scenarios. 3. Update client records or generate new client ids depending on scenario. Note: 18.35.4 case 3 probably still needs revisiting. The handling seems not quite right. Signed-off-by: Benny Halevy Signed-off-by: Andy Adamosn Signed-off-by: Benny Halevy [nfsd41: use utsname for major_id (and copy to server_scope)] [nfsd41: fix handling of various exchange id scenarios] Signed-off-by: Mike Sager Signed-off-by: Benny Halevy [nfsd41: reverse use of EXCHGID4_INVAL_FLAG_MASK_A] [simplify nfsd4_encode_exchange_id error handling] [nfsd41: embed an xdr_netobj in nfsd4_exchange_id] [nfsd41: return nfserr_serverfault for spa_how == SP4_MACH_CRED] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 069b6ad4bb20abf175ea7875e82e8002154773af Author: Andy Adamson Date: Fri Apr 3 08:27:58 2009 +0300 nfsd41: proc stubs Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 2db134eb3b39faefc7fbfb200156d175edba2f68 Author: Andy Adamson Date: Fri Apr 3 08:27:55 2009 +0300 nfsd41: xdr infrastructure Define nfsd41_dec_ops vector and add it to nfsd4_minorversion for minorversion 1. Note: nfsd4_enc_ops vector is shared for v4.0 and v4.1 since we don't need to filter out obsolete ops as this is done in the decoding phase. exchange_id, create_session, destroy_session, and sequence ops are implemented as stubs returning nfserr_opnotsupp at this stage. [was nfsd41: xdr stubs] [get rid of CONFIG_NFSD_V4_1] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 5282fd724b667b7d65f2e41e405a825e58a78813 Author: Marc Eshel Date: Fri Apr 3 08:27:52 2009 +0300 nfsd41: sessionid hashing Simple sessionid hashing using its monotonically increasing sequence number. Locking considerations: sessionid_hashtbl access is controlled by the sessionid_lock spin lock. It must be taken for insert, delete, and lookup. nfsd4_sequence looks up the session id and if the session is found, it calls nfsd4_get_session (still under the sessionid_lock). nfsd4_destroy_session calls nfsd4_put_session after unhashing it, so when the session's kref reaches zero it's going to get freed. Signed-off-by: Benny Halevy [we don't use a prime for sessionid hash table size] [use sessionid_lock spin lock] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit c4bf7868064ce8b9c75d8049d077e593c20602b3 Author: Marc Eshel Date: Fri Apr 3 08:27:49 2009 +0300 nfsd41: release_session when client is expired Signed-off-by: Benny Halevy [add CONFIG_NFSD_V4_1 to fix v4.0 regression bug] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 9fb870702d02c05f9410423bfff3f63e46e26180 Author: Marc Eshel Date: Fri Apr 3 08:27:46 2009 +0300 nfsd41: introduce nfs4_client cl_sessions list [get rid of CONFIG_NFSD_V4_1] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 7116ed6b9973021ff43edeb10f4cb834db94000f Author: Andy Adamson Date: Fri Apr 3 08:27:43 2009 +0300 nfsd41: sessions basic data types This patch provides basic data structures representing the nfs41 sessions and slots, plus helpers for keeping a reference count on the session and freeing it. Note that our server only support a headerpadsz of 0 and it ignores backchannel attributes at the moment. Signed-off-by: Benny Halevy [nfsd41: remove headerpadsz from channel attributes] [nfsd41: embed nfsd4_channel in nfsd4_session] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfsd41: use bool inuse for slot state] Signed-off-by: Benny Halevy [nfsd41 remove sl_session from nfsd4_slot] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 10add806c38c022d18af48f3ec28c91b4eaf7bb3 Author: Marc Eshel Date: Fri Apr 3 08:27:40 2009 +0300 nfsd41: define nfs41 error codes Define all error code present in http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-29. Signed-off-by: Benny Halevy [nfsd41: clean up error code definitions] [nfsd41: change NFSERR_REPLAY_ME] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 18df1884a872a2cc405a578cfd0d3adc8d227277 Author: Benny Halevy Date: Fri Apr 3 08:27:36 2009 +0300 nfs41: common protocol definitions Define all NFSv4.1 common operation and error code constants. Note that some of the definitions are used by both the nfs41 client and the server code. This patch is duplicated in the nfs41 and nfsd41 sessions patchset. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: add exchange id flags] Signed-off-by: Mike Sager Signed-off-by: Benny Halevy [removed server-only hunk changing NFSERR_REPLAY_ME] Signed-off-by: Benny Halevy [nfs41: add SEQ4_XX to nfs41-common-protocol] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: generic error code update] [nfs41: reverse EXCHGID4_INVAL_FLAG_MASK_{A,R}] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 2f425878b6a71571341dcd3f9e9d1a6f6355da9c Author: Andy Adamson Date: Fri Apr 3 08:27:32 2009 +0300 nfsd: don't use the deferral service, return NFS4ERR_DELAY On an NFSv4.1 server cache miss that causes an upcall, NFS4ERR_DELAY will be returned. It is up to the NFSv4.1 client to resend only the operations that have not been processed. Initialize rq_usedeferral to 1 in svc_process(). It sill be turned off in nfsd4_proc_compound() only when NFSv4.1 Sessions are used. Note: this isn't an adequate solution on its own. It's acceptable as a way to get some minimal 4.1 up and working, but we're going to have to find a way to avoid returning DELAY in all common cases before 4.1 can really be considered ready. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfsd41: reverse rq_nodeferral negative logic] Signed-off-by: Benny Halevy [sunrpc: initialize rq_usedeferral] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 6bb597507f9839b13498781e481f5458aea33620 Merge: 09f38dc... c5c67c7... Author: Linus Torvalds Date: Fri Apr 3 17:36:21 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mtrr: remove debug message x86: disable stack-protector for __restore_processor_state() x86: fix is_io_mapping_possible() build warning on i386 allnoconfig x86, setup: compile with -DDISABLE_BRANCH_PROFILING x86/dma: unify definition of pci_unmap_addr* and pci_unmap_len macros x86, mm: fix misuse of debug_kmap_atomic x86: remove duplicated code with pcpu_need_numa() x86,percpu: fix inverted NUMA test in setup_pcpu_remap() x86: signal: check sas_ss_size instead of sas_ss_flags() commit 09f38dc19deba9eae1d668dde8bdd2aaed3479ed Merge: 30a39e0... bbb76b5... Author: Linus Torvalds Date: Fri Apr 3 17:35:06 2009 -0700 Merge branch 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ptrace: remove a useless goto commit 30a39e0e97f948e3ac8eeacd54d09f4bbfbab64b Merge: c7edad5... 4a44bac... Author: Linus Torvalds Date: Fri Apr 3 17:34:41 2009 -0700 Merge branch 'stacktrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'stacktrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: symbols, stacktrace: look up init symbols after module symbols commit c7edad5fcb86c4398f9ab2ccea82ddcc067b88af Merge: b1dbb67... f69b17d... Author: Linus Torvalds Date: Fri Apr 3 17:34:12 2009 -0700 Merge branch 'rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: rcu_barrier VS cpu_hotplug: Ensure callbacks in dead cpu are migrated to online cpu commit b1dbb67911fecb290db3f566281bcd9ccc9dc6df Merge: 492f59f... 70f4544... Author: Linus Torvalds Date: Fri Apr 3 17:33:30 2009 -0700 Merge branch 'ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: s390: remove arch specific smp_send_stop() panic: clean up kernel/panic.c panic, smp: provide smp_send_stop() wrapper on UP too panic: decrease oops_in_progress only after having done the panic generic-ipi: eliminate WARN_ON()s during oops/panic generic-ipi: cleanups generic-ipi: remove CSD_FLAG_WAIT generic-ipi: remove kmalloc() generic IPI: simplify barriers and locking commit 492f59f526d95e73028f57bff475b4bbe3c8cb72 Merge: f945b7a... 7bee946... Author: Linus Torvalds Date: Fri Apr 3 17:29:53 2009 -0700 Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: locking: rename trace_softirq_[enter|exit] => lockdep_softirq_[enter|exit] lockdep: remove duplicate CONFIG_DEBUG_LOCKDEP definitions lockdep: require framepointers for x86 lockdep: remove extra "irq" string lockdep: fix incorrect state name commit 786c221a37d3931189d9c9421f63dec92f4d698b Author: Suresh Siddha Date: Mon Mar 30 14:05:50 2009 -0800 ACPI: update x2apic comments Signed-off-by: Suresh Siddha Signed-off-by: Len Brown commit 7237d3de78ff89ec2e18eae5fe962d063024fef5 Author: Suresh Siddha Date: Mon Mar 30 13:55:30 2009 -0800 x86, ACPI: add support for x2apic ACPI extensions All logical processors with APIC ID values of 255 and greater will have their APIC reported through Processor X2APIC structure (type-9 entry type) and all logical processors with APIC ID less than 255 will have their APIC reported through legacy Processor Local APIC (type-0 entry type) only. This is the same case even for NMI structure reporting. The Processor X2APIC Affinity structure provides the association between the X2APIC ID of a logical processor and the proximity domain to which the logical processor belongs. For OSPM, Procssor IDs outside the 0-254 range are to be declared as Device() objects in the ACPI namespace. Signed-off-by: Suresh Siddha Signed-off-by: Len Brown commit c5c67c7cba6a652d1c62dce45b0c130e5cb2a802 Author: Ingo Molnar Date: Sat Apr 4 00:31:02 2009 +0200 x86, mtrr: remove debug message The MTRR code grew a new debug message which triggers commonly: [ 40.142276] get_mtrr: cpu0 reg00 base=0000000000 size=0000080000 write-back [ 40.142280] get_mtrr: cpu0 reg01 base=0000080000 size=0000040000 write-back [ 40.142284] get_mtrr: cpu0 reg02 base=0000100000 size=0000040000 write-back [ 40.142311] get_mtrr: cpu0 reg00 base=0000000000 size=0000080000 write-back [ 40.142314] get_mtrr: cpu0 reg01 base=0000080000 size=0000040000 write-back [ 40.142317] get_mtrr: cpu0 reg02 base=0000100000 size=0000040000 write-back Remove this annoyance. Reported-by: Linus Torvalds Signed-off-by: Ingo Molnar commit f945b7abcb6cfd3106c9855aa2aa6e4396a19d76 Merge: 04c860c... fc280c9... Author: Linus Torvalds Date: Fri Apr 3 15:27:58 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: allow private mappings of "direct_io" files fuse: allow kernel to access "direct_io" files commit 04c860c188ebdcf396fd50751592fb5a9f51287a Author: Alan Cox Date: Fri Apr 3 14:50:52 2009 +0100 LANANA: Change of management and resync Bring the devices.txt back into some relationship with reality. Update the documentation a bit. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5fba0925fd6b67d94181055b7222e3d934b4efee Merge: 811158b... 621de59... Author: Linus Torvalds Date: Fri Apr 3 15:25:44 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: remove compat stuff HID: constify arrays of struct apple_key_translation HID: add support for Kye/Genius Ergo 525V HID: Support Apple mini aluminum keyboard HID: support for Kensington slimblade device HID: DragonRise game controller force feedback driver HID: add support for another version of 0e8f:0003 device in hid-pl HID: fix race between usb_register_dev() and hiddev_open() HID: bring back possibility to specify vid/pid ignore on module load HID: make HID_DEBUG defaults consistent HID: autosuspend -- fix lockup of hid on reset HID: hid_reset_resume() needs to be defined only when CONFIG_PM is set HID: fix USB HID devices after STD with autosuspend HID: do not try to compile PM code with CONFIG_PM unset HID: autosuspend support for USB HID commit 811158b147a503fbdf9773224004ffd32002d1fe Merge: 4e76c5c... b26e0ed... Author: Linus Torvalds Date: Fri Apr 3 15:24:35 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits) trivial: Update my email address trivial: NULL noise: drivers/mtd/tests/mtd_*test.c trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h trivial: Fix misspelling of "Celsius". trivial: remove unused variable 'path' in alloc_file() trivial: fix a pdlfush -> pdflush typo in comment trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL trivial: wusb: Storage class should be before const qualifier trivial: drivers/char/bsr.c: Storage class should be before const qualifier trivial: h8300: Storage class should be before const qualifier trivial: fix where cgroup documentation is not correctly referred to trivial: Give the right path in Documentation example trivial: MTD: remove EOL from MODULE_DESCRIPTION trivial: Fix typo in bio_split()'s documentation trivial: PWM: fix of #endif comment trivial: fix typos/grammar errors in Kconfig texts trivial: Fix misspelling of firmware trivial: cgroups: documentation typo and spelling corrections trivial: Update contact info for Jochen Hein trivial: fix typo "resgister" -> "register" ... commit 4e76c5ccd5ac9bd003467d3bb0f49b18572dd4cd Merge: b983471... 65127d2... Author: Linus Torvalds Date: Fri Apr 3 15:15:25 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6: (21 commits) xtensa: we don't need to include asm/io.h xtensa: only build platform or variant if they contain a Makefile xtensa: make startup code discardable xtensa: ccount clocksource xtensa: remove platform rtc hooks xtensa: use generic sched_clock() xtensa: platform: s6105 xtensa: let platform override KERNELOFFSET xtensa: s6000 variant xtensa: s6000 variant core definitions xtensa: variant irq set callbacks xtensa: variant-specific code xtensa: nommu support xtensa: add flat support xtensa: enforce slab alignment to maximum register width xtensa: cope with ram beginning at higher addresses xtensa: don't make bootmem bitmap larger than required xtensa: fix init_bootmem_node() argument order xtensa: use correct stack pointer for stack traces xtensa: beat Kconfig into shape ... commit b983471794e568fd71fa767da77a62ba517c3e63 Merge: 5a3ae27... c293498... Author: Linus Torvalds Date: Fri Apr 3 15:14:44 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: BUG to BUG_ON changes Btrfs: remove dead code Btrfs: remove dead code Btrfs: fix typos in comments Btrfs: remove unused ftrace include Btrfs: fix __ucmpdi2 compile bug on 32 bit builds Btrfs: free inode struct when btrfs_new_inode fails Btrfs: fix race in worker_loop Btrfs: add flushoncommit mount option Btrfs: notreelog mount option Btrfs: introduce btrfs_show_options Btrfs: rework allocation clustering Btrfs: Optimize locking in btrfs_next_leaf() Btrfs: break up btrfs_search_slot into smaller pieces Btrfs: kill the pinned_mutex Btrfs: kill the block group alloc mutex Btrfs: clean up find_free_extent Btrfs: free space cache cleanups Btrfs: unplug in the async bio submission threads Btrfs: keep processing bios for a given bdev if our proc is batching commit ba0e1ebb7ea0616eebc29d2077355bacea62a9d8 Author: Mithlesh Thukral Date: Wed Mar 25 15:52:54 2009 +0530 Staging: sxg: slicoss: Specify the license for Sahara SXG and Slicoss drivers Specify a license for the Alacritech Sahara (10Gbe) and SLICOSS (1GBE) firmware files. Signed-off-by: Christopher Harrer Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 19be358212af35bd64d449da82279874099a1a85 Author: Greg Kroah-Hartman Date: Fri Apr 3 13:55:23 2009 -0700 Staging: serqt_usb: fix build due to proc tty changes Just delete the proc tty usage in the driver as it's not needed and will go away when it switches over to a usb-serial driver. This fixes the build error in the driver. Signed-off-by: Greg Kroah-Hartman commit c23ee6c30e951521cc1371094d8cf472610b7026 Author: Greg Kroah-Hartman Date: Tue Mar 24 09:39:28 2009 -0700 Staging: serqt_usb: fix checkpatch errors Clean up the code so it's at least readable now, fixing the checkpatch errors. Signed-off-by: Greg Kroah-Hartman commit 68bf9916d5ba55c81edee7cc9dfb1ab63792cb4f Author: Greg Kroah-Hartman Date: Mon Mar 23 17:09:40 2009 -0700 Staging: serqt_usb: add TODO file Adds a TODO file Signed-off-by: Greg Kroah-Hartman commit a9ea226670ffe24dd9b2f8ccc0909dfb14e35dd1 Author: Greg Kroah-Hartman Date: Mon Mar 23 17:07:37 2009 -0700 Staging: serqt_usb: Lindent the code Run Lindent on the code to give us someplace to work from Signed-off-by: Greg Kroah-Hartman commit 5ca0121ff24d2efba208a0f6df2cb6e372170d1d Author: Greg Kroah-Hartman Date: Mon Mar 23 16:43:59 2009 -0700 Staging: add USB serial Quatech driver Add support for all Quatech usb to serial devices. Based on an original driver from Quatech. Cleaned up and forward ported by me. It's a mess, uses it's own tty layer interface, and the coding style is horrible. Cc: Tim Gobeli Signed-off-by: Greg Kroah-Hartman commit 4e9bf410dc6006e95aba512272747bc8f30e7a20 Author: Greg Kroah-Hartman Date: Sun Mar 22 21:44:31 2009 +0100 staging: document that the wifi staging drivers a bit better The Linux wireless developers don't want to hear anything about the staging wireless drivers, for a wide range of miopic reasons. The following patch, based on a patch from Johannes Berg, tries to document this issue a bit better. Cc: Johannes Berg Signed-off-by: Greg Kroah-Hartman commit dc57a3ea80a85a74094b873a693c3e07b2cb5da4 Author: Alexander Beregalov Date: Thu Mar 12 03:32:45 2009 +0300 Staging: echo cleanup before: errors lines of code errors/KLOC drivers/staging/echo/ 213 1701 125.2 after: errors lines of code errors/KLOC drivers/staging/echo/ 8 1685 4.7 Compile tested. Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 2961f24f78f456a0a2d0dada56ee795232fe21b3 Author: Stoyan Gaydarov Date: Tue Mar 10 00:10:27 2009 -0500 Staging: BUG to BUG_ON changes Signed-off-by: Stoyan Gaydarov Signed-off-by: Greg Kroah-Hartman commit 0773a5c07641ddef7f94636292921e12f2efab02 Author: Wei Yongjun Date: Wed Feb 25 18:26:33 2009 +0800 Staging: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: Greg Kroah-Hartman commit bbe364ddedd84ee5a4bec65fa0ca56caf09d6802 Author: Randy Dunlap Date: Wed Mar 18 10:00:16 2009 -0700 Staging: line6: fix build error, select SND_RAWMIDI line6 needs to select SND_RAWMIDI, like many other drivers do. ERROR: "snd_rawmidi_set_ops" [drivers/staging/line6/line6usb.ko] undefined! ERROR: "snd_rawmidi_new" [drivers/staging/line6/line6usb.ko] undefined! ERROR: "snd_rawmidi_transmit_peek" [drivers/staging/line6/line6usb.ko] undefined! ERROR: "snd_rawmidi_transmit_ack" [drivers/staging/line6/line6usb.ko] undefined! ERROR: "snd_rawmidi_receive" [drivers/staging/line6/line6usb.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 9cd57f777724b941cd2e22a7124be7c09bb3132b Author: Greg Kroah-Hartman Date: Fri Feb 27 22:43:57 2009 -0800 Staging: line6: fix checkpatch errors in variax.c Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6353773b5230514d4f1d3dc98a84a72e3a954e87 Author: Greg Kroah-Hartman Date: Fri Feb 27 22:43:45 2009 -0800 Staging: line6: fix checkpatch errors in toneport.c Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 68dc3dde0213c0560b6117998088f3e992934d37 Author: Greg Kroah-Hartman Date: Fri Feb 27 22:43:30 2009 -0800 Staging: line6: fix checkpatch errors in pcm.c Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit ce9b490cbf1cffa988fce64e6ff824bdd241d87e Author: Greg Kroah-Hartman Date: Fri Feb 27 22:43:11 2009 -0800 Staging: line6: fix checkpatch errors in midibuf.c Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit d7e3733619a612ffabced37c878b9d30f060ff69 Author: Greg Kroah-Hartman Date: Fri Feb 27 22:42:55 2009 -0800 Staging: line6: fix checkpatch errors in midi.c Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 766f9d20a1b1fcf5c84b3eb1d96f35a4d882cdeb Author: Greg Kroah-Hartman Date: Fri Feb 27 22:42:34 2009 -0800 Staging: line6: fix checkpatch errors in dumprequest.c Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 36445bc118848df0eed1e2da400b2b66041a2c9c Author: Greg Kroah-Hartman Date: Fri Feb 27 22:42:18 2009 -0800 Staging: line6: fix checkpatch errors in driver.c Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit dfc70567d76b9d506855fd5b334a4dd0ebdf1aa7 Author: Greg Kroah-Hartman Date: Fri Feb 27 22:41:54 2009 -0800 Staging: line6: fix checkpatch errors in audio.c Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 0fdef36aca8a2900d3a5c113f6973d84cf38d7b7 Author: Greg Kroah-Hartman Date: Fri Feb 27 22:41:29 2009 -0800 Staging: line6: fix checkpatch errors in pod.c 2 errors left, but they are minor. Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 010f378e8c839a03f7741c95791a7b9980a9cdc2 Author: Greg Kroah-Hartman Date: Fri Feb 27 22:41:12 2009 -0800 Staging: line6: fix checkpatch errors in playback.c 2 errors left, but they are minor. Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9a92fadcc6731de03d6bdcf8fbfce08533d13523 Author: Greg Kroah-Hartman Date: Fri Feb 27 22:40:27 2009 -0800 Staging: line6: fix checkpatch errors in control.c 1 error left, but it's minor. Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6efc5667ef588df7156e1c481383f8dbff4fa409 Author: Greg Kroah-Hartman Date: Fri Feb 27 22:39:22 2009 -0800 Staging: line6: fix checkpatch errors in capture.c 2 errors left, but they are minor. Lots of warnings also fixed up. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit a49e483835823ab97028f396531d83b6668734cf Author: Greg Kroah-Hartman Date: Fri Feb 27 21:09:55 2009 -0800 Staging: line6: coding style cleanups for .h files. Mostly all line length issues. Skipped the control.h file as it makes sense to leave it alone. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 536165d8ef6933131bf7166338eafa77b75f8bb7 Author: Greg Kroah-Hartman Date: Fri Feb 27 20:49:46 2009 -0800 Staging: line6: fix up NULL assignment mistakes Should use NULL for a pointer, not 0, otherwise sparse complains. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit b702ed253d33d056987e92299687d8ed85195896 Author: Greg Kroah-Hartman Date: Fri Feb 27 20:45:03 2009 -0800 Staging: line6: static function cleanups This fixes all of the static function warnings that sparse complains about. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4cb8f302738bd4d1fb5e2b909b735e8826558fbf Author: Greg Kroah-Hartman Date: Fri Feb 27 20:32:10 2009 -0800 Staging: line6: remove KERNEL_VERSION checks As the code is in the kernel tree, it's no longer needed. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 0c7ab1580f82d882478db61467005693b4b4c063 Author: Greg Kroah-Hartman Date: Fri Feb 27 20:28:04 2009 -0800 Staging: line6: remove PT_REGS As the code is in the kernel tree, it's no longer needed. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 77491e524ccb78adfad9cdc1b0b175c4e9fd0368 Author: Greg Kroah-Hartman Date: Fri Feb 27 20:25:43 2009 -0800 Staging: line6: remove DEVICE_ATTRIBUTE As the code is in the kernel tree, it's no longer needed. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 7e60fcb54f32e30f065a77b30f03370a287fda99 Author: Randy Dunlap Date: Mon Mar 2 09:54:57 2009 -0800 Staging: line6: depends on SND line6 code has lots of dependencies on ALSA (and build errors), so express that in Kconfig. Signed-off-by: Randy Dunlap Cc: Markus Grabner Signed-off-by: Greg Kroah-Hartman commit 4b5e781dc8d981e9c58926464fc1fff16a8804ff Author: Greg Kroah-Hartman Date: Fri Feb 27 19:50:03 2009 -0800 Staging: line6: add to the build This adds the line6 driver to the build system. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4717b03b56fedd1c44fe6a0701cd4e36e97efbab Author: Greg Kroah-Hartman Date: Fri Feb 27 19:49:00 2009 -0800 Staging: line6: fix bus_id usage bus_id is now gone in the linux-next tree, so replace it with dev_name() so the code works properly. Cc: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 705ececd1c60d0f5d6ef2a719008847883516970 Author: Markus Grabner Date: Fri Feb 27 19:43:04 2009 -0800 Staging: add line6 usb driver This is an experimental Linux driver for the guitar amp, cab, and effects modeller PODxt Pro by Line6 (and similar devices), supporting the following features: - Reading/writing individual parameters - Reading/writing complete channel, effects setup, and amp setup data - Channel switching - Virtual MIDI interface - Tuner access - Playback/capture/mixer device for any ALSA-compatible PCM audio application - Signal routing (record clean/processed guitar signal, re-amping) Moreover, preliminary support for the Variax Workbench is included. From: Markus Grabner Cc: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit e642f09951f7cbb69983781b07bb9cd881546ac4 Author: Greg Kroah-Hartman Date: Wed Feb 25 16:14:55 2009 -0800 Staging: add rt3070 wireless driver This is the Ralink RT3070 driver from the company that does horrible things like reading a config file from /etc. However, the driver that is currently under development from the wireless development community is not working at all yet, so distros and users are using this version instead (quite common hardware on a lot of netbook machines). So here is this driver, for now, until the wireless developers get a "clean" version into the main tree, or until this version is cleaned up sufficiently to move out of the staging tree. Ported to the Linux build system, fixed lots of build issues, forward ported to the current kernel version, and other minor cleanups were all done by me. Cc: Linux wireless Signed-off-by: Greg Kroah-Hartman commit 21a6a6e9f81fb26fbcecbb1304018d34dcd1794f Author: Greg Kroah-Hartman Date: Wed Feb 25 13:11:52 2009 -0800 Staging: heci: add TODO file List some of the remaining issues in the code. Cc: Anas Nashif Cc: Marcin Obara Signed-off-by: Greg Kroah-Hartman commit c4739ea63c56928103bc1748c6d9b1df5d815a02 Author: Greg Kroah-Hartman Date: Wed Feb 25 13:06:49 2009 -0800 Staging: heci: fix some sparse warnings This resolves a lot of the more obvious sparse warnings in the code. There still are some major problems in the ioctl handlers dealing with user and kernel pointers that this patch does not resolve, that needs to be addressed still. Also, the locking seems to be a bit strange in places, which sparse points out, that too need to be resolved. Cc: Anas Nashif Cc: Marcin Obara Signed-off-by: Greg Kroah-Hartman commit bc154a3862260ef8d83ff750daa1b6cfbfa129cc Author: Greg Kroah-Hartman Date: Wed Feb 25 12:41:16 2009 -0800 Staging: heci: fix checkpatch warnings This resolves the outstanding scripts/checkpatch.pl warnings Cc: Anas Nashif Cc: Marcin Obara Signed-off-by: Greg Kroah-Hartman commit 441926795d77a3da1be99dca1720130cf46c728b Author: Greg Kroah-Hartman Date: Wed Feb 25 12:36:14 2009 -0800 Staging: heci: remove kcompat.h It's not needed now that we are now in the main kernel tree. Cc: Anas Nashif Cc: Marcin Obara Signed-off-by: Greg Kroah-Hartman commit d52b3d9c720a88d9268c92060740ed0cf87795d5 Author: Marcin Obara Date: Wed Feb 25 12:29:24 2009 -0800 Staging: add heci driver The Intel Management Engine Interface (aka HECI: Host Embedded Controller Interface ) enables communication between the host OS and the Management Engine firmware. MEI is bi-directional, and either the host or Intel AMT firmware can initiate transactions. The core hardware architecture of Intel Active Management Technology (Intel AMT) is resident in firmware. The micro-controller within the chipset's graphics and memory controller (GMCH) hub houses the Management Engine (ME) firmware, which implements various services on behalf of management applications. Some of the ME subsystems that can be access via MEI driver: - Intel(R) Quiet System Technology (QST) is implemented as a firmware subsystem that runs in the ME. Programs that wish to expose the health monitoring and fan speed control capabilities of Intel(R) QST will need to use the MEI driver to communicate with the ME sub-system. - ASF is the "Alert Standard Format" which is an DMTF manageability standard. It is implemented in the PC's hardware and firmware, and is managed from a remote console. Most recent Intel desktop chipsets have one or more of the above ME services. The MEI driver will make it possible to support the above features on Linux and provides applications access to the ME and it's features. Signed-off-by: Anas Nashif Signed-off-by: Marcin Obara Signed-off-by: Greg Kroah-Hartman commit 2418a628ff9d1cfc4fecd9899f915326ff6e7b96 Author: Greg Kroah-Hartman Date: Tue Feb 24 20:37:55 2009 -0800 Staging: p9auth: clean up #includes Not all of these files needed to be included, clean up the list. Cc: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit 6d0d63bd7a9c0a6373c7759cb55580b806269dae Author: Greg Kroah-Hartman Date: Tue Feb 24 20:31:39 2009 -0800 Staging: p9auth: use kzalloc It's nicer than doing kmalloc/memset. Also check the return value of all allocations, one was previously not being checked properly. Cc: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit 0f386e2b4c6109164e82277513a9570fc9ec644c Author: Greg Kroah-Hartman Date: Tue Feb 24 20:25:02 2009 -0800 Staging: p9auth: fix up sparse warnings Everything needs to be static, as sparse complains and you don't want to polute the global kernel symbol namespace. So mark everything as such and move one function around to prevent a forward declaration from being needed. Cc: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit 77dc1139f4a125d46e03fdbb3ac8ab8737ab67d6 Author: Greg Kroah-Hartman Date: Tue Feb 24 20:21:55 2009 -0800 Staging: p9auth: fix up codingstyle issues This fixes up a number of scripts/codingstyle.pl warnings and errors Cc: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit 4bf0438332d5173836fdc2d6471fec526d0a14a8 Author: Greg Kroah-Hartman Date: Tue Feb 24 20:11:39 2009 -0800 Staging: p9auth: remove unneeded header file The p9auth.h file is not needed, move the stuff into p9auth.c file and delete it. Cc: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit 9752ef46c6d32b7ccf10b874f00e433844db2b1a Author: Randy Dunlap Date: Tue Mar 10 11:59:36 2009 -0700 Staging: p9auth: fix dependency/build error Fix p9auth dependency/build failure. It needs to depend on CRYPTO. p9auth.c:(.text+0x107297): undefined reference to `crypto_alloc_base' p9auth.c:(.text+0x1073d4): undefined reference to `crypto_destroy_tfm' Signed-off-by: Randy Dunlap Cc: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit 00db8a8ecc91abeb46d1128a788a194018c51e77 Author: Greg Kroah-Hartman Date: Tue Feb 24 20:08:20 2009 -0800 Staging: p9auth: add to the kernel build This adds the p9auth code to the kernel build Cc: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit 5dba0826999683fe39aa8b49480b0e953afd117a Author: Greg Kroah-Hartman Date: Tue Feb 24 20:06:34 2009 -0800 Staging: p9auth: fix credential logic current->uid is no longer allowed in the 2.6.29 kernel, so use the proper credential api to be able to alter the uid and euid values. Note, this now builds properly, hopefully still works properly, would be good for someone to test it out... Cc: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit 55643171de7ba429fbf2cb72fb1f2c6f2df0dcf3 Author: Ashwin Ganti Date: Tue Feb 24 19:48:44 2009 -0800 Staging: add p9auth driver This is a driver that adds Plan 9 style capability device implementation. From: Ashwin Ganti Signed-off-by: Greg Kroah-Hartman commit bea3e747f3ff1abe8d7f730bbf7d195f0e14d6ad Author: Greg Kroah-Hartman Date: Mon Mar 23 13:42:58 2009 -0700 Staging: epl: remove pointless highres timer check The code only gets built if this option is enabled, so don't check for it in the code again. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 7c14e54458b7f419fbaa802657c2535b2fdf217e Author: Greg Kroah-Hartman Date: Mon Mar 23 13:41:23 2009 -0700 Staging: epl: don't check for devfs devfs is long dead and burried, don't check for it, as it doesn't make any sense to do so. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 70e2db22bd520018b39ea7d50ebbcec5042efd9f Author: Greg Kroah-Hartman Date: Mon Mar 23 13:39:35 2009 -0700 Staging: epl: fix up epl/kernel/*.h files Only include a file if it's needed. Also remove some unused comments from the boilerplate text. And delete some empty .h files Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 046f45fa714046ac400e22f48ec8ac77e7faf5cc Author: Greg Kroah-Hartman Date: Mon Mar 23 13:38:43 2009 -0700 Staging: epl: fix up epl/user/*.h files Only include a file if it's needed. Also remove some unused comments from the boilerplate text. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit d9068d622f6e8aeaba4049b6d4953cebc2b90938 Author: Greg Kroah-Hartman Date: Mon Mar 23 13:26:29 2009 -0700 Staging: epl: remove EPLDLLEXPORT This isn't a DLL, so we don't need this :) Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit e05ab09aeb36c55f0f3fe3146f9a87ddad9497bf Author: Greg Kroah-Hartman Date: Mon Mar 23 13:12:00 2009 -0700 Staging: epl: fix sparse warning in proc_fs.c proc_fs.c needs to include proc_fs.h Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit b3491294994bf9d2b86d400132416ac95ef6b33a Author: Greg Kroah-Hartman Date: Mon Mar 23 13:07:51 2009 -0700 Staging: epl: remove kernel version checks They are no longer needed now that we are in the kernel. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 01f5e0322d5e04049f0b1fb5d747d088dec45241 Author: Greg Kroah-Hartman Date: Mon Mar 23 13:05:08 2009 -0700 Staging: epl: clean up demo_main.c Fix some static symbols and drop the kernel version checks. Also comment out the init and exit functions, as they don't get used anymore. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 85df0b85205a716feeaea7caecbb274d422d3b7b Author: Greg Kroah-Hartman Date: Mon Mar 23 13:01:08 2009 -0700 Staging: epl: fix up some non-ANSI functions () isn't valid, you need to put (void). Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit dcf5371cdea03b09b6cc506d2cd538138bd643a8 Author: Greg Kroah-Hartman Date: Mon Mar 23 12:57:39 2009 -0700 Staging: epl: remove WORD It's u16 in kernelspace, not WORD. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit d539cfb03ad31e4ba5d6b18ea65954da9a785fe6 Author: Greg Kroah-Hartman Date: Mon Mar 23 12:51:37 2009 -0700 Staging: epl: remove DWORD It's u32 in kernelspace, not DWORD. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit a5c30d94b226ca473b1001b382e9e465921f8301 Author: Greg Kroah-Hartman Date: Mon Mar 23 12:43:05 2009 -0700 Staging: epl: remove QWORD It's u64 in kernelspace, not QWORD. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 2ed53cf8a523d3e2fc133d892f8d040c3fc9656d Author: Greg Kroah-Hartman Date: Mon Mar 23 12:36:38 2009 -0700 Staging: epl: remove BYTE It's u8 in kernelspace, not BYTE. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 48c13450c82817f6ce2d33fdb3692a759817c00b Author: Greg Kroah-Hartman Date: Mon Mar 23 12:30:36 2009 -0700 Staging: epl: delete EdrvFec5282.h No one is using it. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 5d9d5eb2bf0f31e41851c4cee01f7ba51dd11bf2 Author: Greg Kroah-Hartman Date: Mon Mar 23 12:24:46 2009 -0700 Staging: epl: remove CONST Just make it const Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit e6cc5eac8a823fb9674f46cd5050d607009b4a72 Author: Greg Kroah-Hartman Date: Mon Mar 23 12:21:08 2009 -0700 Staging: epl: remove some unused types SHORT, USHORT, INT, UINT, LONG, and ULONG aren't used, so delete them. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit c7c38309e4709b4cce4b9c6373e7f1dd7d2d8c8c Author: Greg Kroah-Hartman Date: Mon Mar 23 12:12:46 2009 -0700 Staging: epl: remove compiler warning from SharedBuff.c Yeah, it's a buffer, but this sure can't hurt as it's not easy to unwind where it's coming from. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit b852ba7d38a210b2d23c514f191582033b371e89 Author: Greg Kroah-Hartman Date: Mon Mar 23 12:10:47 2009 -0700 Staging: epl: remove REENTRANT It's not used and is not needed. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 5e9f6bc67d44c7b73208d4038b8a637ff942ca52 Author: Greg Kroah-Hartman Date: Mon Mar 23 12:09:26 2009 -0700 Staging: epl: remove MEM It's not used and is not needed. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 5318487c34b99de4f9978ae1a8f963d25d767734 Author: Greg Kroah-Hartman Date: Mon Mar 23 11:48:19 2009 -0700 Staging: epl: remove ROM It's not used and is not needed. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit f15a88fae1b75bfcf19d25e557d7ef5301562ec6 Author: Greg Kroah-Hartman Date: Mon Mar 23 11:44:31 2009 -0700 Staging: epl: remove FAR It's not used and is not needed. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 44b71174dfe579690c8f91d51763e05ca72169e2 Author: Greg Kroah-Hartman Date: Mon Mar 23 11:39:15 2009 -0700 Staging: epl: remove NEAR It wasn't used and isn't needed. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit bd3966d5dc109a7f5cfcd7e14a851acc18d69324 Author: Greg Kroah-Hartman Date: Mon Mar 23 11:37:22 2009 -0700 Staging: epl: remove GENERIC It wasn't used and isn't needed. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 9c91f7b4aaa0c37af0f1dd9085c0eabf7cb880a8 Author: Greg Kroah-Hartman Date: Mon Mar 23 11:34:49 2009 -0700 Staging: epl: remove EplObjDef.h No one was using it, so delete it. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 197105a5349d69fff902149cbe7fe7475561d69a Author: Greg Kroah-Hartman Date: Mon Mar 23 11:33:12 2009 -0700 Staging: epl: unwind rest of _LINUX_ #ifdefs All the non-Linux #defines are now resolved, so remove the board/system type defines as they are not needed anymore. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 541a8bde90068471e9fc26cfe4c5fcb11dcd751b Author: Greg Kroah-Hartman Date: Mon Mar 23 11:19:28 2009 -0700 Staging: epl: remove __KERNEL__ checks We are in the kernel, so these checks are pointless. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 563b125de36c91722f038f11da374d49de168917 Author: Greg Kroah-Hartman Date: Mon Mar 23 11:14:48 2009 -0700 Staging: epl: remove INLINE mess extern inline isn't the nicest and it doesn't really make sense. So unwind all the INLINE defines and includes, if speed is _really_ an issue later stuff can be put back in a sane manner. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 54e49dddd0983a1f4612e1843a2b193940a4e985 Author: Greg Kroah-Hartman Date: Mon Mar 23 10:54:14 2009 -0700 Staging: epl: remove _WIN_32_ and _NO_OS_ defines They are not used. Also remove the code that was looking for them. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit d10f46992fb59de804550999806e1e0c0aa335a8 Author: Greg Kroah-Hartman Date: Mon Mar 23 10:45:12 2009 -0700 Staging: epl: remove PUBLIC definition It doesn't make sense here, so delete it. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 335914e315103100dd27a648744fd2440d31075d Author: Greg Kroah-Hartman Date: Mon Mar 23 09:33:20 2009 -0700 Staging: epl: remove NULL from global.h Don't define something that is already defined in the kernel. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit b4a4d56898aac07ac98488c1bc3193fe4f2e126d Author: Greg Kroah-Hartman Date: Mon Mar 23 09:31:01 2009 -0700 Staging: epl: remove complier macros from global.h As we are only building within the Linux kernel, remove all of the different system types from global.h, they are not needed at all. First step of many to clean up the code to match the kernel coding style rules. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 06c86229b04ca6909d2815da9db0ae2ae5ecee1e Author: Greg Kroah-Hartman Date: Mon Mar 23 09:12:08 2009 -0700 Staging: epl: remove unneeded files There were 3 .c files that was not used in the drivers/staging/epl/ directory. This patch removes these unused files. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 0191492309432aab9c1e224691dcb05a3563726a Author: Greg Kroah-Hartman Date: Fri Mar 20 21:34:38 2009 -0700 Staging: comedi: fix 64bit build errors This patch fixes the 64bit build errors in the comedi code. Reported-by: Randy Dunlap Cc: Alessio Igor Bogani Signed-off-by: Greg Kroah-Hartman commit 180027136b30d25f3824573e77c080056dc3e6d4 Author: Bill Pemberton Date: Thu Mar 19 18:00:52 2009 -0400 Staging: comedi: Remove CHAR, *PCHAR, and *PCSTR typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 3019b4106bf8c2658343a84361f4f1abb6280633 Author: Bill Pemberton Date: Thu Mar 19 18:00:47 2009 -0400 Staging: comedi: Remove use of VOID typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 63aa142aca0e4b63347e91b8c6909fbad7e7c7ac Author: Bill Pemberton Date: Thu Mar 19 18:00:42 2009 -0400 Staging: comedi: Remove me4000_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 126974dc8c432535f9eef36956056b88a153bfb3 Author: Bill Pemberton Date: Thu Mar 19 18:00:37 2009 -0400 Staging: comedi: Remove me4000_cnt_context_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ff585603bdca766398e24037e9375b76507e2e60 Author: Bill Pemberton Date: Thu Mar 19 18:00:31 2009 -0400 Staging: comedi: Remove me4000_dio_context_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8b95a0e17f416e1db80c26ecd8f3e894ad271d0b Author: Bill Pemberton Date: Thu Mar 19 18:00:26 2009 -0400 Staging: comedi: Remove me4000_ai_context_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 21921108bef40b75495301f5dd3d992ed66a7ba8 Author: Bill Pemberton Date: Thu Mar 19 18:00:21 2009 -0400 Staging: comedi: Remove me4000_ao_context_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 27f4caaa3b27badb3e245a50b09ba35f040f3a77 Author: Bill Pemberton Date: Thu Mar 19 18:00:16 2009 -0400 Staging: comedi: Remove me4000_board_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 79dcd042246ea49879bc9c15ed6592848f2f3828 Author: Bill Pemberton Date: Thu Mar 19 18:00:10 2009 -0400 Staging: comedi: Remove me4000_cnt_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e81d65b30ccc3f663f7bb3158567c247c3084ece Author: Bill Pemberton Date: Thu Mar 19 18:00:05 2009 -0400 Staging: comedi: Remove me4000_dio_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0c18e8c046b5ec21e9e0b458807db260309a8f5d Author: Bill Pemberton Date: Thu Mar 19 18:00:00 2009 -0400 Staging: comedi: Remove me4000_ai_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8d95123295fde18ac22cfeb8eaa0dcc05898b35b Author: Bill Pemberton Date: Thu Mar 19 17:59:55 2009 -0400 Staging: comedi: Remove me4000_ao_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 05d21f4af416d9c7e1c8458a00efd69e44c3dc8c Author: Bill Pemberton Date: Thu Mar 19 17:59:49 2009 -0400 Staging: comedi: Remove das08_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 2e93aa5b5b8050090a22e162f9af6b18ca3ec47a Author: Bill Pemberton Date: Thu Mar 19 17:59:44 2009 -0400 Staging: comedi: Remove nidio96_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 30570f0dee2b0e3ede09e08eb5dfd514317a7587 Author: Bill Pemberton Date: Thu Mar 19 17:59:39 2009 -0400 Staging: comedi: ni_daq_700.c: Remove local_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4cab3740734fb8582fa68f899105790c05935b55 Author: Bill Pemberton Date: Thu Mar 19 17:59:34 2009 -0400 Staging: comedi: Remove dio700_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8c8a28852be4e876afdac208a41ab001dc817f99 Author: Bill Pemberton Date: Thu Mar 19 17:59:28 2009 -0400 Staging: comedi: Remove atmio16d_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 01983c39f023efa7204eb6b61480d5c495124240 Author: Bill Pemberton Date: Thu Mar 19 17:59:23 2009 -0400 Staging: comedi: Remove atao_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 92b635c5bea18d7eb3c46bfdcc930d9d86d3d177 Author: Bill Pemberton Date: Thu Mar 19 17:59:18 2009 -0400 Staging: comedi: Remove a2150_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 43313b07343b81463c8edd99a8c315c6dc2d5c7d Author: Bill Pemberton Date: Thu Mar 19 17:59:12 2009 -0400 Staging: comedi: Remove ni_670x_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b3be94eade6d07270e2a89599f99d42bbcfd6e84 Author: Bill Pemberton Date: Thu Mar 19 17:59:07 2009 -0400 Staging: comedi: Remove ni_660x_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 50792813130b94a64e34b89cd2cbfddeb85b7518 Author: Bill Pemberton Date: Thu Mar 19 17:59:02 2009 -0400 Staging: comedi: Remove ni_660x_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 251411cf05f3e7630f600a89f51fe9a82da967f8 Author: Bill Pemberton Date: Thu Mar 19 17:58:57 2009 -0400 Staging: comedi: Remove NI_660x_Register typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6179e3e9bbec5df830ccca3970df80967347b410 Author: Bill Pemberton Date: Thu Mar 19 17:58:51 2009 -0400 Staging: comedi: Remove ni_65xx_subdevice_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 47c30a2cc336d493d624d8437f41c19a270bb672 Author: Bill Pemberton Date: Thu Mar 19 17:58:46 2009 -0400 Staging: comedi: Remove ni_65xx_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f4c6b31958afecc08c8e83f3bc25161ce4442542 Author: Bill Pemberton Date: Thu Mar 19 17:58:41 2009 -0400 Staging: comedi: Remove ni6527_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 97070b32a886d53b7343bcb28ed38d906fa95f50 Author: Bill Pemberton Date: Thu Mar 19 17:58:25 2009 -0400 Staging: comedi: comedi: remove C99 comments in skel.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 450032a318ebfc95121fc548442217592803f4a7 Author: Bill Pemberton Date: Thu Mar 19 17:57:22 2009 -0400 Staging: comedi: Remove pcidas64_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 222ab1bc78dd8a48576e904da37fd6f71cb41a7e Author: Bill Pemberton Date: Thu Mar 19 17:57:11 2009 -0400 Staging: comedi: Remove pcidas64_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 675935dd95cf24e81982e57021d03d5bf8bdac60 Author: Bill Pemberton Date: Thu Mar 19 17:57:06 2009 -0400 Staging: comedi: Remove hw_fifo_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4a5a33b622ca46acd0a7c593a804964353d54a7b Author: Bill Pemberton Date: Thu Mar 19 14:22:44 2009 -0400 Staging: comedi: Remove 2.4 irqreturn_t compatibility in comedi/interrupt.h This allows the comedi driver to build after commit bedd3..058bb is applied. Signed-off-by: Bill Pemberton Reported-by: Sachin Sant Reported-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit ab64f663412716193ccafefd7e6cc27dcf691ac8 Author: Bill Pemberton Date: Mon Mar 16 22:19:53 2009 -0400 Staging: comedi: quatech_daqp_cs: Remove local_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e21ffa44f55ebf7f6f7d1e60a49463ca579c056a Author: Bill Pemberton Date: Mon Mar 16 22:18:54 2009 -0400 Staging: comedi: serial2002: Remove serial2002_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 404d108d8f5968f47ba72417a3532f213e020914 Author: Bill Pemberton Date: Mon Mar 16 22:17:49 2009 -0400 Staging: comedi: skel.c: Remove skel_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1de6a6fd5b672f3a2d8aa6ebe4c85552f091277b Author: Bill Pemberton Date: Mon Mar 16 22:17:33 2009 -0400 Staging: comedi: rti800: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 180089a8966e712cb8cb9af1d7401c3e12453d74 Author: Bill Pemberton Date: Mon Mar 16 22:17:22 2009 -0400 Staging: comedi: pcm3724: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1c7f40d91b99e73ae11056708225058afd0278d7 Author: Bill Pemberton Date: Mon Mar 16 22:17:11 2009 -0400 Staging: comedi: pcl816: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit fb1314de41d8fbd14e7aeb735d7849be8a852dbc Author: Bill Pemberton Date: Mon Mar 16 22:17:06 2009 -0400 Staging: comedi: pcl812: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 292090dcc85a6e8a4132a6551d73bc467b270693 Author: Bill Pemberton Date: Mon Mar 16 22:17:01 2009 -0400 Staging: comedi: pcl730: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 747887a6210a6dc3dcfd40bdcc88ea65c85fcea3 Author: Bill Pemberton Date: Mon Mar 16 22:16:55 2009 -0400 Staging: comedi: pcl726: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 01820e023e5cd162ce629bd5961aabf6dd999e7a Author: Bill Pemberton Date: Mon Mar 16 22:16:50 2009 -0400 Staging: comedi: pcl724: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6445296e9857ff4a3992454eda7ebb63f90cdca9 Author: Bill Pemberton Date: Mon Mar 16 22:16:45 2009 -0400 Staging: comedi: pcl711: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 42f1884d0683d0d0d4b0895aaed02dbed5d8b921 Author: Bill Pemberton Date: Mon Mar 16 22:14:46 2009 -0400 Staging: comedi: dt2811: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 938f185d4eea489ad802554e2faef9c99e377aa5 Author: Bill Pemberton Date: Mon Mar 16 22:13:47 2009 -0400 Staging: comedi: das800: Remove das800_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b90c76fd78a101835eb1cc17271d008ed51688d3 Author: Bill Pemberton Date: Mon Mar 16 22:11:27 2009 -0400 Staging: comedi: cb_pcimdas: Remove timer_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 502dd07999b48994dc3c86a0c44f1a684299d44f Author: Bill Pemberton Date: Mon Mar 16 22:06:53 2009 -0400 Staging: comedi: acl7225b: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit fe0ff175329a83de8f9aac7c0b759cde15cb2247 Author: Bill Pemberton Date: Mon Mar 16 22:18:43 2009 -0400 Staging: comedi: Remove pcl816_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8e7b864b3c8357dd8318ade3970cd3b5fe0571e0 Author: Bill Pemberton Date: Mon Mar 16 22:18:48 2009 -0400 Staging: comedi: Remove priv_pcm3724 typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 050509fa558306399f2a987956514a8f849846ef Author: Bill Pemberton Date: Mon Mar 16 22:20:57 2009 -0400 Staging: comedi: Remove six_axis_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c611ad3313831f1f79b063b282deb4248e283f39 Author: Bill Pemberton Date: Mon Mar 16 22:20:52 2009 -0400 Staging: comedi: Remove s526_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6ae9488bafce561c087310c051f92bbd0a27b891 Author: Bill Pemberton Date: Mon Mar 16 22:20:47 2009 -0400 Staging: comedi: Remove transform_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 39f7666080909466c0ed6d5fa48cce3403033ced Author: Bill Pemberton Date: Mon Mar 16 22:20:41 2009 -0400 Staging: comedi: Remove s526_gpct_config_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 055f6636d9eb27bc13236e07739e019496c21221 Author: Bill Pemberton Date: Mon Mar 16 22:20:36 2009 -0400 Staging: comedi: Remove pcmuio_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e56ab7156f5f4918eb89a19b3061de1a7fe69354 Author: Bill Pemberton Date: Mon Mar 16 22:20:30 2009 -0400 Staging: comedi: Remove pcmmio_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c6a3b7b657fb91500bd6946117056284bb0a20c1 Author: Bill Pemberton Date: Mon Mar 16 22:20:25 2009 -0400 Staging: comedi: Remove jr3_pci_subdev_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 33a4640f312c4ee583470e7d4b1aaed5026438f6 Author: Bill Pemberton Date: Mon Mar 16 22:20:20 2009 -0400 Staging: comedi: Remove unioxx5_subd_priv typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c0d1482252b9b87c62b8d0ddb7ceecc369c6e34e Author: Bill Pemberton Date: Mon Mar 16 22:20:14 2009 -0400 Staging: comedi: Remove dnp_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c1dd2fa6a12bfba92d3522fa43173480f52dbaed Author: Bill Pemberton Date: Mon Mar 16 22:20:09 2009 -0400 Staging: comedi: Remove skel_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ca9ed0f295a5e85861c63713406d86643e570580 Author: Bill Pemberton Date: Mon Mar 16 22:20:03 2009 -0400 Staging: comedi: Remove serial2002_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit dfb0503e2baf2292da93faae78db4bb98d9f095e Author: Bill Pemberton Date: Mon Mar 16 22:19:58 2009 -0400 Staging: comedi: Remove S526_GPCT_APP_CLASS typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 387c136adc72da7f06f37274822ad9c38f529156 Author: Bill Pemberton Date: Mon Mar 16 22:19:47 2009 -0400 Staging: comedi: Remove pcmda12_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e15849e54405152087cd343437747db8d931fcd7 Author: Bill Pemberton Date: Mon Mar 16 22:19:42 2009 -0400 Staging: comedi: Remove pcmuio_subdev_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4467df9406bc40fdbc9cf64cfb2e95cba8f77e1e Author: Bill Pemberton Date: Mon Mar 16 22:19:37 2009 -0400 Staging: comedi: Remove pcmmio_subdev_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 97baaedfa440fb988d8725cc9a3b16bcc12ff611 Author: Bill Pemberton Date: Mon Mar 16 22:19:31 2009 -0400 Staging: comedi: Remove pci20xxx_subdev_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e2b523aab1b04e7edc092588abbafa67f560deb4 Author: Bill Pemberton Date: Mon Mar 16 22:19:26 2009 -0400 Staging: comedi: Remove config_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 201007e8bc7b3e94be823eda5a684199152410d1 Author: Bill Pemberton Date: Mon Mar 16 22:19:20 2009 -0400 Staging: comedi: Remove rti802_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9335f2613b6beca0f3f3e20ce5a550d1ffe66aa2 Author: Bill Pemberton Date: Mon Mar 16 22:19:15 2009 -0400 Staging: comedi: Remove rti800_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 70a6001aeffeaa12f2a1c21470e8f3bdfb6ef8e7 Author: Bill Pemberton Date: Mon Mar 16 22:19:10 2009 -0400 Staging: comedi: Remove pcmuio_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 657f81ec27758ddb859ea9c74929996bea607194 Author: Bill Pemberton Date: Mon Mar 16 22:19:04 2009 -0400 Staging: comedi: Remove pcmmio_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d89da61754236aee5ab8faf0cab7f5449a2fdd34 Author: Bill Pemberton Date: Mon Mar 16 22:18:59 2009 -0400 Staging: comedi: Remove dt2811_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 51091b5420c564093d721d2dad99a55bbb22d0d0 Author: Bill Pemberton Date: Mon Mar 16 22:18:37 2009 -0400 Staging: comedi: Remove pcl812_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit bf7f0610c6c215fb8a8cd26b697902810ee5b9e9 Author: Bill Pemberton Date: Mon Mar 16 22:18:32 2009 -0400 Staging: comedi: Remove pcl726_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e1c8638f3fb47c25b8dba170aadc8e29619fcd67 Author: Bill Pemberton Date: Mon Mar 16 22:18:27 2009 -0400 Staging: comedi: Remove pcl711_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 2e2269f90f2bb4e9438849f0690daba5cba29fc5 Author: Bill Pemberton Date: Mon Mar 16 22:18:21 2009 -0400 Staging: comedi: Remove cnt_device_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 83101a1770982817ecbcb7679439352795bc7a47 Author: Bill Pemberton Date: Mon Mar 16 22:18:16 2009 -0400 Staging: comedi: Remove poll_delay_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 352dec620aea9529180034fa461d290026ff57e9 Author: Bill Pemberton Date: Mon Mar 16 22:18:10 2009 -0400 Staging: comedi: Remove hpdi_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b81c8035ff531ae47b45f132cc0305d8c5c412c6 Author: Bill Pemberton Date: Mon Mar 16 22:18:05 2009 -0400 Staging: comedi: Remove dt3k_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 60efa611c788c4f5b9fdc206aeb9e7c91e0c3ffb Author: Bill Pemberton Date: Mon Mar 16 22:18:00 2009 -0400 Staging: comedi: Remove comment mentioning typedefs There are no typedefs left in this file, so no need for a comment pointing out the typedefs. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8532530040c05ab60e7d83c705713ef2629cd3bb Author: Bill Pemberton Date: Mon Mar 16 22:17:54 2009 -0400 Staging: comedi: Remove dnp_private_data typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b3fb588d463c575706fe80e9c30bf4b1c7702034 Author: Bill Pemberton Date: Mon Mar 16 22:17:44 2009 -0400 Staging: comedi: Remove serial2002_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6dc1ece008ab4e2bdddec3eca6d326a16b4f9849 Author: Bill Pemberton Date: Mon Mar 16 22:17:38 2009 -0400 Staging: comedi: Remove s526_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 39eb312d648b530afd147a7c8198f7536f441a94 Author: Bill Pemberton Date: Mon Mar 16 22:17:28 2009 -0400 Staging: comedi: Remove pcmda12_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 087ea31bdabb0395f83223c153a0557136461a85 Author: Bill Pemberton Date: Mon Mar 16 22:17:17 2009 -0400 Staging: comedi: Remove pcl818_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a7195f3d92f5fc560e597598a56d9c394b65ee81 Author: Bill Pemberton Date: Mon Mar 16 22:16:39 2009 -0400 Staging: comedi: Remove nidio_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c7ef22985517e35d3b5cf5cffa962a4b8ed8899b Author: Bill Pemberton Date: Mon Mar 16 22:16:34 2009 -0400 Staging: comedi: Remove ni_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 344d23e931fdb982489753e5189d9c60ffbdfd67 Author: Bill Pemberton Date: Mon Mar 16 22:16:28 2009 -0400 Staging: comedi: Remove dio24_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit adf328432473a9baf2b7b0a50864d9736890fa8a Author: Bill Pemberton Date: Mon Mar 16 22:16:23 2009 -0400 Staging: comedi: Remove dio700_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9f30c243c86483f24dc2687a8708985d147d63e0 Author: Bill Pemberton Date: Mon Mar 16 22:16:18 2009 -0400 Staging: comedi: Remove atmio16_board_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 75b807393272fcfcf54d1188c667dc0fccd1fb69 Author: Bill Pemberton Date: Mon Mar 16 22:16:12 2009 -0400 Staging: comedi: Remove atao_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 3cc3872bbd097a2bcbe740b7041b3d35cc8f0d3e Author: Bill Pemberton Date: Mon Mar 16 22:16:07 2009 -0400 Staging: comedi: Remove a2150_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8ce8a1fff26a88498cfa435cf964bcba87682daf Author: Bill Pemberton Date: Mon Mar 16 22:16:01 2009 -0400 Staging: comedi: Remove ni_670x_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0cb5e8ff4502d60967177038e2d740dae759e4b2 Author: Bill Pemberton Date: Mon Mar 16 22:15:56 2009 -0400 Staging: comedi: Remove NI_660xRegisterData typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 125edf55eb4c722afa76b43da40f24a6fd2421ef Author: Bill Pemberton Date: Mon Mar 16 22:15:51 2009 -0400 Staging: comedi: Remove ni_65xx_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 16d38ca3514bfcfad78f97dc136c955616303bf4 Author: Bill Pemberton Date: Mon Mar 16 22:15:45 2009 -0400 Staging: comedi: Remove ni6527_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6555be0a1c25576be6270bb43f1bd444df7d86f8 Author: Bill Pemberton Date: Mon Mar 16 22:15:40 2009 -0400 Staging: comedi: Remove mpc8260cpm_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 16450130a9f7006c91c9f49d725b9029fe711240 Author: Bill Pemberton Date: Mon Mar 16 22:15:34 2009 -0400 Staging: comedi: Remove skel_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9beff277bb14a844b5cb437fcdca9db7534ee44a Author: Bill Pemberton Date: Mon Mar 16 22:15:29 2009 -0400 Staging: comedi: Remove cnt_board_struct typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 217fbbbc74f136f35530cf9acb06d7231fbdc1f3 Author: Bill Pemberton Date: Mon Mar 16 22:15:24 2009 -0400 Staging: comedi: Remove jr3_pci_dev_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0e99a2b9a2367e47bebf8bdbb5aa0ce14d586968 Author: Bill Pemberton Date: Mon Mar 16 22:15:18 2009 -0400 Staging: comedi: Remove pci20xxx_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 52b3e3483d12f03ad6c1fa051a5db0b5656596c9 Author: Bill Pemberton Date: Mon Mar 16 22:15:13 2009 -0400 Staging: comedi: Remove hpdi_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit fa11f7a978b9b93f46408ead81dba035828c1ff9 Author: Bill Pemberton Date: Mon Mar 16 22:15:08 2009 -0400 Staging: comedi: Remove fl512_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c14e9208359c615f2e565277a607237635a1e413 Author: Bill Pemberton Date: Mon Mar 16 22:15:02 2009 -0400 Staging: comedi: Remove dt3k_boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0b011a6f40dfdda0e33cf5b38ce9ffb6fd7a825b Author: Bill Pemberton Date: Mon Mar 16 22:14:57 2009 -0400 Staging: comedi: Remove dt2815_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ca6f10ca8630d709e0d291fb9601f8c8d81c19a0 Author: Bill Pemberton Date: Mon Mar 16 22:14:52 2009 -0400 Staging: comedi: Remove dt2814_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 7f435c068c488527842461b9872c0484a3c9ae61 Author: Bill Pemberton Date: Mon Mar 16 22:14:41 2009 -0400 Staging: comedi: Remove dt2801_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4634b8154e23ced2f70a00ab3a22e6b1987fc348 Author: Bill Pemberton Date: Mon Mar 16 22:14:35 2009 -0400 Staging: comedi: Remove boardtype typedef in pcl818.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d438a1795754030b9b389d7a64981907a1869dc7 Author: Bill Pemberton Date: Mon Mar 16 22:14:30 2009 -0400 Staging: comedi: Remove boardtype_t typedef in dt2801.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 68b08cdad78c79fc87df52f8c8d4adf60ec5d7fc Author: Bill Pemberton Date: Mon Mar 16 22:14:25 2009 -0400 Staging: comedi: Remove dt282x_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 98484c1ae621eb784c4b2a7dd6c76a069bad6214 Author: Bill Pemberton Date: Mon Mar 16 22:14:19 2009 -0400 Staging: comedi: Remove boardtype_t typedef in dt282x.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 39d31e09a0cc299e01b8acb66b60fbcc453b9c8b Author: Bill Pemberton Date: Mon Mar 16 22:14:14 2009 -0400 Staging: comedi: Remove dmm32at_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 38baea3abba76b48ff599e1c5b7eccc80b2a7e3d Author: Bill Pemberton Date: Mon Mar 16 22:14:09 2009 -0400 Staging: comedi: Remove dmm32at_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c7b8bb98a46e475ae848642cf60160fc7135cd52 Author: Bill Pemberton Date: Mon Mar 16 22:14:03 2009 -0400 Staging: comedi: Remove das6402_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0c5a144d730a68967dfb3f8163260a142e3282e3 Author: Bill Pemberton Date: Mon Mar 16 22:13:58 2009 -0400 Staging: comedi: Remove das1800_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ce422cf3569444116d7d826b274bd59cc34d3b28 Author: Bill Pemberton Date: Mon Mar 16 22:13:53 2009 -0400 Staging: comedi: Remove das1800_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit febc2ed696fe88e3e438554f94dc0d2901a37c1f Author: Bill Pemberton Date: Mon Mar 16 22:13:42 2009 -0400 Staging: comedi: Remove das800_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 65a457a1496f660a5469e4bb7edbe0195b9d887c Author: Bill Pemberton Date: Mon Mar 16 22:13:36 2009 -0400 Staging: comedi: Remove das16m1_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 67080790a44f6633acc250db915a4f6481e81ba1 Author: Bill Pemberton Date: Mon Mar 16 22:13:31 2009 -0400 Staging: comedi: Remove jr3_channel_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1c31ddaf9b46bec3df20b3a3b95049f45f43bf84 Author: Bill Pemberton Date: Mon Mar 16 22:13:26 2009 -0400 Staging: comedi: Remove intern_transform_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4e1ccd9717df80a6207fe89eb0761415cbe5b2e7 Author: Bill Pemberton Date: Mon Mar 16 22:13:20 2009 -0400 Staging: comedi: Remove link_types typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b2e1b3c2bd6245c6d3d79f69fa94813b7db9a61e Author: Bill Pemberton Date: Mon Mar 16 22:13:15 2009 -0400 Staging: comedi: Remove jr3_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0306b0cb8e13d51c16adf9bc3285de80f6dc93b3 Author: Bill Pemberton Date: Mon Mar 16 22:13:09 2009 -0400 Staging: comedi: Remove le_struct_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 38443673506e19ad9af9785c5e5ebead81b6be39 Author: Bill Pemberton Date: Mon Mar 16 22:13:04 2009 -0400 Staging: comedi: Remove thresh_struct typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f3fd0937adacadd368126d1999d1060390497915 Author: Bill Pemberton Date: Mon Mar 16 22:12:59 2009 -0400 Staging: comedi: Remove vect_bits_t, warning_bits_t, and error_bits_t typedefs These are enums that are not used anywhere at this time. This removes the typedef, but leaves the enum in place. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 5671c0c2d85203472b02100a517ce5c565e5c1e0 Author: Bill Pemberton Date: Mon Mar 16 22:12:53 2009 -0400 Staging: comedi: Remove six_axis_array_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cdc14cd0ea064b4838f63073ebf5cd2fdf13f309 Author: Bill Pemberton Date: Mon Mar 16 22:12:48 2009 -0400 Staging: comedi: Remove force_array_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 2deee55e66d0de60ca28703da5aba8bdaf27b4ba Author: Bill Pemberton Date: Mon Mar 16 22:12:43 2009 -0400 Staging: comedi: Remove raw_channel typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0642feb3e1ffe896ff0fd67cad5fc33a51fe4651 Author: Bill Pemberton Date: Mon Mar 16 22:12:37 2009 -0400 Staging: comedi: Remove s_val_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 54298a8d0696046874a644c9a2be71a1e582f688 Author: Bill Pemberton Date: Mon Mar 16 22:12:32 2009 -0400 Staging: comedi: Remove u_val_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b2be969bf9092cdd091e450a614798cfd42ad1f6 Author: Bill Pemberton Date: Mon Mar 16 22:12:26 2009 -0400 Staging: comedi: Replace C99 comments in jr3_pci.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 947a33fd2196209a1aa8f00de4068e8a09a19cd9 Author: Bill Pemberton Date: Mon Mar 16 22:12:21 2009 -0400 Staging: comedi: Remove das16_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d8961467e60d42c1997fdf783fee4802c9fea8cc Author: Bill Pemberton Date: Mon Mar 16 22:12:16 2009 -0400 Staging: comedi: Remove local_info_t typedef in das08_cs.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b36536816e1f34b2be1da9edb78e8b55bc414081 Author: Bill Pemberton Date: Mon Mar 16 22:12:10 2009 -0400 Staging: comedi: Remove daqboard2000_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9da18ff8c352c8827abee8ebd8570d8bf2767ebb Author: Bill Pemberton Date: Mon Mar 16 22:12:05 2009 -0400 Staging: comedi: Remove boardtype typedef in daqboard2000.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 79c7b392b32fc3154911fe3d8c65274cda5d5728 Author: Bill Pemberton Date: Mon Mar 16 22:12:00 2009 -0400 Staging: comedi: Remove daqboard2000_hw typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 216ed755f720eb4df79a184fbb13798831976adb Author: Bill Pemberton Date: Mon Mar 16 22:11:54 2009 -0400 Staging: comedi: Remove contec_model typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4f4123ba6dba07ae20c7b6eb9ca5532c0cee8614 Author: Bill Pemberton Date: Mon Mar 16 22:11:49 2009 -0400 Staging: comedi: Remove contec_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 72e7b74d505f901450e92d873dd3605a57435c1a Author: Bill Pemberton Date: Mon Mar 16 22:11:43 2009 -0400 Staging: comedi: Remove contec_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0ff297c4ebf5f7119e928d74a9d952158d329aca Author: Bill Pemberton Date: Mon Mar 16 22:11:38 2009 -0400 Staging: comedi: Remove typedef private in cb_pcimdda.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 324da11efaea562c8270834ac03c7c3df03aa79b Author: Bill Pemberton Date: Mon Mar 16 22:11:33 2009 -0400 Staging: comedi: Remove board_struct typedef A more descriptive structure name is probably in order here. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ecce6332ef5f88ba0ac8e9e7511538431952dda7 Author: Bill Pemberton Date: Mon Mar 16 22:11:22 2009 -0400 Staging: comedi: Remove timer_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cfee7b998b2407f5ee53d76bae9e2805baf6dbb4 Author: Bill Pemberton Date: Mon Mar 16 22:11:17 2009 -0400 Staging: comedi: Remove cb_pcimdas_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit fe7858af4f04d6ea5d18a513433846c63c70d0ec Author: Bill Pemberton Date: Mon Mar 16 22:11:11 2009 -0400 Staging: comedi: Remove pcidio_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c98d3debeb1101858f7bd720116d00e15ae9124d Author: Bill Pemberton Date: Mon Mar 16 22:11:06 2009 -0400 Staging: comedi: Remove pcidio_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cc7bb61e00a2e9e4e0d742b9917cb37406080922 Author: Bill Pemberton Date: Mon Mar 16 22:11:00 2009 -0400 Staging: comedi: Remove cb_pcidda_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1657e325042ffc723182377a47d38ccc7319078f Author: Bill Pemberton Date: Mon Mar 16 22:10:55 2009 -0400 Staging: comedi: Remove cb_pcidda_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c77e25898523395b56e1d120195e1ad2e3efa14d Author: Bill Pemberton Date: Mon Mar 16 22:10:50 2009 -0400 Staging: comedi: Remove cb_pcidas_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 5c2670cba2a5fd1a27f938ae11b3a24518d999db Author: Bill Pemberton Date: Mon Mar 16 22:10:44 2009 -0400 Staging: comedi: Remove cb_pcidas_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d2755d518620bfa3ab6d25aed4048a2d35868e3d Author: Bill Pemberton Date: Mon Mar 16 22:10:39 2009 -0400 Staging: comedi: Remove local_info_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit bfae362ab6a9737e67a07ff82632a16181bb2d3c Author: Bill Pemberton Date: Mon Mar 16 22:10:34 2009 -0400 Staging: comedi: Remove das16cs_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 3281a63d0b1eecbb21848c3e123c2fc0cd1d4a80 Author: Bill Pemberton Date: Mon Mar 16 22:10:28 2009 -0400 Staging: comedi: Remove das16cs_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b3e8fa97c454246be2bc6f4ddf20951c5b74bc22 Author: Bill Pemberton Date: Mon Mar 16 22:10:23 2009 -0400 Staging: comedi: Remove pci230_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a27872bf7b3fc4ac7ddb561662cf7eb06e8b3895 Author: Bill Pemberton Date: Mon Mar 16 22:10:17 2009 -0400 Staging: comedi: Remove pci224_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 5a676a21f496b68506d6ebc94bc137b7acecdbd3 Author: Bill Pemberton Date: Mon Mar 16 22:10:12 2009 -0400 Staging: comedi: Remove pci224_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cd60d1ec0ca6c3be3df1a2edb548613e9d175cee Author: Bill Pemberton Date: Mon Mar 16 22:10:06 2009 -0400 Staging: comedi: Remove pc263_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4beb86c25085f875935480aa0422e0a983a917f3 Author: Bill Pemberton Date: Mon Mar 16 22:10:01 2009 -0400 Staging: comedi: Remove pc263_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f1ee810a1383b623ec523edd521467a7b620a09a Author: Bill Pemberton Date: Mon Mar 16 22:09:56 2009 -0400 Staging: comedi: Remove pc236_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 57ad869651d1d2f163a1c5ccb577ee794847fd77 Author: Bill Pemberton Date: Mon Mar 16 22:09:50 2009 -0400 Staging: comedi: Remove pc236_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d9752ee071117f32495da04d3cc9cb4453b5a46e Author: Bill Pemberton Date: Mon Mar 16 22:09:45 2009 -0400 Staging: comedi: Remove dio200_subdev_intr typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 93ba42e9093718729291dd6332d92a99f041eb78 Author: Bill Pemberton Date: Mon Mar 16 22:09:39 2009 -0400 Staging: comedi: Remove dio200_subdev_8254 typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 692560db4187c5c5e906f95c287d75e1b96e4846 Author: Bill Pemberton Date: Mon Mar 16 22:09:34 2009 -0400 Staging: comedi: Remove dio200_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit af105ad3f57421a36dd60c8f54edcebc7a09256b Author: Bill Pemberton Date: Mon Mar 16 22:09:29 2009 -0400 Staging: comedi: Remove dio200_layout typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 3d7a42ef60e93352b49c5da7cba00f20ce255afc Author: Bill Pemberton Date: Mon Mar 16 22:09:23 2009 -0400 Staging: comedi: Remove dio200_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 55d996391fa73df06e33609f0d6f82de775d1045 Author: Bill Pemberton Date: Mon Mar 16 22:09:18 2009 -0400 Staging: comedi: Remove aio_iiro_16_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 28fa7754e5a3fe9f696643808862d37b5ffc3083 Author: Bill Pemberton Date: Mon Mar 16 22:09:13 2009 -0400 Staging: comedi: Remove aio_iiro_16_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4b1d53f061bd3e622ba44c106e083a30a92eb223 Author: Bill Pemberton Date: Mon Mar 16 22:09:07 2009 -0400 Staging: comedi: Remove counter_mode_register_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4651db97324b77972309fa22bc441dfbebb5b825 Author: Bill Pemberton Date: Mon Mar 16 22:09:02 2009 -0400 Staging: comedi: Remove aio12_8_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 747537121d060557132ac82e7e37cae393e16dcc Author: Bill Pemberton Date: Mon Mar 16 22:08:56 2009 -0400 Staging: comedi: Remove board_type typedef in aio_aio12_8.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4cb133565aaf9b04f4fb6af5e5200982258b107c Author: Bill Pemberton Date: Mon Mar 16 22:08:51 2009 -0400 Staging: comedi: Remove pci_dio_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ba23095c03a8b5efa3427b63b988b396bea2e485 Author: Bill Pemberton Date: Mon Mar 16 22:08:46 2009 -0400 Staging: comedi: Remove C99 style comments in adv_pci_dio.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit dea1776abaaf9652f1f8e9d69ef7b70ec4cc381a Author: Bill Pemberton Date: Mon Mar 16 22:08:40 2009 -0400 Staging: comedi: Remove boardtype typedef in adv_pci_dio.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 673bc56adb5df0e041231493eb75de146c63ac74 Author: Bill Pemberton Date: Mon Mar 16 22:08:35 2009 -0400 Staging: comedi: Remove diosubd_data typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a8f1152e2027ce4987350a6d1d06b3159af80082 Author: Bill Pemberton Date: Mon Mar 16 22:08:29 2009 -0400 Staging: comedi: Remove hw_cards_id and hw_io_access typedefs in adv_pci_dio.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 006449f0fe747774438d714dcc4c6193d3a801ea Author: Bill Pemberton Date: Mon Mar 16 22:08:24 2009 -0400 Staging: comedi: Remove boardtype and pci1723_private typedefs in adv_pci1723.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6e8131a86d6c1a9896282f572d17c447a85262ad Author: Bill Pemberton Date: Mon Mar 16 22:08:19 2009 -0400 Staging: comedi: Remove pci1710_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 7875a00b702e62ebafe68cd2abf96570e2d747e5 Author: Bill Pemberton Date: Mon Mar 16 22:08:13 2009 -0400 Staging: comedi: Remove boardtype typedef in adv_pci1710.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1ade3157f4ea4e4a090097e2b2b816a627c32a32 Author: Bill Pemberton Date: Mon Mar 16 22:08:08 2009 -0400 Staging: comedi: Remove adq12b_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 47c6e95869228a8b464174ee0e85904a92b7baf4 Author: Bill Pemberton Date: Mon Mar 16 22:08:03 2009 -0400 Staging: comedi: Remove adq12b_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 5b5fc21b060cc7a2a68ea3f3e145442f589000b6 Author: Bill Pemberton Date: Mon Mar 16 22:07:57 2009 -0400 Staging: comedi: Remove pci9118_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 193a21e402f023c786490dacd864b642898976d0 Author: Bill Pemberton Date: Mon Mar 16 22:07:52 2009 -0400 Staging: comedi: Remove boardtype typedef in adl_pci9118.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 52f8ac983079ad6bba3c055152a39ccc5e76350a Author: Bill Pemberton Date: Mon Mar 16 22:07:46 2009 -0400 Staging: comedi: Remove C99 style comments in adl_pci9111.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 3ba97b3c6258cb67450e0873584489f97d0debc5 Author: Bill Pemberton Date: Mon Mar 16 22:07:41 2009 -0400 Staging: comedi: Remove pci9111_ISC0_sources typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 655f78f6aaa059ad262bc55e1c3575724c14867b Author: Bill Pemberton Date: Mon Mar 16 22:07:36 2009 -0400 Staging: comedi: Remove pci9111_trigger_sources typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c350fa1944f4ec1fe392ce0f3fc879f3899bb15d Author: Bill Pemberton Date: Mon Mar 16 22:07:30 2009 -0400 Staging: comedi: Remove pci9111_private_data typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 940579fbae1a3a8967fe619562c8e78080dd873d Author: Bill Pemberton Date: Mon Mar 16 22:07:25 2009 -0400 Staging: comedi: Remove pci9111_board_struct typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 07b666b72b122958ec125715bd4b07557c6cb889 Author: Bill Pemberton Date: Mon Mar 16 22:07:19 2009 -0400 Staging: comedi: Remove adl_pci8164_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ddc3dbf4dfd38b309c4c26b2fa91e3784457a0f8 Author: Bill Pemberton Date: Mon Mar 16 22:07:14 2009 -0400 Staging: comedi: Remove adl_pci7432_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8dca707e148ed7c25a5d9fc37a831e5fc56776fa Author: Bill Pemberton Date: Mon Mar 16 22:07:09 2009 -0400 Staging: comedi: Remove adl_pci7296_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 3d393c865b745a37a53081203b49278476a47a56 Author: Bill Pemberton Date: Mon Mar 16 22:07:03 2009 -0400 Staging: comedi: Remove pci6208_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c1b31c44a38e2b5153193680e4bee4856b3307e1 Author: Bill Pemberton Date: Mon Mar 16 22:06:58 2009 -0400 Staging: comedi: Remove pci6208_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4753d235e76b14c9f4585d569795a4ccb51485f8 Author: Bill Pemberton Date: Mon Mar 16 22:06:47 2009 -0400 Staging: comedi: Remove DMABUF typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9aa5339ac1eba5268df69bbcdf1abb9fae5afeca Author: Bill Pemberton Date: Mon Mar 16 22:06:42 2009 -0400 Staging: comedi: Remove comedi_bufinfo typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit be6aba4a423629126f318d351b2d0eb00abb9dd5 Author: Bill Pemberton Date: Mon Mar 16 22:06:37 2009 -0400 Staging: comedi: Remove comedi_bufconfig typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1f6325d629ce03501e8927480495685828561f26 Author: Bill Pemberton Date: Mon Mar 16 22:06:31 2009 -0400 Staging: comedi: Remove comedi_krange typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d0a353f637593ce8b0e08848cc7c871b766cb4ee Author: Bill Pemberton Date: Mon Mar 16 22:06:26 2009 -0400 Staging: comedi: Remove comedi_rangeinfo typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0707bb04be89b18ee83b5a997e36cc585f0b988d Author: Bill Pemberton Date: Mon Mar 16 22:06:20 2009 -0400 Staging: comedi: Remove comedi_devconfig typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 063db04b8901c5cf84c552a5053748d183d34e61 Author: Bill Pemberton Date: Mon Mar 16 22:06:15 2009 -0400 Staging: comedi: Remove comedi_devinfo typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit bd52efbbcc9f5d70c736b9b73c82aee149da1fe5 Author: Bill Pemberton Date: Mon Mar 16 22:06:09 2009 -0400 Staging: comedi: Remove comedi_subdinfo typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a18b416dc11ff9596ebf2012b1d15f485b951b28 Author: Bill Pemberton Date: Mon Mar 16 22:06:04 2009 -0400 Staging: comedi: Remove comedi_chaninfo typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit da613f4fabb43b8bc551bb874792e1f22a698696 Author: Bill Pemberton Date: Mon Mar 16 22:05:59 2009 -0400 Staging: comedi: Remove comedi_insnlist typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 90035c0886b256d75bced13b3b3cea5234aff136 Author: Bill Pemberton Date: Mon Mar 16 22:05:53 2009 -0400 Staging: comedi: Remove comedi_insn typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ea6d0d4cab4f4f2d6a88f3bce4707fe92696fd3f Author: Bill Pemberton Date: Mon Mar 16 22:05:47 2009 -0400 Staging: comedi: Remove comedi_cmd typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b50d88d08069ba14d9ba7ba6a15414fdbd077508 Author: Bill Pemberton Date: Mon Mar 16 22:05:42 2009 -0400 Staging: comedi: Remove comedi_trig typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0bfbbe8f09617247c87d3b626cbf007c423afff1 Author: Bill Pemberton Date: Mon Mar 16 22:05:36 2009 -0400 Staging: comedi: Remove device_create_result_type typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9ced1de69125b60f40127eddaa3be2a92bb0a1df Author: Bill Pemberton Date: Mon Mar 16 22:05:31 2009 -0400 Staging: comedi: Remove comedi_lrange typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 139dfbdfacb02e3ef3df936d2fabd1ad5f14ea88 Author: Bill Pemberton Date: Mon Mar 16 22:05:25 2009 -0400 Staging: comedi: Remove comedi_driver typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d163679ceec20c50f9aee880fa76c0c1185244a8 Author: Bill Pemberton Date: Mon Mar 16 22:05:20 2009 -0400 Staging: comedi: Remove comedi_async typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 34c43922e62708d45e9660eee4b4f1fb7b4bf2c7 Author: Bill Pemberton Date: Mon Mar 16 22:05:14 2009 -0400 Staging: comedi: Remove comedi_subdevice typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 71b5f4f11971dea972832ad63a994c7e5b45db6b Author: Bill Pemberton Date: Mon Mar 16 22:05:08 2009 -0400 Staging: comedi: Remove comedi_device typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 790c55415aa31f4c732729f94d2c3a54f7d3bfc2 Author: Bill Pemberton Date: Mon Mar 16 22:05:02 2009 -0400 Staging: comedi: Remove lsampl_t and sampl_t typedefs Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0b3fb27fa7b4bf811c31ee66453cda0a6d94aa6c Author: Bill Pemberton Date: Mon Mar 16 22:04:56 2009 -0400 Staging: comedi: Remove comedi_t typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 2e561b12e84a5363846669c5e0c070baf4d06a1a Author: Bill Pemberton Date: Mon Mar 16 22:04:50 2009 -0400 Staging: comedi: Remove V_FP_V typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit eb5e029ebacf37ccdcd25b804e005f7e69cd0a24 Author: Bill Pemberton Date: Mon Mar 16 22:04:45 2009 -0400 Staging: comedi: Remove s626_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d80235ce8474396ec25a64b6c70e9bd8919f5cd4 Author: Bill Pemberton Date: Mon Mar 16 22:04:40 2009 -0400 Staging: comedi: Remove rtdBoard typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 52bfe6c8e8746591e276de2594b8c98a51222d49 Author: Bill Pemberton Date: Mon Mar 16 22:04:34 2009 -0400 Staging: comedi: Remove boardtype typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit bf8db92eb3c52ccc3c28ee8d382750a7d4dc758d Author: Bill Pemberton Date: Mon Mar 16 22:04:29 2009 -0400 Staging: comedi: Remove comedi32_chaninfo_struct typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 82675f3547ba2a0732beabd9bb4393535f74408c Author: Bill Pemberton Date: Mon Mar 16 22:04:23 2009 -0400 Staging: comedi: Remove curly braces where they are not needed Changes as suggested by checkpatch.pl. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit dedd1325f1d53e2a2604457c4b3af9e62dde5001 Author: Bill Pemberton Date: Mon Mar 16 22:04:18 2009 -0400 Staging: comedi: Remove checks for NULL before calling kfree() Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 51b713a684d403bd672b3e4cac55db43dc5cca2d Author: Bill Pemberton Date: Mon Mar 16 22:04:12 2009 -0400 Staging: comedi: Misc code cleanups for checkpatch Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a87e4f5a4a7be43e610399ebcbb09ba3da021094 Author: Bill Pemberton Date: Mon Mar 16 22:04:07 2009 -0400 Staging: comedi: Add spaces around colons as requested by checkpatch Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f10fe5742ba6ad6a2219cbe774e1b9d3db0ef23d Author: Bill Pemberton Date: Mon Mar 16 22:04:02 2009 -0400 Staging: comedi: Fix cases of open curly on wrong line Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c7427409cd071a34c4a13c5c24531b7a10334e31 Author: Bill Pemberton Date: Mon Mar 16 22:03:56 2009 -0400 Staging: comedi: Move trailing statements to next line as requested by checkpatch Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 197c82bf25b9e379cb5646561be1a727ab9e84a7 Author: Bill Pemberton Date: Mon Mar 16 22:03:51 2009 -0400 Staging: comedi: Remove instances of assignments in conditionals Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6a98d36e87a0b38d711d580b5fc9dbba17f68dfc Author: Bill Pemberton Date: Mon Mar 16 22:03:45 2009 -0400 Staging: comedi: Add spaces around parens as requested by checkpatch.pl Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f7266a48a10d76ff512d5eb44aa18364ee203da4 Author: Bill Pemberton Date: Mon Mar 16 22:03:40 2009 -0400 Staging: comedi: Add spaces around colons as needed Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8086fff871940e6a348a733a303f39c086e4b3c5 Author: Bill Pemberton Date: Mon Mar 16 22:03:35 2009 -0400 Staging: comedi: Add spaces after commas where suggested by checkpatch.pl Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e473e9120b0a2d7252aca1ed9db5adadee36c0fa Author: Bill Pemberton Date: Mon Mar 16 22:03:29 2009 -0400 Staging: comedi: Change "foo * bar" to "foo *bar" Removes checkpatch.pl errors Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b6c777571b8d387d3add91170826f32a379e4313 Author: Bill Pemberton Date: Mon Mar 16 22:03:24 2009 -0400 Staging: comedi: Convert C99 style comments to traditional style comments Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 4dc6b15bce9c0635850a9f5c1a493e09d2e8fe61 Author: Mariusz Kozlowski Date: Tue Mar 3 19:38:38 2009 +0100 Staging: comedi: remove unnecessary #include Signed-off-by: Mariusz Kozlowski Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit e38eb66ec59a9daea689c33bf9330bf7341af1d5 Author: Mariusz Kozlowski Date: Tue Mar 3 19:38:37 2009 +0100 Staging: comedi: remove LINUX_VERSION_CODE checks Signed-off-by: Mariusz Kozlowski Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 1b9fb14eb21f86519ce35a2e770a29cd768386a2 Author: Mariusz Kozlowski Date: Tue Mar 3 19:38:36 2009 +0100 Staging: comedi: usbdux: annotate __init and __exit functions Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit ab3795270d3a7985be40ae325d3366cf018fc9dd Author: Mariusz Kozlowski Date: Tue Mar 3 19:38:35 2009 +0100 Staging: comedi: usbdux: don't initialize semaphores on init This patch removes usbdux semaphores initialization from init function as they are initialized later on in probe function. Also remove init_usb_devices() as it is not needed anymore. Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 84cdbf0afe4f391480087dec613c7f8aff5d0496 Author: Mariusz Kozlowski Date: Tue Mar 3 19:38:34 2009 +0100 Staging: comedi: usbdux: remove .bss variable initialization This patch removes explicit zeroing of usbduxsub variable on init because it is in .bss section. Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit e57795a1a7ebf8ac91cfb82070cf19bf01ee4ac0 Author: Mariusz Kozlowski Date: Tue Mar 3 19:38:33 2009 +0100 Staging: comedi: usbduxfast: balance semaphores up/down in attach error path Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 3944969427e11f3081d676c16cebeff4060ce992 Author: Mariusz Kozlowski Date: Tue Mar 3 19:38:32 2009 +0100 Staging: comedi: usbduxfast: don't initialize semaphores on init This patch removes usbduxfast semaphores initialization from init function as they are initialized later on in probe function. Also remove init_usb_devices() as it is not needed anymore. Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 38c39e43f90fa7ab891a2590a59497fe0a10cee2 Author: Mariusz Kozlowski Date: Tue Mar 3 19:38:31 2009 +0100 Staging: comedi: usbduxfast: remove .bss variable initialization This patch removes explicit zeroing of usbduxfastsub variable on init because it is in .bss section. Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit d52a63bf6a298c4ffca6a5735926a585f3dd69e0 Author: Bernd Porr Date: Wed Mar 11 14:17:37 2009 -0700 Staging: comedi: usbduxfast: fix run-time error If debugging is enabled, this printk will oops, fix that issue. From: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 979200719d35934367bbf97d9b7d22d5b5281dda Author: Ian Abbott Date: Mon Feb 9 16:51:38 2009 +0000 Staging: comedi: comedi_open: Fix null pointer dereference. This can happen if other minor devices are used. From: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 56d92c60e6dc708541711e9de4993e7d527d08e8 Author: Ian Abbott Date: Mon Feb 9 16:32:12 2009 +0000 Staging: comedi: newer gcc warning fixes Fix GCC warning in call to request_module(): "format not a string literal and no format arguments". From: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 1b9f64120571d99a81c74092bdbe828303e55adb Author: Ian Abbott Date: Fri Jan 30 12:59:26 2009 +0000 Staging: comedi: Use explicit value for enumerated constant INSN_CONFIG_GET_HARDWARE_BUFFER_SIZE. Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 44fdfaa91197dab07583f61c4e0542cb0e2b379c Author: Ian Abbott Date: Tue Dec 16 13:09:56 2008 +0000 Staging: comedi: comedi_rt_task_context_t fix Fix redefinition of macro comedi_rt_task_context_t From: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 53b670a75bef4bf6484bbf6ca6a896c365676fd4 Author: Frank Mori Hess Date: Mon Dec 15 13:48:47 2008 +0000 Staging: comedi: fix bug with invalid minor number usage. Return error instead of segfaulting if user trys to run comedi_config on a device file with and invalid minor number. From: Frank Mori Hess Cc: Ian Abbott Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit a3cb729ef4a192f04179f780122df78ef1ffe779 Author: Frank Mori Hess Date: Mon Dec 15 13:44:45 2008 +0000 Staging: comedi: Added some validation of comedi module parameter values. Cc: Ian Abbott Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 4c41f3ae3bf0bcc53f259b657c2fbc3961ff2b8a Author: Frank Mori Hess Date: Tue Dec 9 14:47:22 2008 +0000 Staging: comedi: Fixed minor numbers for subdevice files. Cc: Ian Abbott Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 719548ef66175bdea228f7b377a4edc259d16ab2 Author: Ian Abbott Date: Tue Dec 9 11:07:22 2008 +0000 Staging: comedi: Make comedi_auto_config() succeed when auto-configuration disabled. Otherwise it would not work properly. From: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 6742c0af2ef2d8ff70e379ebf8a8541190ff44e6 Author: Bernd Porr Date: Mon Dec 8 23:30:13 2008 +0000 Staging: comedi: usbdux[fast] firmware upload changes usbdux and usbduxfast upload now their firmware via the firmware kernel meachanism. No udev rules are needed for that except the default ones. The firmware will usually be loaded from /lib/firmware. Upload via comedi_config is still possible for static comedi devices (comedi_num_legacy_minors>0). Frank, thanks for the example code which sped up rewriting of the code substantially. From: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit c28264dac4348b1514a9a0abcf0014c6b460637f Author: Bernd Porr Date: Mon Dec 8 23:30:13 2008 +0000 Staging: comedi: add comedi_usb_auto_[un]config functions This will be used by the usbdux and usbduxfast drivers. From: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 1dd33ab8a9397793d65b9fc090174ff7cdfaff95 Author: Bernd Porr Date: Mon Dec 8 23:30:13 2008 +0000 Staging: comedi: add comedi_num_legacy_minors module parameter As suggested the legacy device count is set to zero. A new module parameter for comedi_fops allows setting the number of legacy devices: comedi_num_legacy_minors. The default is zero. From: Bernd Porr Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 6a9d7a21d710e544df20266b83b7829d9f7a1020 Author: Ian Abbott Date: Mon Dec 8 17:05:50 2008 +0000 Staging: comedi: Add a module parameter 'comedi_autoconfig'. Set it to 0 or 'N' to disable autoconfiguration. It is enabled by default. From: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 3cd74e8693678a463b944c358cdb22f7bee533ba Author: Frank Mori Hess Date: Sat Dec 6 15:43:23 2008 +0000 Staging: comedi: usbduxfast bugfix Fixed bug in firmware loading with multiple usbduxfast boards. From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 51e290fde89cfd559cacb6e8f9e4718f213c7b22 Author: Ian Abbott Date: Wed Dec 3 10:58:33 2008 +0000 Staging: comedi: new devices for ni_pcimio.c Added PXI-6224 based on report by Romain Bossart of equivalence to PCI-6224. From: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit f8db88ef1f173bfc81afe244f4e6ff00d3e025e4 Author: Frank Mori Hess Date: Mon Nov 17 21:36:45 2008 +0000 Staging: comedi: Added reading of board serial number from eeprom for m-series boards Nothing is done with it yet, eventually it will be made available to user-space via a readable file in sysfs. From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 75c794f0d2ebafd0ed86232b361762dc5d837131 Author: Greg Kroah-Hartman Date: Thu Feb 19 17:35:05 2009 -0800 Staging: comedi: addi-data: APCI1710_82x54 cleanups Coding style cleanups, but it needs some rework to make it sane. Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 15d8826a6a2ed954ce7daf1d321cce99d5c12668 Author: Greg Kroah-Hartman Date: Thu Feb 19 17:09:52 2009 -0800 Staging: comedi: addi-data header file cleanups Clean up lots of coding style issues in the addi-data header files. Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 851a2c1082f874906c863522d901bfd8cf62cefb Author: Greg Kroah-Hartman Date: Thu Feb 19 10:25:52 2009 -0800 Staging: comedi: add new drivers to the kernel build This adds all of the recently added drivers to the build system. Also splits out the pcmcia drivers so we don't get build errors when we don't want to. Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit be06e5d50ea276e8b381da185825fd19e906a18c Author: Blaine Lee Date: Thu Feb 19 10:24:49 2009 -0800 Staging: comedi: add pcm3730 driver Driver for PCM3730 and clones From: Blaine Lee Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 028d48644164d1b303eaba6a8d96136ef15feb69 Author: Yoshiya Matsuzaka Date: Thu Feb 19 10:22:46 2009 -0800 Staging: comedi: add cb_pcidio driver Driver for PCI-DIO24H & PCI-DIO48H of ComputerBoards (currently MeasurementComputing) From: Yoshiya Matsuzaka Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 2c89e159cd2f386285e9522d6476dd7e801bee22 Author: Greg Kroah-Hartman Date: Thu Feb 19 10:20:28 2009 -0800 Staging: comedi: add c6xdigio driver Driver for Mechatronic Systems Inc. C6x_DIGIO DSP daughter card Written by Dan Block, email address unknown Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 9a21297d79ea96041e50792ae7ed425450df7350 Author: David Schleef Date: Thu Feb 19 10:11:27 2009 -0800 Staging: comedi: add dt3000 driver Driver for DataTranslation DT3000 devices From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 8d3d823c74a4c967b4a02e6466c6727ad21422a0 Author: David Schleef Date: Thu Feb 19 10:10:52 2009 -0800 Staging: comedi: add dt282x driver Driver for DataTranslation DT2821 series cards From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 0e221af2e9267e00723c278b28dedcc642fad9db Author: David Schleef Date: Thu Feb 19 10:09:58 2009 -0800 Staging: comedi: add dt2817 driver Driver for DataTranslation DT2817 From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit d6a929b7608ae157cef86d00cc580d1038f0b985 Author: David Schleef Date: Thu Feb 19 10:09:38 2009 -0800 Staging: comedi: add dt2815 driver Driver for DataTranslation DT2815 From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit a211ea977a4127a88fe0a5c4846e33d0e8b2309f Author: David Schleef Date: Thu Feb 19 10:08:53 2009 -0800 Staging: comedi: add dt2814 driver Driver for DataTranslation DT2814 From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 3c443716217c9bd10ae0ce2f0ea3238f28bb5c31 Author: David Schleef Date: Thu Feb 19 10:08:26 2009 -0800 Staging: comedi: add dt2811 driver Driver for DataTranslation DT2811 From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit a4c879482e23ee39644b23d4d312ea2f97b97455 Author: David Schleef Date: Thu Feb 19 10:07:50 2009 -0800 Staging: comedi: add dt2601 driver Driver for DataTranslation DT2801 From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit d1d3cb329ce442c168eba3cd896488ef3a84026f Author: Daniel Vecino Castel Date: Thu Feb 19 10:05:52 2009 -0800 Staging: comedi: add ni_daq_dio24 driver Driver for National Instruments PCMCIA DAQ-Card DIO-24 From: Daniel Vecino Castel Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 1f9bbbe2ad29901057e9bc97e29415052aaa8aaa Author: Fred Brooks Date: Thu Feb 19 10:05:01 2009 -0800 Staging: comedi: add ni_daq_700 driver Driver for National Instruments PCMCIA DAQCard-700 DIO only From: Fred Brooks Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 2323b276308a5da5774b778f39c7fd94b2a3022a Author: Chris R. Baugher Date: Thu Feb 19 10:03:23 2009 -0800 Staging: comedi: add ni_at_atmio16d driver Driver for National Instruments AT-MIO16D board From: Chris R. Baugher Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 01b0a25824f2cbf1b0cf9e06705cab52dbc0b9e4 Author: Frank Mori Hess Date: Thu Feb 19 10:01:19 2009 -0800 Staging: comedi: add ni_at_a2150 driver Driver for National Instruments AT-A2150 From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit e64374f8f37c5325dd3e4dad619d49a289226d7d Author: David Schleef Date: Thu Feb 19 09:58:16 2009 -0800 Staging: comedi: add das16 driver Driver for DAS16 compatible boards From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 3726e56b17762b3f13410b9c41029a13fef8c67f Author: Frank Mori Hess Date: Thu Feb 19 09:57:07 2009 -0800 Staging: comedi: add das800 driver Driver for Keitley das800 series boards and compatibles From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 48f16b6aeafdfb77b1698173f225b20b825eebf7 Author: Oystein Svendsen Date: Thu Feb 19 09:52:05 2009 -0800 Staging: comedi: add das6402 driver Driver for Computerboards' DAS6402 I/O card From: Oystein Svendsen Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit a69cc3a9fae82f3620d7242fe5bfaedd24b65df5 Author: Frank Mori Hess Date: Thu Feb 19 09:51:15 2009 -0800 Staging: comedi: add das1800 driver Driver for Keitley das1700/das1800 series boards From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit e20903165f0f11827657e0c5d3bfbfdaed13207b Author: David Schleef Date: Thu Feb 19 09:47:26 2009 -0800 Staging: comedi: add ni_pcidio driver Driver for National Instruments PCI-DIO-96/PCI-6508, PCI-DIO-32HS, and PCI-6503 cards. From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 6a9d800ffeda75d3e984386d0990ec1adaddaa20 Author: David Schleef Date: Thu Feb 19 09:46:36 2009 -0800 Staging: comedi: add ni_at_ao driver Driver for National Instruments AT-AO-6/10 cards From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 3c5e17227eb9e94caebda842452c7596a8cb6d80 Author: Bart Joris Date: Thu Feb 19 09:44:57 2009 -0800 Staging: comedi: add ni_670x driver Driver for National Instruments 670x From: Bart Joris Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 58dd7c0a2a6e76aab156aef625c7b53a6eaaace3 Author: J.P. Mellor Date: Thu Feb 19 09:42:53 2009 -0800 Staging: comedi: add ni_660x driver Driver for National Instruments 660x counter/timer boards (PCI-6601, PCI-6602, PXI-6602, and PXI-6608) From: J.P. Mellor Cc: Herman Bruyninckx Cc: Wim Meeussen Cc: Klass Gadeyne Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 5211d97cda6bd0d62149941b886ce3e966103396 Author: Jon Grierson Date: Thu Feb 19 09:42:01 2009 -0800 Staging: comedi: add ni_65xx driver Driver for National Instruments PCI-6514 From: Jon Grierson Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit ef2ccffba409c4ab73edd78191b503a2c34b5965 Author: David Schleef Date: Thu Feb 19 09:40:31 2009 -0800 Staging: comedi: add ni_6527 driver Driver for National Instruments PCI-6527 From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit e30ec01134d2e8ddbb998dc4042a9c5fb814432d Author: Drew Csillag Date: Thu Feb 19 09:38:46 2009 -0800 Staging: comedi: add pcm3724 driver Driver Advantech PCM-3724 card From: Drew Csillag Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 7f62d87d6876445d460c110054b6d38561cdff45 Author: Calin Culianu Date: Thu Feb 19 09:37:13 2009 -0800 Staging: comedi: add cb_pcimdda driver Driver for Measurement Computing PCIM-DDA06-16 From: Calin Culianu Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 086df5b5fea9c6bd1374acb6dea2c558247d4637 Author: Ivan Martinez Date: Thu Feb 19 09:35:58 2009 -0800 Staging: comedi: add cb_pcidda driver Driver for the ComputerBoards / MeasurementComputing PCI-DDA series. From: Ivan Martinez Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 88b12a9a66a4714a572d415cc4d6b257a8da61d4 Author: Frank Mori Hess Date: Thu Feb 19 09:32:42 2009 -0800 Staging: comedi: add cb_pcidas64 driver Driver for the ComputerBoards/MeasurementComputing PCI-DAS 64xx, 60xx, and 4020 cards. From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit dd2996b38be848c5f19a5e92a9be84069f09ebd3 Author: Juan Grigera Date: Thu Feb 19 09:30:57 2009 -0800 Staging: comedi: add pcl816 driver Driver for Advantech PCL-816 and PCL-814 From: Juan Grigera Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 96a2d5f0a1e8ef2748088d18ea5ba97bf829dd94 Author: José Luis Sánchez Date: Thu Feb 19 09:30:05 2009 -0800 Staging: comedi: add pcl730 driver Driver for Advantech PCL-730 & compatibles From: José Luis Sánchez Cc: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 00a224316fdc0e95c779534acde02579c16e327e Author: David Schleef Date: Thu Feb 19 09:29:20 2009 -0800 Staging: comedi: add pcl726 driver Driver for Advantech PCL-726 & compatibles From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 501d675db67e43cff47fa8138374679122baefb4 Author: David Schleef Date: Thu Feb 19 09:28:27 2009 -0800 Staging: comedi: add pcl725 driver Driver for Advantech PCL-725 & compatibles From: David Schleef Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 6baef150380d561a4d695a6be4fc509821c23611 Author: Calin Culianu Date: Thu Feb 19 09:13:10 2009 -0800 Staging: comedi: add pcmmio and pcmuio drivers Drivers for Winsystems PC-104 based multifunction IO board and 48 channel and 98 channel dio boards From: Calin Culianu Cc: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 3c501880ac4436ad2db5feed6e7d7548e13d539f Author: Perry J. Piplani Date: Thu Feb 19 09:11:30 2009 -0800 Staging: comedi: add dmm32at driver Driver for Diamond Systems mm32at From: Perry J. Piplani Cc: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 6fadb98d3d370ffb98648ab5b66ead2a3af4d1c8 Author: Greg Kroah-Hartman Date: Thu Feb 19 11:24:06 2009 -0800 Staging: comedi: fix bus_id use in jr3_pci driver bus_id is going away, so don't use it. Cc: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 9afbebe411a0f96e069c994057d83422147f5c0d Author: Frank Mori Hess Date: Wed Feb 18 15:29:44 2009 -0800 Staging: comedi: add das16m1 driver Driver for Measurement Computing CIO-DAS16/M1 From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit f0922ec52c3f575aef2860b52dbb246274aec03f Author: David Schleef Date: Wed Feb 18 15:28:40 2009 -0800 Staging: comedi: add cb_das16_cs driver Driver for Computer Boards PC-CARD DAS16/16 From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 70a350c348c0bcd036691dee8482c30630d84f8f Author: Allan Willcox Date: Wed Feb 18 15:27:06 2009 -0800 Staging: comedi: add amplc_pci230 driver Driver for Amplicon PCI230 and PCI260 Multifunction I/O boards Cc: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Cc: Steve D Sharples Signed-off-by: Greg Kroah-Hartman commit ea1aeae44eb43cd9a42e01bbc4daa36679c1359f Author: Ian Abbott Date: Wed Feb 18 15:25:54 2009 -0800 Staging: comedi: add amplc_pci224 driver Driver for Amplicon PCI224 and PCI234 AO boards From: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit cfd02b71a7e2d66912b9331294d04a7e93f8f845 Author: Ian Abbott Date: Wed Feb 18 15:25:15 2009 -0800 Staging: comedi: add amplc_pc263 driver Driver for Amplicon PC263 and PCI263 relay boards From: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit e948cb522499441996a9580b55bde1585b5c22c5 Author: Ian Abbott Date: Wed Feb 18 15:23:36 2009 -0800 Staging: comedi: add ampl_dio200 driver Driver for Amplicon PC272E and PCI272 DIO boards From: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 56af390d24e57d089bf331843f7e2b3b067b2a90 Author: Zachary Ware Date: Wed Feb 18 15:22:13 2009 -0800 Staging: comedi: add aio_iiro_16 driver Driver for Acces I/O Products PC-104 IIRO16 Relay And Isolated Input Board From: Zachary Ware Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 7623199aa40dd03fa93544331c984fd5511d3832 Author: Pablo Mejia Date: Wed Feb 18 15:21:21 2009 -0800 Staging: comedi: add aio_aio12_8 driver Diver for Acces I/O Products PC-104 AIO12-8 Analog I/O Board From: Pablo Mejia Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit ebd127c3f18cfdecd08fcf145a1bea7642b09f66 Author: Michal Dobes Date: Wed Feb 18 15:19:26 2009 -0800 Staging: comedi: add adv_pci_dio driver Driver for Advantech PCI-1730, PCI-1733, PCI-1734, PCI-1736UP, PCI-1750, PCI-1751, PCI-1752, PCI-1753, PCI-1753+PCI-1753E, PCI-1754, PCI-1756, PCI-1760, PCI-1762 devices. From: Michal Dobes Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 011f01bf9389deb6029e4eb4d93ee19130e6e3b5 Author: Ian Abbott Date: Wed Feb 18 15:15:44 2009 -0800 Staging: comedi: add adv_pci1723 driver driver for Advantech PCI-1723 device From: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 9a47b74a6fa2204025ba9a827578b840d2b3abcb Author: Roel Kluin Date: Sun Feb 15 20:28:15 2009 +0100 Staging: comedi: rtd520: &&/|| typo Only error out on unexpected fifo size. Signed-off-by: Roel Kluin Cc: Dan Christian Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 7dcb582cd4b0c67e0053fbb87706bd0922d79027 Author: Mariusz Kozlowski Date: Mon Feb 16 21:31:29 2009 +0100 Staging: comedi: usbduxfast: annotate __init and __exit functions This patch adds __init and __exit annotations to proper functions in the usbduxfast driver. Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 4e8ad0dca9bbd9724ffa395b9ab425c4f22e1346 Author: Mariusz Kozlowski Date: Mon Feb 16 21:31:28 2009 +0100 Staging: comedi: usbduxfast: fix checkpatch issues plus some style cleanups etc. This patch is a major code rewrite to make checkpatch.pl happy and also other minor things are fixed. Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 0a3b8b642247b509d3308cd9c32156d21505fcb8 Author: Mariusz Kozlowski Date: Mon Feb 16 21:31:27 2009 +0100 Staging: comedi: usbduxfast: add comedi debug to Kconfig This patch moves CONFIG_COMEDI_DEBUG to Kconfig and cleans up the code as it didn't actually compile with debug enabled. Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 6fffdb355c326b26482307d421b55fc00ee2abbc Author: Mariusz Kozlowski Date: Mon Feb 16 21:31:26 2009 +0100 Staging: comedi: usbduxfast: remove kernel version checks This patch removes kernel version checks from usbduxfast driver as the driver is in the main kernel tree now. Signed-off-by: Mariusz Kozlowski Cc: Bernd Porr Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 48a4d521f32418c957e49d0270c9f5f99614b0e0 Author: Anders Blomdell Date: Tue Feb 17 17:12:51 2009 -0800 Staging: comedi: add daqboard2000 driver hardware driver for IOtech DAQboard/2000 From: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 456af2011ce33efa3bc037e793cad4a6f113619b Author: David Schleef Date: Tue Feb 17 17:11:26 2009 -0800 Staging: comedi: add pcl711 driver hardware driver for PC-LabCard PCL-711 and AdSys ACL-8112 From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Cc: Janne Jalkanen Cc: Eric Bunn Signed-off-by: Greg Kroah-Hartman commit 58e732ee57eae8c3c3c550d1fa2f3b870ec2f13b Author: David Schleef Date: Tue Feb 17 17:08:54 2009 -0800 Staging: comedi: add pcmad driver Hardware driver for Winsystems PCM-A/D12 and PCM-A/D16 From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 647d8b45425881f2ff347c2ed234d9ae5ea0bde2 Author: Calin Culianu Date: Tue Feb 17 17:07:57 2009 -0800 Staging: comedi: add pcmda12 driver Driver for Winsystems PC-104 based PCM-D/A-12 8-channel AO board. From: Calin Culianu Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 03aef4b6dc12dfc98c1caace3d860a348b17e7c8 Author: David Schleef Date: Tue Feb 17 17:04:22 2009 -0800 Staging: comedi: add ni_mio_common code Common code for DAQ-STC based boards. Other drivers #include this file to take advantage of the functions here. From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit a613614545e5ab17b357b2e7954857920bf03436 Author: Stefano Rivoir Date: Tue Feb 17 17:02:04 2009 -0800 Staging: comedi: add contec_pci_dio driver driver for Contec PIO1616L digital I/O board From: Stefano Rivoir Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 3124dd1cba314da1482540bc805d2054b449ce4b Author: David Schleef Date: Tue Feb 17 16:46:00 2009 -0800 Staging: comedi: add mpc8260 driver driver for digital I/O pins on the MPC 8260 CPM module From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 90a5038d91db44a8a224936651fc33325989ad43 Author: Stanislaw Raczynski Date: Tue Feb 17 16:44:58 2009 -0800 Staging: comedi: add mpc624 driver driver for a Micro/sys inc. MPC-624 PC/104 board From: Stanislaw Raczynski Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 2f82613d3a7ef447be4ce656f757fc1ea101a4f1 Author: Michael Hillmann Date: Tue Feb 17 16:43:22 2009 -0800 Staging: comedi: add ke_counter driver driver for Kolter-Electronic PCI Counter 1 Card From: Michael Hillmann Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit eb3a3c1b7c92a129f43541c6ceb0e277fc61e354 Author: Markus Kempf Date: Tue Feb 17 16:31:49 2009 -0800 Staging: comedi: add ii_pci20kc driver Driver for Intelligent Instruments PCI-20001C carrier board and modules. From: Markus Kempf Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit f26c569b41fcba4809bcdcc4fc365fcfe214278a Author: Frank Mori Hess Date: Tue Feb 17 16:30:02 2009 -0800 Staging: comedi: add gsc_hpdi driver Driver for the General Standards Corporation High Speed Parallel Digital Interface rs485 boards. From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 9e27db79ccfa49d54d6554e9af293dfb106820f1 Author: Anders Gnistrup Date: Tue Feb 17 16:29:02 2009 -0800 Staging: comedi: add fl212 driver Driver for FL512 board From: Anders Gnistrup Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 77e01cdbad5175f56027fd6fae00bd0fc175651a Author: Anders Blomdell Date: Tue Feb 17 16:27:42 2009 -0800 Staging: comedi: add multiq3 driver Hardware driver for Quanser Consulting MultiQ-3 board From: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit ac52af96de5d67edf9b44c0420cbc18d4aa9f9bc Author: David A. Schleef Date: Tue Feb 17 16:25:39 2009 -0800 Staging: comedi: add poc driver mini-drivers for POC (Piece of crap) boards. Currently supports: Keithley Metrabyte DAC-02 Advantech PCL-733, PCL-734 From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 62ed666238aba1b5199e746299fc079c17794ee2 Author: Brent Baccala Date: Tue Feb 17 16:24:32 2009 -0800 Staging: comedi: add quatech_daqp_cs driver Driver for Quatech DAQP PCMCIA data capture cards From: Brent Baccala Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit a7b5a2c4e1fcc16368712d8793d7ffc7fdf9d756 Author: Anders Blomdell Date: Tue Feb 17 16:23:41 2009 -0800 Staging: comedi: add rti802 driver Driver for Analog Devices RTI-802 board From: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 0c988d008cedca1d6867def335187e94ccc920c6 Author: Everett Wang Date: Tue Feb 17 16:22:34 2009 -0800 Staging: comedi: add s526 driver For Sensoray 526 devices From: Everett Wang Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 4da6a1d8f56f01f6526f151c2c61059fc656ec80 Author: Michal Dobes Date: Tue Feb 17 16:21:06 2009 -0800 Staging: comedi: add pcl818 driver For Advantech cards: PCL-818L, PCL-818H, PCL-818HD, PCL-818HG, PCL-818, PCL-718 From: Michal Dobes Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit fcdb427bc7cf5e9e5d7280cf09c08dec49b49432 Author: Michal Dobes Date: Tue Feb 17 16:19:16 2009 -0800 Staging: comedi: add pcl821 driver hardware driver for Advantech cards: PCL-812, PCL-812PG, PCL-813, PCL-813B and for ADlink cards: ACL-8112DG, ACL-8112HG, ACL-8112PG, ACL-8113, ACL-8216 and for ICP DAS cards: ISO-813, A-821PGH, A-821PGL, A-821PGL-NDA, A-822PGH, A-822PGL, A-823PGH, A-823PGL, A-826PG From: Michal Dobes Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit b3c1e463b76a338f164ec5e5d3b8a55aeeb8c076 Author: Michal Dobes Date: Tue Feb 17 16:17:46 2009 -0800 Staging: comedi: add pcl724 driver For Advantech cards: PCL-724, PCL-722, PCL-731 ADLink ACL-7122, ACL-7124, PET-48DIO From: Michal Dobes Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit bb71f8b315c3e614a527bd6d327532c91f6b15ba Author: Jon Grierson Date: Thu Feb 12 16:20:31 2009 -0800 Staging: comedi: add adl_pci7296 driver Driver for the Adlink PCI-7296 96 ch. digital io board From: Jon Grierson Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 578c0183545d8fe99f8a65cfb1483360d18c1253 Author: Anders Blomdell Date: Thu Feb 12 16:27:11 2009 -0800 Staging: comedi: add serial2002 driver Driver for serial connected hardware From: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit fc6a12e5076255c7d0160a6e3749b89c7e4b5beb Author: David Schleef Date: Thu Feb 12 16:26:16 2009 -0800 Staging: comedi: add skeleton driver Example skeleton comedi driver From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 18222f98223a00537bcf29ba74c8d5fdb3ae1fb8 Author: Robert Schwebel Date: Thu Feb 12 16:25:34 2009 -0800 Staging: comedi: add ssv_dnp driver driver for SSV Embedded Systems' DIL/Net-PCs From: Robert Schwebel Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 110526ed6b1f0076df899ca553f47b316432f817 Author: Kruchinin Daniil Date: Thu Feb 12 16:24:49 2009 -0800 Staging: comedi: add unioxx5 driver Driver for Fastwel UNIOxx-5 (analog and digital i/o) boards From: Kruchinin Daniil Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 27b3f921f1ede6e4b1d18a2e25898e7aa2fe4db6 Author: Jeremy Theler Date: Thu Feb 12 16:23:56 2009 -0800 Staging: comedi: add adq12b driver driver for MicroAxial ADQ12-B data acquisition and control card From: Jeremy Theler Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 8cb9b9fb975476b6b3128f2d192d4e2ddf94c5a0 Author: Emmanuel Pacaud Date: Thu Feb 12 16:23:11 2009 -0800 Staging: comedi: add adl_pci9111 driver Hardware driver for PCI9111 ADLink cards From: Emmanuel Pacaud Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 6eb78a1bb8a681cd696924fa133c2cb1d7d4deb6 Author: Michel Lachaine Date: Thu Feb 12 16:22:25 2009 -0800 Staging: comedi: add adl_pci8164 driver Driver for the Adlink PCI-8164 4 Axes Motion Control board board From: Michel Lachaine Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit ed9c5eeb432473eb318ee43b843056c9080ff87f Author: Michel Lachaine Date: Thu Feb 12 16:21:11 2009 -0800 Staging: comedi: add adl_pci7432 driver Driver for the Adlink PCI-7432 64 ch. isolated digital io board From: Michel Lachaine Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit d96cba072060461f0ae87347a8738db24a4b7240 Author: David Schleef Date: Thu Feb 12 16:19:47 2009 -0800 Staging: comedi: add comedi_rt_timer virtual driver virtual driver for using RTL timing sources From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 0882eaa6432daef1ec1b586cda9044df6352633f Author: David Schleef Date: Thu Feb 12 16:09:00 2009 -0800 Staging: comedi: add das08 drivers Supports [Keithley Metrabyte] DAS08 (isa-das08), [ComputerBoards] DAS08 (isa-das08), DAS08-PGM (das08-pgm), DAS08-PGH (das08-pgh), DAS08-PGL (das08-pgl), DAS08-AOH (das08-aoh), DAS08-AOL (das08-aol), DAS08-AOM (das08-aom), DAS08/JR-AO (das08/jr-ao), DAS08/JR-16-AO (das08jr-16-ao), PCI-DAS08 (das08), PC104-DAS08 (pc104-das08), DAS08/JR/16 (das08jr/16) [ComputerBoards] PCM-DAS08 (pcm-das08) From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 07b509e6584a55263b6bb484eca3edd5e52361d0 Author: Anders Blomdell Date: Thu Feb 12 16:07:16 2009 -0800 Staging: comedi: add jr3_pci driver hardware driver for JR3/PCI force sensor board From: Anders Blomdell Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit c4beb34e468617e94240410179c2ff79484a269b Author: David Schleef Date: Thu Feb 12 15:54:06 2009 -0800 Staging: comedi: add nt_pcimio driver Hardware driver for NI PCI-MIO E series cards Supports PCI-MIO-16XE-10, PXI-6030E, PCI-MIO-16E-1, PCI-MIO-16E-4, PCI-6014, PCI-6040E, PXI-6040E, PCI-6030E, PCI-6031E, PCI-6032E, PCI-6033E, PCI-6071E, PCI-6023E, PCI-6024E, PCI-6025E, PXI-6025E, PCI-6034E, PCI-6035E, PCI-6052E, PCI-6110, PCI-6111, PCI-6220, PCI-6221, PCI-6224, PCI-6225, PCI-6229, PCI-6250, PCI-6251, PCIe-6251, PCI-6254, PCI-6259, PCIe-6259, PCI-6280, PCI-6281, PXI-6281, PCI-6284, PCI-6289, PCI-6711, PXI-6711, PCI-6713, PXI-6713, PXI-6071E, PCI-6070E, PXI-6070E, PXI-6052E, PCI-6036E, PCI-6731, PCI-6733, PXI-6733, PCI-6143, PXI-6143 From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 4fecf4a2a64c453ea8e57c166edb5385082e3948 Author: David Schleef Date: Thu Feb 12 15:52:59 2009 -0800 Staging: comedi: add nt_mio_cs driver Hardware driver for NI PCMCIA MIO E series cards Supports DAQCard-AI-16XE-50 (ni_mio_cs), DAQCard-AI-16E-4, DAQCard-6062E, DAQCard-6024E, DAQCard-6036E From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit a8b774308dd803437106e3d2b4fb6d9a3c7bfc7c Author: David Schleef Date: Thu Feb 12 15:51:45 2009 -0800 Staging: comedi: add nt_atmio driver Hardware driver for NI AT-MIO E series cards Supports the AT-MIO-16E-2, AT-MIO-16E-10, AT-MIO-16DE-10, AT-MIO-64E-3, AT-MIO-16XE-50, AT-MIO-16XE-10, AT-AI-16XE-10 cards From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 124b13b26df5dab0236520de95e1cc1dea06e3c3 Author: Frank Mori Hess Date: Thu Feb 12 15:49:25 2009 -0800 Staging: comedi: add ni_labpc drivers This supports National Instruments Lab-PC and compatibles From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 59c7dd3dc37dc42339406d08f1cde4d6194a4ccf Author: Ivan Martinez Date: Thu Feb 12 15:47:34 2009 -0800 Staging: comedi: add cb_pcidas driver For MeasurementComputing PCI-DAS series with the AMCC S5933 PCI controller From: Ivan Martinez Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 0e8db97a04b37960828b273d166e35eac9a1888b Author: Michal Dobes Date: Thu Feb 12 15:46:45 2009 -0800 Staging: comedi: add adv_pci1710 driver For Advantech cards: PCI-1710, PCI-1710HG, PCI-1711, PCI-1713, PCI-1720, From: Michal Dobes Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 3063d6de562c568839deff0aecd9fa4415fbb7fb Author: Michal Dobes Date: Thu Feb 12 15:44:54 2009 -0800 Staging: comedi: add adl_pci9118 driver For ADLink cards: PCI-9118DG, PCI-9118HG, PCI-9118HR From: Michal Dobes Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit d351ec843c22f083ae0e77648561a28bb5ca03fc Author: Michal Dobes Date: Thu Feb 12 15:44:03 2009 -0800 Staging: comedi: add amcc_s5933 header file This is used for any AMCC S5933 PCI controller code From: Michal Dobes Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit cb7859a90af1c6dedcc244f4b680ee68ed607add Author: Frank Mori Hess Date: Thu Feb 12 15:39:24 2009 -0800 Staging: comedi: add National Instruments infrastructure These drivers are used to support National Instruments general purpose counters and commands. From: Frank Mori Hess Cc: David Schleef Cc: Ian Abbott Cc: J.P. Mellor Cc: Herman Bruyninckx Cc: Wim Meeussen Cc: Klass Gadeyne Signed-off-by: Greg Kroah-Hartman commit f4bd8abb3733c6d7de84953abee89d909a1fa23c Author: Richard Bytheway Date: Thu Feb 12 15:36:37 2009 -0800 Staging: comedi: add cb_pcimdas driver For Measurement Computing PCI Migration series boards From: Richard Bytheway Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 6a5c8664766b82b36ec50bd2de9e72d3eae0dfbb Author: Ian Abbott Date: Thu Feb 12 15:35:39 2009 -0800 Staging: comedi: add amplc_pc236 driver for Amplicon PC36AT and PCI236 devices From: Ian Abbott Cc: David Schleef Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 7bc3bd1a467b218695025a29a50bf9bd2b471b34 Author: David Schleef Date: Thu Feb 12 15:34:40 2009 -0800 Staging: comedi: add plx9052 header file This is used by multiple comedi drivers. It is the definitions for the PLX-9052 PCI interface chip From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit fc59905e44d43fb2121c87b2c4381e3d0efd87b6 Author: David Schleef Date: Thu Feb 12 15:30:25 2009 -0800 Staging: comedi: add rti800 driver for Analog Devices RTI-800/815 devices From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 8b93f9034efbf2874d8809a9b8233e596bcbd5b1 Author: nsyeow Date: Thu Feb 12 15:28:32 2009 -0800 Staging: comedi: add adl_pci6208 driver For ADLink PCI-6208A devices From: nsyeow Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit bcd62c0bd353661b9e722513381c674d1244d93a Author: José Luis Sánchez Date: Thu Feb 12 15:26:54 2009 -0800 Staging: comedi: add acl7225b driver For Adlink NuDAQ ACL-7225b & compatibles From: José Luis Sánchez Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 6ca2733471190dd93b627a58148c1aeab5e0d797 Author: David Schleef Date: Thu Feb 12 15:25:27 2009 -0800 Staging: comedi: add 8255 driver The classic in digital I/O. From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 703afc38a0e79b69ecc8529924848e020a586e70 Author: David Schleef Date: Thu Feb 12 15:23:59 2009 -0800 Staging: comedi: add 8253.h header This is needed by a bunch of different comedi drivers. From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit c995fe9475e062bab6f5a45ed28cd2d3d955ef43 Author: ADDI-DATA GmbH Date: Thu Feb 12 15:14:18 2009 -0800 Staging: comedi: add addi-data drivers This adds the addi-data family of comedi drivers to the staging tree From: ADDI-DATA GmbH Cc: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 98ccdc56a067b267fc87f68c1d1ad1f2f237e217 Author: Julia Lawall Date: Fri Dec 26 08:28:58 2008 +0100 Staging: comedi: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/). // @disable is_null@ identifier f; expression E; identifier fld; statement S; @@ + if (E == NULL) S f(...,E->fld,...); - if (E == NULL) S @@ identifier f; expression E; identifier fld; statement S; @@ + if (!E) S f(...,E->fld,...); - if (!E) S // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit b171041be02f171cd06712746b97a996f883ec10 Author: Julia Lawall Date: Thu Dec 25 21:10:30 2008 +0100 Staging: comedi: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit fc0cb7d166f3c8a318d8b0c9580cfe12fed9234c Author: Julia Lawall Date: Thu Dec 25 15:34:44 2008 +0100 Staging: comedi: Use DEFINE_SPINLOCK SPIN_LOCK_UNLOCKED is deprecated. The following makes the change suggested in Documentation/spinlocks.txt The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ declarer name DEFINE_SPINLOCK; identifier xxx_lock; @@ - spinlock_t xxx_lock = SPIN_LOCK_UNLOCKED; + DEFINE_SPINLOCK(xxx_lock); // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit d86d3a0101d958988a715abb7ea4687690f0b52f Author: Julia Lawall Date: Wed Dec 24 16:23:10 2008 +0100 Staging: comedi: Correct use of ! and & 0x20 has 0 as its rightmost bit and thus !inl(info->plx_regbase + PLX_INTCSR) & 0x20 is always 0. I assume that !(!inl(info->plx_regbase + PLX_INTCSR) & 0x20) was intended. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ ( !E & !C | - !E & C + !(E & C) ) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 3bfd0583639a292da151fba7321d6fe5bd40f50d Author: Randy Dunlap Date: Thu Feb 19 09:47:32 2009 -0800 Staging: phison: depends on PCI phison uses PCI interfaces, so it should depend on PCI. Signed-off-by: Randy Dunlap Cc: Evan Ko Signed-off-by: Greg Kroah-Hartman commit 1cc41726fddd423090d529f3eb845b55774b1ff4 Author: Randy Dunlap Date: Mon Feb 16 08:46:16 2009 -0800 Staging: phison: fix kconfig for clean build phison is an ATA driver, not a classic IDE driver, so fix the Kconfig file so that it will build. drivers/staging/phison/phison.c:43: error: implicit declaration of function 'ATA_BMDMA_SHT' drivers/staging/phison/phison.c:43: error: initializer element is not constant drivers/staging/phison/phison.c:43: error: (near initialization for 'phison_sht.module') drivers/staging/phison/phison.c:47: error: 'ata_bmdma_port_ops' undeclared here (not in a function) drivers/staging/phison/phison.c:65: error: implicit declaration of function 'ata_pci_sff_init_one' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 301df5dce43124e926341665182a14f13a24ff96 Author: Greg Kroah-Hartman Date: Mon Feb 9 13:02:35 2009 -0800 Staging: phison: add driver to the build system Cc: Evan Ko Signed-off-by: Greg Kroah-Hartman commit 76d86df9c4947fd49f320834b6d618c234ce0ed7 Author: Greg Kroah-Hartman Date: Thu Feb 12 13:37:51 2009 -0800 Staging: phison: port code to work properly with latest libata This brings the driver up to modern times so that it can build and run properly with the in-tree libata code. Cc: Evan Ko Signed-off-by: Greg Kroah-Hartman commit 33210206b69db88925a318b053ab7aa9693c097f Author: Greg Kroah-Hartman Date: Thu Feb 12 13:36:54 2009 -0800 Staging: phison: fix up checkpatch and other formatting issues Minor touchups to fix up the coding style issues in the phison driver. Cc: Evan Ko Signed-off-by: Greg Kroah-Hartman commit cfc2f947f849d75dfb1bff780dfee023c2e5a390 Author: Evan Ko Date: Mon Feb 9 13:02:35 2009 -0800 Staging: add phison ATA driver to the tree It doesn't build properly yet as it is against an older kernel version. That will be fixed up in patches following this. From: Evan Ko Signed-off-by: Greg Kroah-Hartman commit ecf474516696c7eb6c2f6bb8dafcf86ebca62713 Author: Justin Bronder Date: Wed Jan 28 10:06:42 2009 -0500 Staging: b3dfg: Prepare b3dfg for submission upstream. - Basically, update driver to run with 2.6.28 - Conversion from struct class_device to struct device. - Conversion from .nopfn to .fault in vm_operations_struct. - Update use of pci_resource_flags to check for IORESOURCE_SIZEALIGN. - Update use of pci_dma_mapping_error. - Minor code cleanup and integration with kernel build system. Signed-off-by: Justin Bronder Signed-off-by: Greg Kroah-Hartman commit 5f4e925ad70446862097371dc3ba915610493891 Author: Duane Griffin Date: Wed Jan 28 09:50:37 2009 -0500 Staging: b3dfg: fixups and improvements - Added support for cable plug/unplug detection. - Improvements to error handling. - Switch to the pci_* DMA API. - Removed set_num_buffers functionality. - Locking review. - Unconditionally disable transmission when releasing device. Signed-off-by: Justin Bronder Cc: Duane Griffin Signed-off-by: Greg Kroah-Hartman commit 44c889243ec79b0ce695b58bb65e0a0f2c051bcd Author: Daniel Drake Date: Wed Jan 28 09:38:07 2009 -0500 Staging: add b3dfg driver Initial b3dfg driver development as preformed by Daniel Drake. All basic functionality is completed. Signed-off-by: Justin Bronder Cc: Daniel Drake Signed-off-by: Greg Kroah-Hartman commit 8532b09fde479026bd5b9fe0feb09dd5e9810362 Author: Greg Kroah-Hartman Date: Tue Feb 3 21:36:46 2009 -0800 Staging: aten2011: fix checkpatch errors and warnings After this, only warnings are line length ones. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 9d7005450b7a001ddde8e7b928cf9181941e7169 Author: Greg Kroah-Hartman Date: Tue Feb 3 21:35:55 2009 -0800 Staging: aten2011: s/__FUNCTION__/__func__ replace __FUNCTION__ with __func__ Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 9e3697a5cc7689bc1481130caacb6e27cfdae4f5 Author: Greg Kroah-Hartman Date: Tue Feb 3 16:06:19 2009 -0800 Staging: aten2011: remove DPRINTK macro Convert to use the dbg() macro we already have in the usb-serial layer. This also turns off the default for the driver to spit out all of the debug messages, now it is controlled by the module parameter. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 87ed9bd2259c55537a9a621826829d6bc3baa5f7 Author: Greg Kroah-Hartman Date: Tue Feb 3 16:06:19 2009 -0800 Staging: aten2011: fix up c++ comments Convert all C++ comments to /* */ Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit c3e06f2fc9f4f7c14f84a876bed60a2f61b8ba2b Author: Greg Kroah-Hartman Date: Fri Jan 30 15:37:00 2009 -0800 Staging: aten2011: remove wrappers around serial get and put data functions Don't wrap things that do not need to be wrapped... Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 4649dd3a8f3ad333fcd7166609773163d4478283 Author: Greg Kroah-Hartman Date: Fri Jan 30 15:36:30 2009 -0800 Staging: aten2011: delete the Dump_serial_port function It's useless, drop it. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 12cbe0b3384b281a2e0fb03638a342d9c128629f Author: Greg Kroah-Hartman Date: Fri Jan 30 15:36:09 2009 -0800 Staging: aten2011: fix up the get_uart_reg function Name it something sane, and fix up the code to be cleaner. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit e514adb0f282b11f8ed42c0941c18ba0cab16dca Author: Greg Kroah-Hartman Date: Fri Jan 30 15:35:50 2009 -0800 Staging: aten2011: fix up the set_uart_reg function Name it something sane, and fix up the code to be cleaner. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit e9abe30d6a9bec985e528591ec31d8293b8ebb9f Author: Greg Kroah-Hartman Date: Fri Jan 30 15:35:31 2009 -0800 Staging: aten2011: fix up the get_reg_sync function Name it something sane, and fix up the code to be cleaner. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 8433b6a69347022822131891ea4ac30880108a6c Author: Greg Kroah-Hartman Date: Fri Jan 30 15:32:18 2009 -0800 Staging: aten2011: fix up the set_reg_sync function Name it something sane, and fix up the code to be cleaner. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit f3415eeb2280592962b3e327294ddf32f025d72f Author: Greg Kroah-Hartman Date: Fri Jan 30 15:31:38 2009 -0800 Staging: aten2011: remove paranoia check functions They are useless so lets remove them. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 085c0904af64bfe9edaf9011facb0d2daea105bf Author: Greg Kroah-Hartman Date: Fri Jan 30 15:30:48 2009 -0800 Staging: aten2011: clean up init and exit functions This makes them smaller, and fixes the name of the serial driver structure. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit c725e43a546381019bb5094718ac25c10ac83e15 Author: Greg Kroah-Hartman Date: Fri Jan 30 15:29:52 2009 -0800 Staging: aten2011: remove unused fields from structures. As the driver was copied from another one, there are lots of fields that are unused due to the hardware being different. Remove a bunch of them, more will be removed later. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 907aff4ab004e5568b763c113e08b12b53e3e390 Author: Greg Kroah-Hartman Date: Thu Jan 29 17:17:48 2009 -0800 Staging: aten2011: fix up sparse warnings This resolves all of the sparse warnings. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit a7fefd101e4c4775f63352acc7bc1e066f2c42d7 Author: Greg Kroah-Hartman Date: Thu Jan 29 17:10:43 2009 -0800 Staging: aten2011: remove function prototypes. Reorginize functions to get rid of forward prototypes so they are no longer needed. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit a6364092eebd642fc08fbe4feb5f7f74cb7a3a84 Author: Greg Kroah-Hartman Date: Thu Jan 29 16:57:23 2009 -0800 Staging: aten2011: remove unneeded defines Lots of unused and unneeded #defines in this code, so lets remove them. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit c3858cbb9567dc7926b7f6c7ff5784bfd7c8936d Author: Greg Kroah-Hartman Date: Thu Jan 29 16:41:35 2009 -0800 Staging: aten2011: fix up comments by removing most of them. This driver was copied from the io_edgeport.c driver, so we need to put the proper copyright information back on it. Also, almost all of the function comments are directly from the original io_edgeport driver, and most of them are either totally wrong now due to changes, or redundant. So delete them all so no one gets confused by anything. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 8b4efbe395b1e85cd2dbaa5ad2d1fa3d617706c8 Author: Greg Kroah-Hartman Date: Thu Jan 29 13:08:23 2009 -0800 Staging: aten2011: remove kernel version dependencies As we are wanting to be in the main kernel tree, remove the #ifdef stuff for different kernel versions. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit e5ce610fd128f1d25a6d00b60f8588d139a879c5 Author: Greg Kroah-Hartman Date: Thu Jan 29 12:57:52 2009 -0800 Staging: aten2011: move .h files into the driver No need for external .h files for a simple usb-serial driver, move them into the .c file to make things easier to cleanup. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit d93f87c840a4230293266c2d801135d18b782088 Author: Greg Kroah-Hartman Date: Thu Jan 29 12:54:01 2009 -0800 Staging: aten2011: run lindent Run scripts/Lindent on the driver Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit e6d69d91d575d0fb573d3103e1fdff6ec98e52b6 Author: Greg Kroah-Hartman Date: Tue Jan 27 23:28:27 2009 -0800 Staging: add aten2011 usb to serial converter driver. Many thanks to Russell Lang for his help in getting this working on newer kernel versions and for pointing out this driver in the first place. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit 793bccbd0e5d22903ab4e28a598159a9bf59a0f1 Author: Randy Dunlap Date: Wed Feb 11 13:21:46 2009 -0800 Staging: stlc45xx: fix printk format warnings Fix staging/stlc45xx printk format warnings: drivers/staging/stlc45xx/stlc45xx.c:453: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/staging/stlc45xx/stlc45xx.c:509: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/staging/stlc45xx/stlc45xx.c:718: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/staging/stlc45xx/stlc45xx.c:851: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/staging/stlc45xx/stlc45xx.c:857: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/staging/stlc45xx/stlc45xx.c:1508: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 14c0b3ed4cab5ea79de091e22d42d6677f7cfefa Author: Kalle Valo Date: Wed Jan 7 22:01:20 2009 +0200 Staging: Add stlc45xx, wi-fi driver for stlc4550/4560 This patch adds a new driver called stlc45xx, which supports wi-fi chipsets stlc4550 and stlc4560 from ST-NXP Wireless. The chipset can be found, for example, from Nokia N800 and N810 products. The driver is implemented based on the firmware interface information published by ST-NXP Wireless here: http://wireless.kernel.org/en/developers/Documentation/specs#STMicroelectronicshardware Currently only SPI interface is supported. Signed-off-by: Kalle Valo Signed-off-by: Greg Kroah-Hartman commit 0564200d3d6e21882581eb72f560c850c6c7d8b2 Author: Alexander Beregalov Date: Thu Apr 2 15:37:10 2009 +0400 Staging: pohmelfs: should include fs_struct.h drivers/staging/pohmelfs/path_entry.c: In function 'pohmelfs_construct_path_string': drivers/staging/pohmelfs/path_entry.c:48: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c:49: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c:50: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c: In function 'pohmelfs_path_length': drivers/staging/pohmelfs/path_entry.c:95: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c:96: error: dereferencing pointer to incomplete type drivers/staging/pohmelfs/path_entry.c:97: error: dereferencing pointer to incomplete type Signed-off-by: Alexander Beregalov Acked-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 36ec4ab8c406c56a1ef7a65e135372e4efd1412f Author: Randy Dunlap Date: Wed Feb 18 13:01:34 2009 -0800 Staging: pohmelfs: fix kconfig dependencies pohmelfs wants to use CONNECTOR, so it selects CONNECTOR, but when CONFIG_NET is not enabled, connector.c will not build, since select does not follow the dependency chain. Selecting NET is not a good idea, since that would build lots of code that someone seemingly didn't want to build/store and kconfig shouldn't do that behind someone's back. pohmelfs should depend on NET since it uses network interfaces. pohmelfs also uses CRYTPO and selects 2 cipher symbols, but it should also select the top-level CRYPTO symbol since kconfig dependency chains are not followed. (found by inspection) This allows the POHMELFS_CRYPTO option to depend only on POHMELFS and makes the kconfig menu align properly. Also fix minor typos & line lengths in kconfig help text. Drop CONFIG_* in kconfig symbols in Kconfig file. connector.c:(.text+0x46003): undefined reference to `kfree_skb' connector.c:(.text+0x460a6): undefined reference to `kfree_skb' connector.c:(.text+0x4612b): undefined reference to `kfree_skb' (.text+0x4624f): undefined reference to `netlink_has_listeners' (.text+0x4629b): undefined reference to `__alloc_skb' (.text+0x462ea): undefined reference to `kfree_skb' (.text+0x46308): undefined reference to `skb_put' (.text+0x46385): undefined reference to `netlink_broadcast' (.text+0x7b574): undefined reference to `sock_release' (.text+0x7b8dd): undefined reference to `sock_create' (.text+0x7b984): undefined reference to `kernel_connect' (.text+0x7ba4c): undefined reference to `sock_release' net.c:(.text+0x7bda4): undefined reference to `kernel_recvmsg' (.text+0x7ef42): undefined reference to `kernel_sendmsg' (.text+0x7f057): undefined reference to `kernel_sendpage' (.text+0x7f1e8): undefined reference to `kernel_sendmsg' connector.c:(.devinit.text+0x5b): undefined reference to `init_net' connector.c:(.devinit.text+0x60): undefined reference to `netlink_kernel_create' connector.c:(.devinit.text+0xc9): undefined reference to `netlink_kernel_release' connector.c:(.devexit.text+0x2c): undefined reference to `netlink_kernel_release' Signed-off-by: Randy Dunlap Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit a6bab77c71c1b4332a2330d74b8c16e6829f4803 Author: Alexander Beregalov Date: Fri Feb 13 18:06:54 2009 +0300 Staging: pohmelfs should depend on CRYPTO Signed-off-by: Alexander Beregalov Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 02d84ca5ed407f18ebd4fba3522780ec4bdb5267 Author: Alexander Beregalov Date: Fri Feb 13 17:53:30 2009 +0300 Staging: pohmelfs: fix printk format warnings v2 drivers/staging/pohmelfs/inode.c:917: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'size_t' drivers/staging/pohmelfs/inode.c:1036: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'size_t' drivers/staging/pohmelfs/trans.c:164: warning: format '%u' expects type 'unsigned int', but argument 5 has type '__kernel_size_t' drivers/staging/pohmelfs/trans.c:170: warning: format '%u' expects type 'unsigned int', but argument 7 has type '__kernel_size_t' drivers/staging/pohmelfs/trans.c:517: warning: format '%u' expects type 'unsigned int', but argument 6 has type '__kernel_size_t' drivers/staging/pohmelfs/trans.c:600: warning: format '%u' expects type 'unsigned int', but argument 6 has type '__kernel_size_t' drivers/staging/pohmelfs/trans.c:610: warning: format '%u' expects type 'unsigned int', but argument 7 has type '__kernel_size_t' Signed-off-by: Alexander Beregalov Signed-off-by: Frank Seidel Acked-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 898a6cbe5502164a31b375c103737534a722c883 Author: Alexander Beregalov Date: Fri Feb 13 17:35:32 2009 +0300 Staging: pohmelfs: net.c: include vmalloc.h on Sparc64: drivers/staging/pohmelfs/net.c:33: error: implicit declaration of function 'vmalloc' drivers/staging/pohmelfs/net.c:42: error: implicit declaration of function 'vfree' Signed-off-by: Alexander Beregalov Acked-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit de459f26f3a14ca04ee14424b454d2dc08fe426e Author: Alexander Beregalov Date: Fri Feb 13 15:53:57 2009 +0300 Staging: pohmelfs: fix build breakage drivers/staging/pohmelfs/inode.c:982: error: implicit declaration of function 'DQUOT_TRANSFER' Signed-off-by: Alexander Beregalov Acked-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit f26c3036f2d3670e342f3de853449bf7397f62e6 Author: Evgeniy Polyakov Date: Tue Feb 10 00:30:15 2009 +0300 Staging: pohmelfs: select crypto modules from the config. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 18bc0bbd162e3eb3e7ea2953c315ad4113a57164 Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:42 2009 +0300 Staging: pohmelfs: kconfig/makefile and vfs changes. This patch adds Kconfig and Makefile entries and exports to VFS functions to be used by POHMELFS. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit c09ee9d206994655d55de60222a3024702ad2055 Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:41 2009 +0300 Staging: pohmelfs: transaction layer. This patch implements transaction processing helpers used to allocate/free/insert/remove and other operations with the transctions. Each transction is an object, which may embed multiple commands completed atomically. When server fails the whole transaction will be replied against it (or different server) later. This approach allows to maintain high data integrity and do not desynchronize filesystem state in case of network or server failures. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit d35eef1b42befc74b33c47de46b37a0370622ec2 Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:40 2009 +0300 Staging: pohmelfs: network operations. This is a main network processing patch. It includes both low-level socket machinery, zero-copy sending helpers, receiving and parsing callbacks and mainly logical commands handlers. POHMELFS uses async network approach, when every command can be separated from its answer and received after some time after the request during which another lots of commands can be injected into the network and replies to them received. With read operation balancing between multiple hosts it is possible that operations will arrive out of order and this is handled by the transaction mechanism described partially here. Having a transaction to guard the set of logically compound operations allows to send data without thinking about its status and using zero-copy sending mechanism, since transaction will receive explicit acks from the servers when they are completed. This patch also contains header with network srtuctures, commands and short comments on how they are used. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit ac7036c13113ed58bc9851d2808467dfeda8daed Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:39 2009 +0300 Staging: pohmelfs: distributed locking and cache coherency protocol. POHMELFS utilizes writeback cache, which is built on top of MO(E)SI-like coherency protocol. This patch includes its implementation and cache object processing helpers (like allocation and completion callbacks). POHMELFS uses scalable cached read/write locking. No additional requests are performed if lock is granted to the filesystem. The same protocol is used by the server to on-demand flushing of the client's cache (for example when server wants to update local data). Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit b3f08cad3db2d6d9cdbd039cb58ed47fac36e62c Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:38 2009 +0300 Staging: pohmelfs: inode operations. This is the main patch which implements inode operations (like reading and writing) and superblock processing (filesystem registration, initial autoconfiguration with the server like permissions, size of the exported dir, amount of the objects created and so on). POHMELFS relies on system's writeback cache mechanism shown here, as long as cache coherency protocol described later. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit e3eec94dc91c39f2bd7939294b9cd4a65a82db44 Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:37 2009 +0300 Staging: pohmelfs: directory operations. This patch implementes all supported directory operations like directory reading, object lookup, creation, removal and so on. Currently object removal is not optimized at all. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit e2396ae53361340d945dd2a928173049f31fb1eb Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:36 2009 +0300 Staging: pohmelfs: crypto processing. POHMELFS is able to encrypt the whole network channel or attach the strong checksum to own packets to catch faulty media. This patch implements crypto initialization, its autoconfiguration and sync with the server. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 9ce8b619eeee2c0231a60e374002d579a1cf0189 Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:35 2009 +0300 Staging: pohmelfs: configuration interface. This patch includes POHMELFS configuration interface based on the netlink kernel connector. This interface allows to create configuration groups in the kerenel indexed by mount ID option. Each configuration group can include multiple servers to work with and various operation parameters. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit b8523c40d57f5996a467f83825cb05583a5a7da4 Author: Evgeniy Polyakov Date: Mon Feb 9 17:02:34 2009 +0300 Staging: pohmelfs: documentation. This patch includes POHMELFS design and implementation description. Separate file includes mount options, default parameters and usage examples. Signed-off-by: Eveniy Polyakov Signed-off-by: Greg Kroah-Hartman commit e333720166a432ea890dbd438b465fd0cee3be32 Author: Evgeniy Polyakov Date: Mon Jan 19 21:30:47 2009 +0300 Staging: DST: fix build dependancy On Mon, Jan 19, 2009 at 10:12:24AM -0800, Randy Dunlap (randy.dunlap@oracle.com) wrote: > > DST build fails when CONFIG_BLOCK=n: DST should depend on block and block device, in the original patch its kconfig entry was in the BLK_DEV menu, so this dependency was satisfied automatically. Should attached patch be pushed into drivers/staging? Reported-by: Randy Dunlap Acked-by: Randy Dunlap Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit e5f753a5c7afa51fc6359b169e2f6bcb5b1a2984 Author: Evgeniy Polyakov Date: Mon Jan 19 20:20:38 2009 +0300 Staging: DST: Kconfig text update. Kconfig help text update Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 30c7c1c63079e97582a592c176bebbfd38285480 Author: Evgeniy Polyakov Date: Mon Jan 19 20:20:37 2009 +0300 Staging: DST: Do not allow empty barriers. Do not allow empty barriers or generic_make_request() -> scsi_setup_fs_cmnd() will explode Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit e55b689268391a3b0a0d20c951b60b2d88a5e105 Author: Evgeniy Polyakov Date: Mon Jan 19 20:20:35 2009 +0300 Staging: DST: extend thread pool exit conditions. Added thread pool exit condition into the thread_pool_del_worker(). If called in parallel another thread can steal Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 3e5510ab0cd73e37b1bf268ec1ec7a071e08a1d5 Author: Evgeniy Polyakov Date: Mon Jan 19 20:20:36 2009 +0300 Staging: DST: optimize bio allocation. Use bio prepend feature as suggested by Jens Axboe. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit cac22275ac3ee49a69178bd17c62ac30236308ca Author: Evgeniy Polyakov Date: Wed Jan 14 02:09:43 2009 +0300 Staging: dst: kconfig update. On Wed, Jan 14, 2009 at 02:05:33AM +0300, Evgeniy Polyakov (zbr@ioremap.net) wrote: > --- /dev/null > +++ b/drivers/staging/dst/Kconfig > @@ -0,0 +1,71 @@ > +config DST > + tristate "Distributed storage" > + depends on NET && CRYPTO && SYSFS > + select CONNECTOR > + select LIBCRC32C Above is not needed. Signed-off-by: Evgeniy Polyakov Cc: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 9539bec7b755f2093192410768119627079a06ec Author: Evgeniy Polyakov Date: Wed Jan 14 02:05:33 2009 +0300 Staging: dst: kconfig and makefile changes. Signed-off-by: Evgeniy Polaykov Signed-off-by: Greg Kroah-Hartman commit fdc4f2e95d3eb5c25fea449804e9174dd2e50903 Author: Greg Kroah-Hartman Date: Sun Jan 25 10:05:08 2009 -0800 staging: dst: replace bus_id with dev_set_name bus_id is going away, use the dev_set_name() function instead. Cc: Kay Sievers Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 1c93d9cf46df54784b96ab66423ad290dbe35095 Author: Evgeniy Polyakov Date: Wed Jan 14 02:05:32 2009 +0300 Staging: dst: crypto processing. DST may fully encrypt the data channel in case of untrusted channel and implement strong checksum of the transferred data. It is possible to configure algorithms and crypto keys, they should match on both sides of the network channel. Crypto processing does not introduce noticeble performance overhead, since DST uses configurable pool of threads to perform crypto processing. This patch introduces crypto processing helpers and crypto engine initialization: glueing with the crypto layer, allocation and initialization of the crypto processing thread pool, allocation of the cached pages, which are used to temporary encrypt data into, since it is forbidden to encrypt data in-place, since pages are used by the higher layers. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit a0fde6e06ee91582675ef885841ae911037f4a4b Author: Evgeniy Polyakov Date: Wed Jan 14 02:05:31 2009 +0300 Staging: dst: transactions. DST uses transaction model, when each store has to be explicitly acked from the remote node to be considered as successfully written. There may be lots of in-flight transactions. When remote host does not ack the transaction it will be resent predefined number of times with specified timeouts between them. All those parameters are configurable. Transactions are marked as failed after all resends completed unsuccessfully, having long enough resend timeout and/or large number of resends allows not to return error to the higher (FS usually) layer in case of short network problems or remote node outages. In case of network RAID setup this means that storage will not degrade until transactions are marked as failed, and thus will not force checksum recalculation and data rebuild. In case of connection failure DST will try to reconnect to the remote node automatically. DST sends ping commands at idle time to detect if remote node is alive. Because of transactional model it is possible to use zero-copy sending without worry of data corruption (which in turn could be detected by the strong checksums though). Transactions are handled in this patch: allocation/freeing/completion, scanning for stall and to-be-resent transactions and overall management of the storing tree. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 6694b31ac12fd914ae5ecf937a8f55945f46940d Author: Evgeniy Polyakov Date: Wed Jan 14 02:05:30 2009 +0300 Staging: dst: thread pool. Kernel currently does not allow to queue work into some entity which will perform it in the process context and have simple way to extend number of worker and work with them not as separate objects, but with pool as a whole. So thread pool model was implemented in the DST. Thread pool abstraction allows to schedule a work to be performed on behalf of kernel thread. One does not operate with threads itself, instead user provides setup and cleanup callbacks for thread pool itself, and action and cleanup callbacks for each submitted work. Each worker has private data initialized at creation time and data, provided by user at scheduling time. When action is being performed, thread can not be used by other users, instead they will sleep until there is free thread to pick their work. Thread pool is used for crypto processing of incoming and outgoing IO requests to reduce the overall overhead. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 03b55b9deded4982c8937bcb7507b91945d71839 Author: Evgeniy Polyakov Date: Wed Jan 14 02:05:29 2009 +0300 Staging: dst: export node. This patch introduces remote (export) node machinery: initialization address/port (and other socket parameters), export block device (can be another DST storage for example or local device like /dev/sda1), local IO processing engine (BIO state machines, receiving/submitting logic). Network management for the export node like accepting new client, scheduling its command processing thread, receiving/sending IO requests, all are placed here. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit a2376185dcad0040601768041c2a7e68edc9f4b8 Author: Evgeniy Polyakov Date: Wed Jan 14 02:05:28 2009 +0300 Staging: dst: network state machine. Each DST device contains of two nodes: local and remote (called also as export node). This patch contains local node processing engine: network state storage, socket processing loops and state machine, socket polling machinery, reconnection logic, send/receive basic helpers, related IO commands and so on. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit ce0d9d7255a55628fd3732bf583c83e90150b699 Author: Evgeniy Polyakov Date: Wed Jan 14 02:05:27 2009 +0300 Staging: dst: core files. This patch contains DST core files, which introduce block layer, connector and sysfs registration glue and main headers. Connector is used for the configuration of the node (its type, address, device name and so on). Sysfs provides bits of information about running devices in the following format: +/* + * DST sysfs tree for device called 'storage': + * + * /sys/bus/dst/devices/storage/ + * /sys/bus/dst/devices/storage/type : 192.168.4.80:1025 + * /sys/bus/dst/devices/storage/size : 800 + * /sys/bus/dst/devices/storage/name : storage + */ DST header contains structure definitions and protocol command description. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit dab8c35990692026fca989c3449fd67a59275c6a Author: David Täht Date: Tue Jan 20 08:33:25 2009 -0600 Staging: frontier: Remove unused components of the alphatrack/tranzport sysfs interface. Signed-off-by: David Täht Signed-off-by: Greg Kroah-Hartman commit a07998529bb6c4a4df97013d791a592c2b60ec78 Author: David Täht Date: Tue Jan 20 08:33:24 2009 -0600 Staging: frontier: Make checkpatch.pl happy with alphatrack.h Signed-off-by: David Täht Signed-off-by: Greg Kroah-Hartman commit b3bc12dac7e4045654ef4db49bef3e00e03e4452 Author: David Täht Date: Tue Jan 20 08:33:23 2009 -0600 Staging: frontier: Updated documentation Signed-off-by: David Täht Signed-off-by: Greg Kroah-Hartman commit 7f84642b2f6524929738a4c005002637ecd4b16d Author: David Täht Date: Tue Jan 20 08:33:22 2009 -0600 Staging: frontier: removed now unused frontier_compat.h file Signed-off-by: David Täht Signed-off-by: Greg Kroah-Hartman index 00450e6..0000000 commit f6a0ccadd1ab24818897fcbe039a248fee3cbd34 Author: David Täht Date: Tue Jan 20 08:33:21 2009 -0600 Staging: frontier: Make checkpatch.pl much happier with alphatrack driver Signed-off-by: David Täht Signed-off-by: Greg Kroah-Hartman commit 7c68d6b7171aa2f3d0c68b9ff54a2e1f0f0e228f Author: David Täht Date: Tue Jan 20 08:33:20 2009 -0600 Staging: frontier: Make checkpatch.pl considerably happier with tranzport driver. Signed-off-by: David Täht Signed-off-by: Greg Kroah-Hartman commit d44ca7af9e79abf4e80514583734cffed1117ee1 Author: Peter Teoh Date: Sat Mar 21 02:20:23 2009 +0800 Staging: rt2870: Removal of kernel_thread() API Replacing the use of kernel_thread() with kthread_run(). But as kthread_run() returned a task structure, as compared with kernel_thread() returning a PID, it was found to be more efficient to store the task structure pointer as a field data instead of PID pointer. On top of modifying the field to store task structure pointer, the initialization of the field (assigned to THREAD_PID_INIT_VALUE) was also found unnecessary - as no where it is found to be used. Signed-off-by: Peter Teoh Signed-off-by: Greg Kroah-Hartman commit a955dc39c0dd14e7f85c3d288478294fa133ea90 Author: Josef Jiru Date: Wed Mar 11 15:50:48 2009 +0100 Staging: rt2870: add Linksys WUSB600N device id Updated usb device list to support Linksys WUSB600N wireless adapter Signed-off-by: Josef Jiru commit bdc0a1739fee93152bf33ed83b9cc07d328e4013 Author: Mark Einon Date: Fri Mar 13 23:28:15 2009 +0000 Staging: rt2860: Remove dependency on CFLAG RT2860 Removed the CFLAG RT2860 from Makefile and dependency on it in the driver code. Signed-off-by: Mark Einon Signed-off-by: Greg Kroah-Hartman commit f72c4bf5e184353bd848b9b6de87fe2b07a3066c Author: Mark Einon Date: Wed Mar 11 22:51:41 2009 +0000 Staging: rt2860: Fix remaining build warnings Fixed remaining four build warnings in drivers/staging/rt2860/: drivers/staging/rt2860/common/mlme.c:900: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘ULONG’ drivers/staging/rt2860/common/rtmp_init.c:2049: warning: ‘Value’ may be used uninitialized in this function drivers/staging/rt2860/sta_ioctl.c:361: warning: ‘return’ with a value, in function returning void drivers/staging/rt2860/sta_ioctl.c:2468: warning: ‘return’ with a value, in function returning void Signed-off-by: Mark Einon Signed-off-by: Greg Kroah-Hartman commit ed291e8051ee418de7ccd3507c1e783323fd1c35 Author: Adam McDaniel Date: Mon Feb 23 08:01:07 2009 -0700 Staging: rt2860: Ported v1.7.1.1 changes into v1.8.0.0, becoming v1.8.1.1 Staging: rt2860: Ported v1.7.1.1 changes into v1.8.0.0, becoming v1.8.1.1 When RaLink released rt2860 v1.7.0.0, it lacked proper support for both WEP and WPA/WPA2 encryption. Either was possible, but the module had to be compiled to support only one or the other, never both. Since the EeePC was the most common device with this hardware (and these users were complaining to RaLink that WPA/WPA2 encryption didn't work) RaLink released a fix as an "eeepc-specific" version of this driver, v1.7.1.1 Unfortunately, when v1.8.0.0 was released, this WPA/WPA2 fix was never included. What complicates things further is that RaLink has no interest in continuing work on this Linux driver for their hardware. This commit ports the changes introduced in v1.7.1.1 into the v1.8.0.0 release, upgrading the kernel's module to v1.8.1.1 Signed-off-by: Adam McDaniel Signed-off-by: Greg Kroah-Hartman commit f4b44e763d1bd1dd00213c1e5820a594b55122dc Author: Randy Dunlap Date: Wed Feb 11 13:18:22 2009 -0800 Staging: rt2860: fix printk format warnings Fix staging/rt28x0 printk format warnings: linux-next-20090209/drivers/staging/rt2860/common/spectrum.c:1599: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' linux-next-20090209/drivers/staging/rt2860/rt_linux.c:857: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' linux-next-20090209/drivers/staging/rt2870/common/spectrum.c:1598: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' linux-next-20090209/drivers/staging/rt2870/rt_linux.c:898: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7f20a18d1803890619dbb686924d629ef95cfd84 Author: Pekka Enberg Date: Tue Jan 13 20:51:11 2009 +0200 Staging: rt2860: remove kernel version compatibility wrappers The driver is in mainline now so there's no point in keeping the kernel version compatibility wrappers around. Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 7034ca4dda60f213d2d428da690710da6ea9a8df Author: Julia Lawall Date: Wed Dec 24 16:24:05 2008 +0100 Staging: rt2860,rt2870: Correct use of ! and & IW_ENCODE_MODE is 0xF000 and thus !erq->flags & IW_ENCODE_MODE is always 0. I assume that !(erq->flags & IW_ENCODE_MODE) was intended. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ ( !E & !C | - !E & C + !(E & C) ) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 88adc104476cccb4b5cfaa48da7019cf9184481b Author: Greg Kroah-Hartman Date: Tue Mar 3 14:38:09 2009 -0800 Staging: rtl8187se: fix \r\n line ends Andrew pointed out that I forgot to convert some files to unix format when adding them originally. This patch runs dos2unix on the rtl8187se files that needed them. Reported-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9c515551f17493248cd287997d46d6d7e3203b1d Author: Roel Kluin Date: Thu Feb 19 11:36:41 2009 +0100 Staging: rtl8187se: ! x & y problem in inactive code Fix ! x & y problem in inactivated code Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit b318a3a6c3ac92cfab6b3f94eab9890659957938 Author: Herton Ronaldo Krzesinski Date: Fri Feb 13 08:35:13 2009 -0500 Staging: rtl8187se: fix build warnings drivers/staging/rtl8187se/r8180_wx.c:1386: warning: initialization from incompatible pointer type drivers/staging/rtl8187se/r8180_wx.c:1388: warning: initialization from incompatible pointer type Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Greg Kroah-Hartman commit 4913affd6ca41158fb29e19ca53ed2c83c041157 Author: Randy Dunlap Date: Wed Feb 11 13:19:35 2009 -0800 Staging: rtl8187se: fix printk format warnings Fix staging/rtl8187se printk format warnings: drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c:845: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/staging/rtl8187se/ieee80211/ieee80211_wx.c:852: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit bdd345d8560ab09162edd7c8fb64b7eb280a70d2 Author: Randy Dunlap Date: Tue Feb 17 09:38:41 2009 -0800 Staging: Android: fix more printk formats Fix more android ram_console printk format warnings: drivers/staging/android/ram_console.c:238: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/staging/android/ram_console.c:238: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7fce939942ba642b40d1d26581e824871eb3b081 Author: Randy Dunlap Date: Wed Feb 11 13:16:37 2009 -0800 Staging: android: ram_console: fix printk format warning Fix android printk format warnings: linux-next-20090209/drivers/staging/android/ram_console.c:228: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' linux-next-20090209/drivers/staging/android/ram_console.c:228: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' linux-next-20090209/drivers/staging/android/ram_console.c:326: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'size_t' linux-next-20090209/drivers/staging/android/ram_console.c:326: warning: format '%x' expects type 'unsigned int', but argument 3 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 45eb7ae173a444884bb05bb842f07b2ab57aef41 Author: Randy Dunlap Date: Wed Feb 11 13:15:39 2009 -0800 Staging: android: binder: fix printk format warnings Fix printk format warnings in android binder: drivers/staging/android/binder.c:2652: warning: format '%lx' expects type 'long unsigned int', but argument 7 has type 'pgprotval_t' drivers/staging/android/binder.c:2659: warning: format '%lx' expects type 'long unsigned int', but argument 7 has type 'pgprotval_t' drivers/staging/android/binder.c:2680: warning: format '%lx' expects type 'long unsigned int', but argument 7 has type 'pgprotval_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit c8bfbd5dd1042ef2563267082ce03efe2b2422d1 Author: Alexander Beregalov Date: Sun Mar 29 20:21:51 2009 +0400 Staging: otus: remove old irqreturn_t definition See commit bedd30d9 (genirq: make irqreturn_t an enum) Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 41d8532b5fc61fb384980cf3e19e61c12a02c87d Author: Dragoslav Zaric Date: Fri Mar 20 20:11:54 2009 +0100 Staging: otus: 80211core/amsdu.c: Fix Coding Style Signed-off-by: Dragoslav Zaric Signed-off-by: Greg Kroah-Hartman commit aef911a57d407eb8cf3e1101958b600d36ace3ec Author: Dragoslav Zaric Date: Mon Mar 16 23:17:47 2009 +0100 Staging: otus: ioctl.c: Fix Coding Style I run make on ioctl.c file and I got two warnings: drivers/staging/otus/ioctl.c: In function ¡usbdrv_wpa_ioctl¢: drivers/staging/otus/ioctl.c:2269: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/ioctl.c: In function ¡usbdrv_ioctl¢: drivers/staging/otus/ioctl.c:2448: warning: ISO C90 forbids mixed declarations and code From: Dragoslav Zaric Signed-off-by: Greg Kroah-Hartman commit 0009e125b629b83a540273ecf35ce18c5334e4fc Author: Randy Dunlap Date: Wed Feb 11 13:17:35 2009 -0800 Staging: otus: fix mixed declarations Fix otus ISO C90 warnings: drivers/staging/otus/80211core/cmmsta.c:740: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/80211core/coid.c:219: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/80211core/coid.c:1437: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hprw.c:33: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hprw.c:53: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hprw.c:82: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hprw.c:163: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hprw.c:219: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hprw.c:831: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hprw.c:896: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:332: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:1329: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:1565: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:1606: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:1923: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:1997: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:2264: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:2296: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:2330: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:2350: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:2387: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:2425: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:4223: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:4283: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:4314: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:4380: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:4425: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:4531: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpmain.c:4539: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpusb.c:69: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpusb.c:334: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpusb.c:580: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpreg.c:1774: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpreg.c:2478: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:61: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:80: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:145: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:352: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:393: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:472: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:517: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:592: warning: ISO C90 forbids mixed declarations and code drivers/staging/otus/hal/hpani.c:633: warning: ISO C90 forbids mixed declarations and code Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit d0fe19119efe389ea1e0fe6ce0f1b3b4a6521ea8 Author: Julia Lawall Date: Mon Dec 29 11:21:29 2008 +0100 Staging: otus: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 1472dc9b8848d80d1d8b5a9c4119d17dc9387fcb Author: Roel Kluin Date: Sat Jan 17 14:45:29 2009 +0100 Staging: otus: logical/bit and confusion fix logical/bit and confusion Signed-off-by: Roel Kluin Cc: Signed-off-by: Greg Kroah-Hartman commit 5e6a9adb8af908993a2f57d816343a44a710a818 Author: Randy Dunlap Date: Fri Feb 20 08:48:18 2009 -0800 Staging: mimio: depends on INPUT mimio driver uses input_* functions so it needs to depend on INPUT. mimio.c:(.text+0x2526c9): undefined reference to `input_unregister_device' mimio.c:(.text+0x2526da): undefined reference to `input_close_device' mimio.c:(.text+0x252725): undefined reference to `input_free_device' mimio.c:(.text+0x2528f1): undefined reference to `input_event' mimio.c:(.text+0x252904): undefined reference to `input_event' mimio.c:(.text+0x252921): undefined reference to `input_event' mimio.c:(.text+0x252b3e): undefined reference to `input_event' mimio.c:(.text+0x252b51): undefined reference to `input_event' drivers/built-in.o:mimio.c:(.text+0x252bbd): more undefined references to `input_event' follow mimio.c:(.text+0x252e42): undefined reference to `input_allocate_device' mimio.c:(.text+0x2530ef): undefined reference to `input_register_device' Signed-off-by: Randy Dunlap Cc: mwilder@cs.nmsu.edu Signed-off-by: Greg Kroah-Hartman commit a5c281cbf95b9d647007600646c50b4f91843510 Author: Randy Dunlap Date: Wed Feb 11 13:14:17 2009 -0800 Staging: altera: fix printk format warnings Fix printk format warnings in altera pcie chdma: drivers/staging/altpciechdma/altpciechdma.c:429: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'dma_addr_t' drivers/staging/altpciechdma/altpciechdma.c:433: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'dma_addr_t' drivers/staging/altpciechdma/altpciechdma.c:449: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'dma_addr_t' drivers/staging/altpciechdma/altpciechdma.c:450: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'dma_addr_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit c9a312f1c1aeee20a1b6637cb6454890d35371f7 Author: Eric Sesterhenn Date: Wed Feb 11 18:16:46 2009 +0100 Staging: et131x: list usage cleanup Trivial cleanup, list_del(); list_add_tail() is equivalent to list_move_tail(). Semantic patch for coccinelle can be found at www.cccmz.de/~snakebyte/list_move_tail.spatch Signed-off-by: Eric Sesterhenn Signed-off-by: Greg Kroah-Hartman commit e68f2849c14bc64c728b1f35d67887a093c059c6 Author: Wei Yongjun Date: Fri Feb 6 11:08:58 2009 +0800 Staging: usbip: kmem_cache_alloc/memset -> kmem_cache_zalloc Used kmem_cache_zalloc instead of kmem_cache_alloc/memset. Signed-off-by: Wei Yongjun Signed-off-by: Greg Kroah-Hartman commit c62d8437aa50cfe996c5a5f8d62387bf9741316f Author: Julia Lawall Date: Mon Dec 29 11:21:52 2008 +0100 Staging: rspiusb: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit f494b663976333ca622a47c8130952614dce0dc1 Author: Kalle Valo Date: Sun Feb 22 14:04:34 2009 +0200 Staging: at76_usb: convert to use linux/ieee80211.h Jason Andryuk noticed that at76_usb won't compile with current wireless-testing tree. This is because net/ieee80211.h was missing. net/ieee80211.h will be removed soon and at76_usb won't compile then that happens. Preprare for that by using instead linux/ieee80211.h and copying some structures not available. Signed-off-by: Kalle Valo Signed-off-by: Greg Kroah-Hartman commit 709ff0f6c9a1e5decfe57e145cec58386de19d9b Author: Kalle Valo Date: Sun Dec 28 20:32:33 2008 +0200 Staging: at76_usb: mention mac80211 port in TODO file at76_usb has actually been already ported to use mac80211. Update the TODO file to reflect this. Signed-off-by: Kalle Valo Signed-off-by: Greg Kroah-Hartman commit c9b8015b076bedc23d5fbf21d8cd73097d0fb9d7 Author: Erik Andrén Date: Thu Mar 19 21:47:12 2009 +0100 Staging: altpciechdma: checkpatch fixups Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit 2c77cb3e0595dd0c2dfeb548a9474a513d14a74b Author: Dan Carpenter Date: Tue Jan 20 15:07:36 2009 +0300 Staging: altpciechdma: Null deref in altpciechdma.c remove() If dev is NULL it prints an error message. The error message dereferences dev. Compile tested only. Signed-off-by: Dan Carpenter Cc: Leon Woestenberg Signed-off-by: Greg Kroah-Hartman commit 451084d2e056ab9ef0ae6afe59556dadc2f416aa Author: Alexander Beregalov Date: Mon Mar 16 19:45:13 2009 +0300 Staging: meilhaus: some checkpatch.pl cleanup Cc: David Kiliani Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 483f29cc43bf336e7c4cb8cb7aaccc1f55a99e4e Author: Alexander Beregalov Date: Mon Mar 16 00:54:53 2009 +0300 Staging: meilhaus: remove dependence on kernel version Cc: David Kiliani Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit a44522b20d24c1c2f6496106be17bc1fb6448d42 Author: Roel Kluin Date: Sun Jan 18 15:34:55 2009 +0100 Staging: meilhaus: unsigned won't get negative after subtraction Since unsigned, it won't get negative after subtraction. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 3f4577bff8b8d03e56f1b62bedca5cd3b18f919a Author: Julia Lawall Date: Thu Dec 25 15:35:05 2008 +0100 Staging: meilhaus: Use DEFINE_SPINLOCK SPIN_LOCK_UNLOCKED is deprecated. The following makes the change suggested in Documentation/spinlocks.txt The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ declarer name DEFINE_SPINLOCK; identifier xxx_lock; @@ - spinlock_t xxx_lock = SPIN_LOCK_UNLOCKED; + DEFINE_SPINLOCK(xxx_lock); // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 530ddf8563df4d7af8f8bdd99fa478c63805d0e3 Author: Julia Lawall Date: Wed Dec 24 16:23:37 2008 +0100 Staging: meilhaus: Correct use of ! and & ME_IO_SINGLE_TYPE_WRITE_NONBLOCKING and ME_IO_STREAM_CONFIG_WRAPAROUND both hanve 0 as the rightmost bit, and thus eg !flags & ME_IO_SINGLE_TYPE_WRITE_NONBLOCKING is always 0. I assume that !(flags & ME_IO_SINGLE_TYPE_WRITE_NONBLOCKING) and !(flags & ME_IO_STREAM_CONFIG_WRAPAROUND) were intended. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ ( !E & !C | - !E & C + !(E & C) ) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit c6f5af88438b3e22d56a6b2aafaee5ffc4bc030e Author: Greg Kroah-Hartman Date: Tue Mar 17 16:01:58 2009 -0700 Staging: go7007: fix build error VID_TYPE_CAPTURE is a v4l1 thing only. Reported-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 253d3b139a5aa1a27672eab96879c7e019bdb774 Author: Julia Lawall Date: Thu Dec 25 21:09:57 2008 +0100 Staging: go7007: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 41e847890acbee5db65430c1d4f8d7ac07813140 Author: Julia Lawall Date: Fri Dec 19 18:11:25 2008 +0100 Staging: go7007: Move a dereference below a NULL test In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/). The result has been modified to move the initialization of usb down closer to where it is used. // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit fd1f72b1827075d05b09658e55923eafecbf115e Author: Erik Andrén Date: Sat Mar 14 22:39:36 2009 +0100 Staging: agnx: Fixup xmit.c checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit 9e38849e55f847455588893e9aa4e254ee2845ef Author: Erik Andrén Date: Sat Mar 14 22:39:35 2009 +0100 Staging: agnx: Fixup table.c checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit 7f11b23b6a6c2f5e9f24d3a9f93fb209908cc1f9 Author: Erik Andrén Date: Sat Mar 14 22:39:34 2009 +0100 Staging: agnx: Fixup sta.h checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit 715cf2c53f7edc987afd502b68f724fbcc8678b8 Author: Erik Andrén Date: Sat Mar 14 22:39:33 2009 +0100 Staging: agnx: Fixup sta.c checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit 20da58ccfd95941988733c7d72113435188696dc Author: Erik Andrén Date: Sat Mar 14 22:39:32 2009 +0100 Staging: agnx: Fixup rf.c checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit 0f31f62d2a303b1074cb10749d599b29367c825b Author: Erik Andrén Date: Sat Mar 14 22:39:31 2009 +0100 Staging: agnx: Fixup phy.c checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit f58e12e4f8c2e31b0e453ab4a4a7fbd677f1e9ba Author: Erik Andrén Date: Sat Mar 14 22:39:30 2009 +0100 Staging: agnx: Fixup pci.c checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit b6da26e017c6dbf40079fc9db6f9c9ecc09b8ff2 Author: Erik Andrén Date: Sat Mar 14 22:39:29 2009 +0100 Staging: agnx: Fixup debug.h checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit f9a6b62bcfb95d6d363345ee9714270c2b828478 Author: Erik Andrén Date: Sat Mar 14 22:39:28 2009 +0100 Staging: agnx: Fixup agnx.h checkpatch warnings Signed-off-by: Erik Andrén Signed-off-by: Greg Kroah-Hartman commit 262d38706382ee58fff520c78acc7b28a6646118 Author: Herton Ronaldo Krzesinski Date: Fri Feb 13 08:35:12 2009 -0500 Staging: agnx: mac80211 hw config change flags Adapt agnx after commit "mac80211: introduce hw config change flags", detected by following build warning: drivers/staging/agnx/pci.c:426: warning: initialization from incompatible pointer type Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Greg Kroah-Hartman commit 39b41b23e27ca7d4425ad1f23189eef936394fdf Author: Roel Kluin Date: Sat Jan 31 11:44:02 2009 +0100 Staging: agnx: i reaches -1, tested 0 Signed-off-by: Greg Kroah-Hartman commit 6bf676723ab2a6ade05feb2cd0b5073930f72d7e Author: Julia Lawall Date: Fri Dec 19 18:11:01 2008 +0100 Staging: agnx: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Cc: YanBo Signed-off-by: Greg Kroah-Hartman commit 4ed4f41c1b13873f4b8afd4fbe00eb8c3907bc4a Author: Huang Weiyi Date: Sun Jan 11 17:22:36 2009 +0800 Staging: remove duplicated #include's Removed duplicated #include's in drivers/staging/altpciechdma/altpciechdma.c drivers/staging/comedi/comedidev.h drivers/staging/rt2860/rt_linux.h drivers/staging/rt2870/rt_linux.h Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 93be73f92980fab947b9565695ffe26a4b7bbf29 Author: Andre Haupt Date: Mon Jan 26 16:12:25 2009 +0100 Staging: me4000: make file_operations const This eliminates checkpatch.pl warnings, that struct file_operations is usually const. The structs me4000_ai_fops_array and me4000_ao_fops_array are not modified and thus also made const. Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit f02d3345edcf0db86a98e229a4441c2b60b42f7e Author: Andre Haupt Date: Mon Jan 26 16:12:24 2009 +0100 Staging: me4000: use tabs for code indentation Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit 370eb29dc441fb67a0175cc04134d13202b09c7d Author: Andre Haupt Date: Mon Jan 26 16:12:23 2009 +0100 Staging: me4000: do not use C99 style comments. Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit b8341a8d32f3dc08ac6da569b6d152a1db7a0109 Author: Andre Haupt Date: Mon Jan 26 16:12:22 2009 +0100 Staging: me4000: fix various checkpatch.pl warnings about bracing Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit e8aa1bd0987bd66ae2a44c05cdacf5cea83b6d62 Author: Andre Haupt Date: Mon Jan 26 16:12:21 2009 +0100 Staging: me4000: kfree(NULL) is safe, so no extra checks needed. Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit 705d300e1bcb5e2724690b6deb89fbfc453d790e Author: Andre Haupt Date: Mon Jan 26 16:12:20 2009 +0100 Staging: me4000: replace some C99 comments checkpatch.pl triggered those as false positives for trailing statements, but those lines also triggered some other warnings. Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit 1836842b206b9244c0d1f5075be0d07a69e14045 Author: Andre Haupt Date: Mon Jan 26 16:12:19 2009 +0100 Staging: me4000: inline keyword should sit between storage class and type fixes some checkpatch.pl errors complaining about wrong position of the inline keyword Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit 387ed8f8ed047b7a70578767c4bc9d86a82312bf Author: Andre Haupt Date: Mon Jan 26 16:12:18 2009 +0100 Staging: me4000: return is not a function, no parentheses required fixes some checkpatch.pl errors about unneccessary parentheses. Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit 07d2a2823014927e3578377a07868400837a79c6 Author: Andre Haupt Date: Mon Jan 26 16:12:17 2009 +0100 Staging: me4000: use linux/uaccess.h and linux/io.h This fixes the following checkpatch.pl warnings: WARNING: Use #include instead of WARNING: Use #include instead of Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit cfde74517b32724a78896eda49198f147e12050d Author: Richard Kennedy Date: Fri Feb 20 12:09:12 2009 +0000 Staging: wlan-ng: block ioctls until card fully initialised Add a mutex to block ioctls before the card is fully initialised and only allow one ioctl at a time. This stops udev trying to load the firmware before to card is fully up. patch ported from wlan-ng-devel Karl Relton spotted that this was missing from the staging version, http://lists.linux-wlan.com/pipermail/linux-wlan-devel/2009-February/003890.html Signed-off-by: Richard Kennedy Cc: Karl Relton Signed-off-by: Greg Kroah-Hartman commit 18c7f792be75c2430cbf16e22dca1ab6a9881a63 Author: Moritz Muehlenhoff Date: Wed Feb 18 19:50:07 2009 +0100 Staging: wlan-ng: Replace local byteorder macros Replace hfa384x2host_16(), hfa384x2host_32(), host2hfa384x_16() and host2hfa384x_32() with standard byteorder macros. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 465e7417b15348909606c3edce5f018818235a54 Author: Moritz Muehlenhoff Date: Mon Feb 9 19:33:44 2009 +0100 Staging: wlan-ng: Remove the now empty wlan_compat.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 3897cd0c4050b8fd86ebb98ce5c7cc8dc00813c3 Author: Moritz Muehlenhoff Date: Mon Feb 9 19:33:43 2009 +0100 Staging: wlan-ng: Remove dead code from p80211netdev.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 7c98f718786c3c6d03ee377b62838fff3cc8f573 Author: Moritz Muehlenhoff Date: Mon Feb 9 19:33:42 2009 +0100 Staging: wlan-ng: Remove unnecessary checks for NULL before calling kfree() Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit e469ee7f561657e260690ae202a32adb60e26730 Author: Moritz Muehlenhoff Date: Mon Feb 9 19:33:41 2009 +0100 Staging: wlan-ng: Remove more dead code from hfa384x_usb.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit d01f4677a86b44baa1f7ae85efa0f262a6b51d9d Author: Moritz Muehlenhoff Date: Mon Feb 9 19:33:40 2009 +0100 Staging: wlan-ng: Remove dead code from prism2mib.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 450238eab0dfa656f32a3701d8de5fe5a1b4687d Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:48 2009 +0100 Staging: wlan-ng: prism2mgmt.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 21dc0f898792df85780c9334f26edc28ff0ee30a Author: Moritz Muehlenhoff Date: Sun Feb 8 02:21:00 2009 +0100 Staging: wlan-ng: hfa384x_usb.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit b4b3f0da8466273789bb27dab8f30a9a99433003 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:21:01 2009 +0100 Staging: wlan-ng: p80211netdev.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit f34228824402ab9333eb75ea8946b11e6a5b6222 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:21:04 2009 +0100 Staging: wlan-ng: prism2sta.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit f4ee0f42a7c20dc18fac3489e3c05be6b36213a4 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:21:05 2009 +0100 Staging: wlan-ng: prism2usb.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit ec7466f0915d32cfd44711f15126c0f7ab383ad6 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:21:03 2009 +0100 Staging: wlan-ng: prism2mib.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit bb12793243eebd1d6640de9a9eb70e02a4e757ee Author: Moritz Muehlenhoff Date: Sun Feb 8 02:21:02 2009 +0100 Staging: wlan-ng: p80211mgmt.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit a32fb5f7548704884ae72c03a5c65e2947e47d6c Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:59 2009 +0100 Staging: wlan-ng: p80211netdev.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit c27f880c34ed8e702f3c9f0414489e5ebdde84e1 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:58 2009 +0100 Staging: wlan-ng: p80211msg.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 356925c71300a02b1b147667b1e2a986cfeae34c Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:57 2009 +0100 Staging: wlan-ng: p80211types.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 82eaca7d9a2ba1f619bf6eebb677add20235c1aa Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:56 2009 +0100 Staging: wlan-ng: p80211conv.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit c979aec791234192e1d520a9d5e79148164a7995 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:55 2009 +0100 Staging: wlan-ng: p80211conv.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit d6c82d9719fea4e6e0a279913ec6f81529faad9a Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:54 2009 +0100 Staging: wlan-ng: p80211hdr.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit ea75ad7b8b59329213d6c6b7df4041f50e9e57e1 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:53 2009 +0100 Staging: wlan-ng: p80211metastruct.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 77ebd0471a8472237c480a6aca0933f7d5b81cf0 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:52 2009 +0100 Staging: wlan-ng: p80211ioctl.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 90de180a2972adf16559c4203d989684ab0c6d4f Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:51 2009 +0100 Staging: wlan-ng: p80211meta.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit c7d4bd7d290b4f7a7b9888751df3c951ce35c13b Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:50 2009 +0100 Staging: wlan-ng: p80211wext.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit e573aaa4fd2bf704ce7edb37905fb5e66c886444 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:49 2009 +0100 Staging: wlan-ng: hfa384x.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 2407486b839ae1a635b12fa60356dd5e37ac18a4 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:47 2009 +0100 Staging: wlan-ng: prism2mgmt.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit b1de9675ac51aeff61a5a71247455d6cfaa86bb6 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:46 2009 +0100 Staging: wlan-ng: p80211req.c: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 4793a5e2fd65af9f00f8459eba6a1bf16b82bf34 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:20:45 2009 +0100 Staging: wlan-ng: p80211req.h: Coding style cleanups Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit a7cf7bae3297f16bb4a2f00310377fec06d0ecd6 Author: Moritz Muehlenhoff Date: Sun Feb 8 02:01:00 2009 +0100 Staging: wlan-ng: Replace WLAN_LOG_DEBUG() with printk(KERN_DEBUG Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 16910554f3687c96d572664efc55057668a3f1cf Author: Moritz Muehlenhoff Date: Sun Feb 1 13:39:16 2009 +0100 Staging: wlan-ng: Move wlan_mkprintstr() and wlan_hexchar() macros into prism2sta.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 96c5abd7f84272447a74c2a854c89f9cbd4018b2 Author: Moritz Muehlenhoff Date: Thu Feb 5 23:55:56 2009 +0100 Staging: wlan-ng: Move netdevice_t typedef into p80211netdev.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit ea045ba02086c008505ab1a6a7a60856072be65f Author: Moritz Muehlenhoff Date: Thu Feb 5 23:55:54 2009 +0100 Staging: wlan-ng: Remove WLAN_INCLUDE_DEBUG and some related, mostly unused Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 40a67411debb802a4e8d03f0c435a7495a8fc8c4 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:08 2009 +0100 Staging: wlan-ng: Remove more dead/unused code from hfa384x.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit acb7e24208124d1a268b78ba5c9b94f80d427c45 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:07 2009 +0100 Staging: wlan-ng: Remove dead/unused code from hfa384x.h and p80211metamsg.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 849d908ec331cf9647e81adf218b844473eac673 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:06 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211ioctl.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 4033fefab3e35e4fab5fc8b86f90f5da8e2265c9 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:05 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211metadef.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit fc71f4a5446659514716472b9c1c05368f451dde Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:04 2009 +0100 Staging: wlan-ng: Remove unused header file p80211metamib.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 28aed9e3692efdb6d91bdd413288ffb9691cba46 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:03 2009 +0100 Staging: wlan-ng: Remove dead code from hfa384x_usb.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 7dd33a43d5a8fe6f30697ac8295894e21d4cdc46 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:02 2009 +0100 Staging: wlan-ng: Remove dead code from prism2mgmt.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 4c9d98d9f67e4ea2cdba136273513f131022da35 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:01 2009 +0100 Staging: wlan-ng: Remove dead/unused code from prism2sta.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 8521258c7697dd6ba9b03376967fe664dc09db11 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:29:00 2009 +0100 Staging: wlan-ng: Remove more dead/unused code from p80211types.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 482a41361a9ac571cee265f44daaadd09e402cb1 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:28:59 2009 +0100 Staging: wlan-ng: Replace SSWAP() with the generic swap(). Also remove a Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 4ae14c368a4fa8d06bd49d1874cdb8bd79a83072 Author: Moritz Muehlenhoff Date: Sun Feb 1 13:28:58 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211req.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 3e7dbde92973b617a1e34b291ea93c3ef42af6cb Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:10 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211conv.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 944be922b7213fb844076051e99c2acae3c73676 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:09 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211conv.c Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit c63ef0717ae5bdb7687edeaae41e95dba3d6b87f Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:08 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211netdev.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit c8af900e2d14420b7f7a06f1f69884d5cc2320c3 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:07 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211msg.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 0a2a58de4cae2dd8cfae4be4c5a49afa46c8cd4d Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:06 2009 +0100 Staging: wlan-ng: Remove dead/unused code from hfa384x.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit a8d21c7b784c5da4a94ac33584edb02ea5beaac9 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:05 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211meta.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 69467fb54f5d3d3e9cd1652099c3d4f94c092077 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:04 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211hdr.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit c1ced24357eb8631d25c957535c2f723bec11710 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:03 2009 +0100 Staging: wlan-ng: Remove dead/unused code from p80211types.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 0b98de32d76d0667007d86ccae1c458b52ca457f Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:02 2009 +0100 Staging: wlan-ng: Replace wlan_isprint() with generic isprint() Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 9b9556ecc4bd8279aec195de84fd7d45a9883547 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:01 2009 +0100 Staging: wlan-ng: Replace WLAN_LOG_WARNING() with printk() Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit edbd606c4671fcd439164c8d63e896044d706156 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:55:00 2009 +0100 Staging: wlan-ng: Replace WLAN_LOG_ERROR() with printk() Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 2acbf9de068cae281f3bc30c6d7e41133fc7e8f3 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:54:59 2009 +0100 Staging: wlan-ng: Replace WLAN_LOG_NOTICE with printk() Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 090504701605d627b4a8ddb0d584f00613ee41fe Author: Moritz Muehlenhoff Date: Sun Jan 25 21:54:58 2009 +0100 Staging: wlan-ng: Remove wlan_max()/wlan_min() Replace wlan_min() with the generic min_t(), remove unused wlan_max(). Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 350f2f4bd6570f6f1996516ddd135ab2a95484de Author: Moritz Muehlenhoff Date: Sun Jan 25 21:54:57 2009 +0100 Staging: wlan-ng: Remove WLAN_LOG_INFO Replace WLAN_LOG_INFO with printk() and remove it. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 2d200d9f63786f7dd18d47e28c7b3eb8d261aae4 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:54:56 2009 +0100 Staging: wlan-ng: Move URB_ASYNC_UNLINK and USB_QUEUE_BULK out of wlan_compat.h Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 7f6e0e449c00bafe1c46471409fa1b8e4222dcf2 Author: Moritz Muehlenhoff Date: Sun Jan 25 21:54:55 2009 +0100 Staging: wlan-ng: Replace BITx with the generic BIT(x) Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit ae26230bf93d37de73febdd1990090dcbd489b38 Author: Moritz Muehlenhoff Date: Wed Jan 21 22:00:45 2009 +0100 Staging: wlan-ng: Use generic byteorder macros This patch removes the ieee2host16(), ieee2host32(), host2ieee16() and host2ieee32() macros and replaces them with the generic ones. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 8a251b55ef34c2a03e8ddf6d17bb125b92bb4a54 Author: Moritz Muehlenhoff Date: Wed Jan 21 22:00:44 2009 +0100 Staging: wlan-ng: Remove DBFENTER/DBFEXIT macros Remove the ugly DBFENTER/DBFEXIT macros, which are only inserted to add "<---" and "--->" at the function start/end at higher debug levels and which make the code a lot less readable. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 1f61379e82ab9319b99eb94963325ec766bcd752 Author: Moritz Muehlenhoff Date: Wed Jan 21 22:00:43 2009 +0100 Staging: wlan-ng: Cleanup wlan_compat.h more Move version identifier into p80211netdev.h and rename it to 0.3.0-staging to differentiate from the out-of-tree version. Also remove the unused wlan_ethconv declaration. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 3bd937af26599cfe7beddb10f9d66350e65b3526 Author: Moritz Muehlenhoff Date: Wed Jan 21 22:00:42 2009 +0100 Staging: wlan-ng: Remove stray comments in header files The header files contain a few comments, which describe the function of the header element. Remove them where not needed. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 28b17a4bdf148b7591c004efd10a8850d52849ec Author: Moritz Muehlenhoff Date: Wed Jan 21 22:00:41 2009 +0100 Staging: wlan-ng: Remove use of WLAN_ADDR_LEN Replace the driver local WLAN_ADDR_LEN constant through the kernel-wide ETH_ALEN definiton. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 9cba46dc1c1c98d9e1c44be7b8d435ad553f799e Author: Moritz Muehlenhoff Date: Wed Jan 21 22:00:40 2009 +0100 Staging: wlan-ng: Remove use of __WLAN_ATTRIB_PACK__ Replace all ocurrances of the __WLAN_ATTRIB_PACK__ from wlan_compat.h by __attribute__((packed)) and remove it afterwards. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 4bb5a7ec7635d1b1b66f853b9a9f9b717bc6b26d Author: Pekka Enberg Date: Mon Mar 2 12:30:16 2009 +0200 Staging: w35und: remove gl_80211.h header The gl_80211.h header file contains only two definitions that are actually used. Move them to mds_s.h and remove the otherwise unused file. Signed-off-by: Pekka Enberg Cc: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 3b055748d808f410da75564869a506b21eb6701b Author: Pekka Enberg Date: Mon Mar 2 12:19:57 2009 +0200 Staging: w35und: remove ds_tkip.h header The ds_tkip.h header file contains declarations of a function that is not actually defined anywhere. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek commit d2443c53eeaacf04ebb015e464824140ba24ebc0 Author: Pekka Enberg Date: Mon Mar 2 12:19:56 2009 +0200 Staging: w35und: remove unused bssdscpt.h header The bssdscpt.h header file contains definitions that are not actually used for anything. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 57a944435fd0c56ffde42288d8515020b2859e30 Author: Pekka Enberg Date: Mon Jan 12 18:03:39 2009 +0200 Staging: w35und: Remove MTO_FUNC_INPUT macro obfuscation Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 8e41b4b65d20f1321bc969b5de6038d5be33c9bd Author: Pekka Enberg Date: Mon Jan 12 18:02:47 2009 +0200 Staging: w35und: remove hw_data_t typedef As this typedef is used everywhere in the driver, remove it in a separate patch. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit eb62f3eaf7ff1e021a0f066a0f04ee45d0d1eadb Author: Pekka Enberg Date: Thu Jan 8 18:32:14 2009 +0200 Staging: w35und: typedef removal This patch removes some typedefs from the driver code. I also removed some unused structs I spotted while removing the typedefs. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 0c59dbaadf1bebdccacd616f3ebf375d81027f02 Author: Pekka Enberg Date: Thu Jan 8 11:31:59 2009 +0200 Staging: w35und: kill WBDEBUG and remove common.h header file The only remaining thing in common.h header file is the WBDEBUG() macro which is unconditionally defined as printk(). Kill the macro and remove the header file. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 132e755aedec1da154d516f33d23bdef008c4f9f Author: Pekka Enberg Date: Thu Jan 8 11:31:28 2009 +0200 Staging: w35und: remove useless macro from common.h The DebugUsbdStatusInformation macro doesn't do anything useful so remove the definition and the two users of it from driver code. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit bd37b7fddf51431faf9c32cd22356421913cfce8 Author: Pekka Enberg Date: Thu Jan 8 11:56:53 2009 +0200 Staging: w35und: convert code to use ETH_ALEN As suggested by Harvey Harrison, convert driver to use ETH_ALEN and kill a private macro from common.h that is used for the same thing. Acked-by: Harvey Harrison Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 64328c8711d72794446bbafe23890468786424cc Author: Pekka Enberg Date: Wed Jan 7 17:33:45 2009 +0200 Staging: w35und: unify mto.h and mto_f.h header files No need to keep function definitions separate from the rest so unify mto.h and mto_f.h header files. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 91da3d337a50c6443dcb9ee323e8670fb5684183 Author: Pekka Enberg Date: Wed Jan 7 17:33:18 2009 +0200 Staging: w35und: remove crazy commented out includes I have no idea why the driver would want to include OpenGL headers in the first place but lets just remove the crazy includes. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 7e797abfb8b69c9e270e65f7318942948aab5598 Author: Pekka Enberg Date: Wed Jan 7 17:32:58 2009 +0200 Staging: w35und: remove unnecessary os_common.h header file Convert code to include sysdef.h directly and remove unnecessary os_common.h header file. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit b93abb660abfc13f7f03065fa1fc77c825762a68 Author: Pekka Enberg Date: Wed Jan 7 17:32:41 2009 +0200 Staging: w35und: remove unused header files The header files are not included anywhere so we can just remove them. Signed-off-by: Pekka Enberg Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 94aa5b44cc0c2e6ba76098cfca800ee3d901c9a3 Author: Andre Haupt Date: Mon Jan 19 12:00:20 2009 +0100 Staging: asus_oled: do not use assignment in if condition This fixes some errors reported by checkpatch.pl Signed-off-by: Andre Haupt Cc: Jakub Schmidtke Signed-off-by: Greg Kroah-Hartman commit 118015c4d4796df499e8779ff4d581fad6565d81 Author: Andre Haupt Date: Mon Jan 19 12:00:19 2009 +0100 Staging: asus_oled: fix various checkpatch.pl issues regarding missing or obsolete spaces Signed-off-by: Andre Haupt Cc: Jakub Schmidtke Signed-off-by: Greg Kroah-Hartman commit 526fd20a351cd8ab598969f38d1c38cd869cd104 Author: Andre Haupt Date: Mon Jan 19 12:00:18 2009 +0100 Staging: asus_oled: trailing statements should be on next line fix the following error reported by checkpatch.pl ERROR: trailing statements should be on next line Signed-off-by: Andre Haupt Cc: Jakub Schmidtke Signed-off-by: Greg Kroah-Hartman commit b0e5ca810ae532153c9a44dbaeff529ee5028383 Author: Andre Haupt Date: Mon Jan 19 12:00:17 2009 +0100 Staging: asus_oled: do not initialise statics to 0 or NULL fix the following error reported by checkpatch.pl ERROR: do not initialise statics to 0 or NULL Signed-off-by: Andre Haupt Cc: Jakub Schmidtke Signed-off-by: Greg Kroah-Hartman commit ccdb24592f850c4951e76f95f8b4365be3c4e742 Author: Andre Haupt Date: Mon Jan 19 12:00:16 2009 +0100 Staging: asus_oled: fix sparse warnings about using plain integer as NULL pointer Signed-off-by: Andre Haupt Cc: Jakub Schmidtke Signed-off-by: Greg Kroah-Hartman commit cda3b517a478324233d9be71232b60e2e2efe848 Author: Mithlesh Thukral Date: Fri Mar 20 17:39:04 2009 +0530 Staging: sxg: Add support to download the firmware using request_firmware() Add support for downloading the firmware using kernel-builtin mechanism. This will remove the need for the firmware files in the driver source code. Signed-off-by: Christopher Harrer Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit e5ea8da06ba610551a75c79c1467aae379e953ce Author: Mithlesh Thukral Date: Fri Mar 20 17:37:32 2009 +0530 Staging: sxg: Add watchdog timer for managing Link states for SXG driver Add a watchdog timer to take care of link change notifications. Link changes would now be handled asynchronously as they involve large delays. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 524ca9c196605ff38ae0532aad29ec2e91ad45d6 Author: Mithlesh Thukral Date: Fri Mar 20 17:36:44 2009 +0530 Staging: sxg: Fix a warning dump emitted by rtnl_watchdog during LTP tests Fix a softlock warning message thrown up by the rtnl_timer. This was observed during the LTP tests (interface up/down test) Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit b9346e0fc5f0761c63a6e26c6436f0d6d645c826 Author: Mithlesh Thukral Date: Fri Mar 20 17:35:58 2009 +0530 Staging: sxg: Read the correct MAC address from the card for Rev B cards Read the correct MAC address from EEPROM/Flash. Without this fix, all the interfaces were using the same MAC address. This works on Rev B firmware. Signed-off-by: Christopher Harrer Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 544ed364f4cac1ed6024711132e059c2746325a5 Author: Mithlesh Thukral Date: Fri Mar 20 17:35:12 2009 +0530 Staging: sxg: Fix interface bug not working after open is called second time. Fix the problem of the interface not working after a sequence of up-down-up events. The problem was observed only on systems where the card was using MSI-X interrupts. On the second time open, the driver did not request MSI-X vector but was trying to use normal interrupts. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit aa1256eafb610796dbc0900bd7de05b36e613472 Author: Mithlesh Thukral Date: Mon Mar 16 08:34:14 2009 -0400 Staging: sxg: Fix the module in Kconfig file for Sahara SXG driver * Update the module name in Kconfig help section. This is a classic case of documentation keeping out of pace with development And this was overlooked by me ages ago when we had fixed the Makefile for sxg_ethtool to compile. Signed-off-by: Mithlesh Thukral Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 9fd6966c62e6ad770a8b193d71d36beb9b82d351 Author: Mithlesh Thukral Date: Tue Feb 24 18:09:34 2009 +0530 Staging: sxg: Fix memory leak caused by double allocation of rings * The receive rings were getting allocated twice. Once at probe time and once at open time. This leaked huge amounts of memory. Fix this leak and now allocation is done only once. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit bbb18b97f6bcf1d55814ce08bdaf6c358b16c8bb Author: Mithlesh Thukral Date: Tue Feb 24 18:07:59 2009 +0530 Staging: sxg: Add checksum control option through ethtool interface * This patch adds support for controling checksum feature using the ethtool interface. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 7876ce07c8127c8a704ed79f88be2973ea3cec1c Author: Mithlesh Thukral Date: Wed Feb 18 18:54:59 2009 +0530 Staging: sxg: Remove unused Rev A microcode files Remove the deprecated microcode which was for Rev A. Now on the driver will use Rev B microcode only. Signed-off-by: Michael Miles Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit a536efcc76cfff94ee317f3ca48bc04b3a342ad5 Author: Mithlesh Thukral Date: Wed Feb 18 18:54:14 2009 +0530 Staging: sxg: Add Rev B support in the Sahara SXG driver This patch makes the Sahara SXG driver use Rev B firmware instead of Rev A. The firmware version is 1.71 Signed-off-by: Michael Miles Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 497ef3c5f15ffce25798c50573c8231e17dee5dd Author: Mithlesh Thukral Date: Wed Feb 18 18:53:04 2009 +0530 Staging: sxg: Add firmware files for Rev B card This patch adds the new firmware files required by Rev B cards. Signed-off-by: Michael Miles Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit b9d1081a833806e2f8ee7d8b827202e1bd5949b2 Author: Mithlesh Thukral Date: Wed Feb 18 18:52:18 2009 +0530 Staging: sxg: Fix memory leak in case of allocation failure * Fix a memory leak if allocation of skb fails in sxg_fill_descriptor_block. In sxg_fill_descriptor_block(), if allocation of skb failed in loop, we just came out shouting. This rollbacks all the successful operation before skb allocation fails and then returns. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 9914f0536f0e87c13ad51971f0ddcda007436f34 Author: Mithlesh Thukral Date: Wed Feb 18 18:51:29 2009 +0530 Staging: sxg: Add Checksum Offload support for Sahara SXG driver * This patch adds support for offloading checksum to hardware. IP checksum have been tested for IPv4 and IPv6. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit c1f46a001fd878f1be4e08ce1df2d5677e335926 Author: Randy Dunlap Date: Wed Feb 11 13:22:56 2009 -0800 Staging: sxg: fix napi interface build Fix staging/sxg napi interface calls: drivers/staging/sxg/sxg.c:1271: error: implicit declaration of function 'netif_rx_schedule_prep' linux-next-20090209/drivers/staging/sxg/sxg.c:1272: error: implicit declaration of function '__netif_rx_schedule' drivers/staging/sxg/sxg.c:1325: error: implicit declaration of function 'netif_rx_complete' Signed-off-by: Randy Dunlap Cc: Mithlesh Thukral Cc: LinSysSoft Sahara Team Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 1782199f96eab4ad28c0334f27eb5a52b6c62428 Author: Mithlesh Thukral Date: Fri Feb 6 19:32:28 2009 +0530 Staging: sxg: Make SXG driver use MSI-X interrupts if possible Make Sahara SXG driver use MSI-X interrupts instead of line based interrupts if possible. In case of problems in getting MSI-X vectors or MSI-X not being supported, driver will fall back to use previous line based interrupts. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit c5e5cf5a1824f5efbe97880bc7d667053866afc3 Author: Mithlesh Thukral Date: Fri Feb 6 19:31:40 2009 +0530 Staging: sxg: Removed unnecessary checks while taking Transmit Locks Fix the locking issue of locks in transmit code path. There was an unnecessary check for interrupt context in transmit code path. Removed that. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 7c66b14b6bfd4bf1b803be5ba3cc2e2e31d784de Author: Mithlesh Thukral Date: Fri Feb 6 19:30:40 2009 +0530 Staging: sxg: Add Jumbo frames support to Sahara SXG Driver This patch adds Jumbo frame support to Sahara's SXG Driver. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 559990c6885d988605e247981234a29ba0b2b2c9 Author: Mithlesh Thukral Date: Fri Jan 30 20:20:19 2009 +0530 Staging: sxg: Cleanup the SXG driver of unused space and functions Miscellaneous cleanups. * Removed unwanted spaces/lines. * Removed unused functions. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit b62a294f97be4072171189510f34bb545364395e Author: Mithlesh Thukral Date: Fri Jan 30 20:19:03 2009 +0530 Staging: sxg: Add NAPI feature to Sahara SXG Driver * Add NAPI support for SXG driver for Alacritech's 10Gbe products. The driver will now work in NAPI mode by default. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit b040b07bb0009dd036326f074cbb5501cf245460 Author: Mithlesh Thukral Date: Wed Jan 28 07:08:11 2009 +0530 Staging: sxg: Add multicast support for Sahara SXG driver * Add multicast support for SXG driver for Alacritech's 10Gbe products. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Mithlesh Thukral Cc: Michael Miles Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 96e7088c9a7ef3a49c8ba9ca660f73744b0b09c5 Author: Greg Kroah-Hartman Date: Wed Jan 21 08:17:45 2009 -0800 Staging: sxg: fix build warnings in sxg.c This compiles out some functions that are not being used to keep the build clean so that we can see the "real" warnings and errors. Cc: Mithlesh Thukral Cc: LinSysSoft Sahara Team Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 5774538441aa4255a510ac304d4a3af589cd2c56 Author: Greg Kroah-Hartman Date: Wed Jan 21 08:15:58 2009 -0800 Staging: sxg: fix build warnings in downloadB firmware files These variables are never used, so #ifdef them away. This should probably be fixed up properly from someone who knows why we are even including these files in the first place, when they do not seem to be needed at all. Cc: Mithlesh Thukral Cc: LinSysSoft Sahara Team Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit aac6d7bed183fa2f09ea45e1f05c7ae302514da8 Author: Greg Kroah-Hartman Date: Wed Jan 21 08:14:38 2009 -0800 Staging: sxg: remove firmware files from sgx_ethtool.c They are not needed here and only cause build warnings and bloat the object file. Cc: Mithlesh Thukral Cc: LinSysSoft Sahara Team Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit a7c0ea6e954635c7c9c60a197320e2fd72a42078 Author: Greg Kroah-Hartman Date: Wed Jan 21 08:12:10 2009 -0800 Staging: sxg: fix build warnings in sxg_ethtool This fixes some build problems with the ethtool support recently added for the sxg driver. This is a very good example of why you need to check the build for warnings and then fix them... Cc: Mithlesh Thukral Cc: LinSysSoft Sahara Team Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 0d41472746cec1f4d8e5c0ca12f4b1cd3819ea40 Author: Mithlesh Thukral Date: Mon Jan 19 20:29:59 2009 +0530 Staging: sxg: Fix to load card on low memory machines * Fix problem of crash on 50MB machine. * Fixed dma_addr_t bug, which resolves issues on x86_32 bit machines. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit a3915dd88dd594c62e156456f771972932b4d964 Author: Mithlesh Thukral Date: Mon Jan 19 20:28:13 2009 +0530 Staging: sxg: Firmware updates * Add new firmware and remove all firmware file. * Add a switch to load either debug or free firmware. Signed-off-by: Christopher Harrer Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Greg Kroah-Hartman commit 54aed1132631b3f630b71354f8f477c5e6bfaebe Author: Mithlesh Thukral Date: Mon Jan 19 20:27:17 2009 +0530 Staging: sxg: Add Ethtool functionality enhancement and misc cleanups Misc. cleanups in the driver. * Remove debugging code and variables. * Fix compile time warnings. * Remove debugging comments. * Start cleanup of sxg_stats structure. This structure will eventually become very small Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 6a2946baa97337ad17c967ee8ec0bbfef491af30 Author: Mithlesh Thukral Date: Mon Jan 19 20:24:30 2009 +0530 Staging: sxg: Locking related changes. Fix locking levels * Fix locking related issues like taking locks at right level. * Convert some variables to atomic, to prevent taking them while incrementing or decrementing them. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit d9d578bff771229c017582d746259ac282ee01e2 Author: Mithlesh Thukral Date: Mon Jan 19 20:23:22 2009 +0530 Staging: sxg: SXG SGL related cleanup in data structures and code * Cleanup in allocation of SXG_SGLs. * Locking issues related to SglQLock. * XmtCmd and XmtZeroLock consistency fixes. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 371d7a9e6f0486fb814582c46785fdb147d7215e Author: Mithlesh Thukral Date: Mon Jan 19 20:22:34 2009 +0530 Staging: sxg: Ethtool framework and Receive code path changes * Add Ethtool framework to driver * Makefile changes to fix build redundancy. * Fix ups to error code paths in receieve buffer allocation as well as receive code path. * Read MAC address from FLASH/EEPROM Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit d0128aa9dc8a19a403cb35b5d3a6ded7210eb921 Author: Mithlesh Thukral Date: Mon Jan 5 21:18:04 2009 +0530 Staging: sxg: Receive code and data structure cleanups * Cleanup in recevive buffer structure * Drop receive data buffer as its not needed with use of skbs * Fix error code paths in receive skb failures Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit cb636fe382d47e1ba97d9c69f8a1e64b178b8cec Author: Mithlesh Thukral Date: Mon Jan 5 21:16:56 2009 +0530 Staging: sxg: Indentation fixes - mostly 80 char lines Fix up the indentation to Linux style. There was some indentation which was not as per Linux style specially related to 80 char lines. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit ddd6f0a8c9c2f9b934491b8a52d77af422799ab5 Author: Mithlesh Thukral Date: Mon Jan 5 21:15:29 2009 +0530 Staging: sxg: Commenting style fixes - Pending work This patch cleans up the comment. Converts the comments to C89 style. Fixes comment related TODO item. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 942798b46243947c1c621ecab00697a0763bd5e4 Author: Mithlesh Thukral Date: Mon Jan 5 21:14:34 2009 +0530 Staging: sxg: Typedef removal - pending work This patch removes all typedefs in the code. These were the typedefs which are still present in driver in staging tree after the cleanup patches. Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 1323e5f14a4c85375977b76fad3546e678a6e6b1 Author: Mithlesh Thukral Date: Mon Jan 5 21:13:23 2009 +0530 Staging: sxg: New SXG_SGL design and MAC Header changes * This patch introduces the new SXG_SGL design. * Related changes to sxg_scatter_gather structure. * Introduced PSXG_X64_SGL changes which are x64 friendly * Setting the MAC HEADER pointer properly in skb before giving to higher layers. Signed-off-by: Michael Miles Signed-off-by: LinSysSoft Sahara Team Signed-off-by: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 976c032faa6f305932ecaee22701685abafa4761 Author: Greg Kroah-Hartman Date: Thu Feb 26 16:21:46 2009 -0800 Staging: slicoss: slichw.h cleanup Lots of spaces->tabs cleanups for slichw.h It's much more sane and "Linux-like" now. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit a750c1c525dcfd2e134aba589a630212df39ea8d Author: Greg Kroah-Hartman Date: Thu Feb 26 15:46:06 2009 -0800 Staging: slicoss: delete slicdbg.h Move the ASSERT macro into slicoss.c as that's all that is currently being used. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 8665b184749dbb3b55313e60e27ff93296f95d18 Author: Greg Kroah-Hartman Date: Thu Feb 26 15:37:08 2009 -0800 Staging: slicoss: remove ASSERTMSG macro No one uses it, so drop it. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 4bee4f60344a880e7174a38051f6dede4f528b47 Author: Greg Kroah-Hartman Date: Thu Feb 26 15:32:42 2009 -0800 Staging: slicoss: remove DBG_ERROR macro Use the dev_err() call instead, it is the standard and provides much more information. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit e5bac59803550c490f292391f7877107fd24107a Author: Greg Kroah-Hartman Date: Thu Feb 26 14:56:25 2009 -0800 Staging: slicoss: remove SLICLEVEL and SLIC_DISPLAY macros They aren't needed or used anymore. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit e52011e4761938632a926e8518834a8f66918f26 Author: Greg Kroah-Hartman Date: Thu Feb 26 14:52:19 2009 -0800 Staging: slicoss: remove SLIC_ETHTOOL_SUPPORT It was always enabled, so just always use it. Cleaned up the ioctl code a bit as well to make it more readable. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit e8bc9b7a208f02d06442a15bc880c7e54e2cfb98 Author: Greg Kroah-Hartman Date: Thu Feb 26 14:43:03 2009 -0800 Staging: slicoss: remove DBG_MSG It's not being used for anything, so delete it and all instances of it. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 47881dd94640efa9ff682b362ab699b12e8e276a Author: Greg Kroah-Hartman Date: Thu Feb 26 14:13:26 2009 -0800 Staging: slicoss: remove VALID_ADDRESS macro It's quite wierd, and doesn't even do anything on x86_64, so just delete it. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit a0a1cbef8667c410d5118716ce293af1a384107f Author: Greg Kroah-Hartman Date: Thu Feb 26 14:09:38 2009 -0800 Staging: slicoss: remove SLIC_PING_TIMER_ENABLED It was always enabled, so just enable it properly. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 04ac01caa68aca58347ff91354fc4851c9d619e9 Author: Greg Kroah-Hartman Date: Thu Feb 26 14:07:57 2009 -0800 Staging: slicoss: remove LINUX_FREES_ADAPTER_RESOURCES It was always enabled, so just enable it and take out the one place it was being used. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 0fba1a954db47fa9f62b559537e552c8cc8752ba Author: Greg Kroah-Hartman Date: Thu Feb 26 14:06:08 2009 -0800 Staging: slicoss: remove SLIC_POWER_MANAGEMENT_ENABLED It was always disabled, so just remove it and the 2 lines of code it was protecting. Also remove SLIC_POWER_MANAGEMENT which was also disabled, yet was never used. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit e9ef456ebc5b3e5a4794b57ad0403f1d9389ed53 Author: Greg Kroah-Hartman Date: Thu Feb 26 14:03:54 2009 -0800 Staging: slicoss: add proper KERN_DEBUG to 2 printks Added bonus is this fixes a compiler warning on 4.3.3 Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 3467db1078e1f6784291496b93335a94f0e1392f Author: Greg Kroah-Hartman Date: Thu Feb 26 14:01:22 2009 -0800 Staging: slicoss: remove SLIC_GET_STATS_ENABLED It was always enabled, so just turn on the code that was being always enabled, and remove the #define. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 77faefa3308906d15c711b7623fcd29b1c786764 Author: Greg Kroah-Hartman Date: Thu Feb 26 13:59:12 2009 -0800 Staging: slicoss: delete slicinc.h Putting static function prototypes in a .h file doesn't make much sense. Move the ones that we need into the .c file and delete the rest. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit c6bc6cd23a9d2c8fa1e8fe71593871504ef46faa Author: Greg Kroah-Hartman Date: Wed Feb 25 18:41:13 2009 -0800 Staging: slicoss: remove SLIC_GET_STATS_TIMER_ENABLED SLIC_GET_STATS_TIMER_ENABLED was never defined, so remove the code that was bound by it. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 7f75d4739c3985d0aa7cd8cf97ce69e6fa5c1e6e Author: Greg Kroah-Hartman Date: Wed Feb 25 18:37:53 2009 -0800 Staging: slicoss: clean up SLIC_DUMP_ENABLED As SLIC_DUMP_ENABLED was disabled, remove the code that it was keeping from being built as it was not ever used. This removed a lot. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit e1ecad2794d71855c8f0dabe86f8e71193225093 Author: Greg Kroah-Hartman Date: Wed Feb 25 18:24:19 2009 -0800 Staging: slicoss: delete slicbuild.h It was just duplicating the same #defines already in the .c file and it wasn't even being #included in any file. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit e397491dcafbfdc029e52424889fbe113297fcfe Author: Greg Kroah-Hartman Date: Wed Feb 25 18:20:24 2009 -0800 Staging: slicoss: remove unused #defines There are a number of "config" defines that do nothing, remove them. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit f95739b1bf2ad004c176109dfe2f555f1f099d6c Author: Greg Kroah-Hartman Date: Wed Feb 25 18:11:24 2009 -0800 Staging: slicoss: remove slic_os.h It's no longer needed, and empty, so remove it. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 62f691a3b3eceebd165884f84305099db3e704f8 Author: Greg Kroah-Hartman Date: Wed Feb 25 18:10:25 2009 -0800 Staging: slicoss: remove WRITE_REG wrapper It's not needed, so just call the function instead of using a define. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 28980a3c298899a6fb83b04aa054b52041172305 Author: Greg Kroah-Hartman Date: Wed Feb 25 17:43:28 2009 -0800 Staging: slicoss: remove WRITE_REG64 wrapper It's not needed, so just call the function instead of using a define. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 5969ca00a23f1bda0d9f3679b760cb6fc7480788 Author: Greg Kroah-Hartman Date: Wed Feb 25 17:29:34 2009 -0800 Staging: slicoss: remove DEBUG_REGISTER_TRACE It's not ever defined, so remove it from the code base. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit db7a673a66cb860f6b9eab4d14331480608ab8f7 Author: Greg Kroah-Hartman Date: Wed Feb 25 17:28:05 2009 -0800 Staging: slicoss: remove jiffies macros Use the ones built into the kernel, don't reinvent the wheel. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit b574488e42ab1146355c8abd138cae082ca19f28 Author: Greg Kroah-Hartman Date: Wed Feb 25 17:16:44 2009 -0800 Staging: slicoss: remove TRUE/FALSE usage Don't use TRUE and FALSE, we have proper boolean types in the kernel. Cc: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 2bb347361e2c19799431f56488a3f64de40a3aa6 Author: Lior Dotan Date: Wed Feb 11 13:35:10 2009 +0200 Staging: SLICOSS: use gfp_kernel where possible Use GFP_KERNEL instead of GFP_ATOMIC where possible. Signed_off-by: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 1025744a6c30d58e232bac43396db18cc805ab98 Author: Lior Dotan Date: Wed Feb 11 12:18:21 2009 +0200 Staging: SLICOSS: free resources on entry_probe error path Call pci_disable_device() and free_netdev() if slic_entry_probe fails. Signed_off-by: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit a390c47939b0d418fc2c4cf1f360795949228de5 Author: Lior Dotan Date: Fri Jan 30 09:51:49 2009 +0200 Staging: slicoss: add binary firmware to firmware directory Adds the firmware to the firmware directory in ihex format so it can be installed when doing make firmware_install. Also update the firmware location in the driver code so it can locate the files in the right place. This should conclude the move to request_firmware(). Signed-off-by: Lior Dotan Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 9d938335fdc60313b54688091840f6fd44d83db5 Author: Lior Dotan Date: Mon Jan 26 11:28:40 2009 +0200 Staging: SLICOSS: remove the static firmware header files Remove the static headers with the firmware code, they are no longer needed. Signed-off-by: Lior Dotan Signed-off-by: Greg Kroah-Hartman commit 874073ea293dab27c5f3398dced66eb7912bf477 Author: Lior Dotan Date: Thu Jan 22 09:38:15 2009 +0200 Staging: slicoss: use request_firmware This patch uses request_firmware() to download the firmware to the card. Signed-off-by: Lior Dotan Cc: Christopher Harrer commit 5a3ae276057840f0e60664c12fc3ef80aa59d1d4 Author: Suresh Siddha Date: Fri Apr 3 14:21:52 2009 -0700 x86, PAT: Remove duplicate memtype reserve in pci mmap pci mmap code was doing memtype reserve for a while now. Recently we added memtype tracking in remap_pfn_range, and pci code indirectly calls remap_pfn_range. So, we don't need seperate tracking in pci code anymore. Which means a patch that removes ~50 lines of code :-). Also, recently we found out that the pci tracking is not working as we expect it to work in some cases. Specifically, userlevel X mmap of pci, with some recent version of X, is having a problem with vm_page_prot getting reset. The pci tracking uses vm_page_prot to pass on the protection type from parent to child during fork. a) Parent does a pci mmap b) We look at PAT and get either UC_MINUS or WC mapping for parent c) Store that mapping type in vma vm_page_prot for future use d) This thread does a fork e) Fork results in mmap_ops ->open for the child process f) We get the vm_page_prot from vma and reserve that type for the child process But, between c) and e) above, the vma vm_page_prot is getting reset to zero. This results in PAT reserve failing at the time of fork as in here. http://marc.info/?l=linux-kernel&m=123858163103240&w=2 This cleanup makes the above problem go away as we do not depend on vm_page_prot in our PAT code anymore. Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Linus Torvalds commit 161fde083f3403e7aa178dc944bf43c339e18491 Author: Han, Weidong Date: Fri Apr 3 17:15:47 2009 +0800 intel-iommu: set compatibility format interrupt When extended interrupt mode (x2apic mode) is not supported in a system, it must set compatibility format interrupt to bypass interrupt remapping, otherwise compatibility format interrupts will be blocked. This will be used when interrupt remapping is enabled while x2apic is not supported. Signed-off-by: Weidong Han Acked-by: Ingo Molnar Signed-off-by: David Woodhouse commit b24696bc55f66fecc30715e003f10fc2555a9271 Author: Fenghua Yu Date: Fri Mar 27 14:22:44 2009 -0700 Intel IOMMU Suspend/Resume Support - Interrupt Remapping This patch enables suspend/resume for interrupt remapping. During suspend, interrupt remapping is disabled. When resume, interrupt remapping is enabled again. Signed-off-by: Fenghua Yu Acked-by: Ingo Molnar Signed-off-by: David Woodhouse commit eb4a52bc660ea835482c582eaaf4893742cbd160 Author: Fenghua Yu Date: Fri Mar 27 14:22:43 2009 -0700 Intel IOMMU Suspend/Resume Support - Queued Invalidation This patch supports queued invalidation suspend/resume. Signed-off-by: Fenghua Yu Acked-by: Ingo Molnar Signed-off-by: David Woodhouse commit f59c7b69bcba31cd355ababe067202b9895d6102 Author: Fenghua Yu Date: Fri Mar 27 14:22:42 2009 -0700 Intel IOMMU Suspend/Resume Support - DMAR This patch implements the suspend and resume feature for Intel IOMMU DMAR. It hooks to kernel suspend and resume interface. When suspend happens, it saves necessary hardware registers. When resume happens, it restores the registers and restarts IOMMU by enabling translation, setting up root entry, and re-enabling queued invalidation. Signed-off-by: Fenghua Yu Acked-by: Ingo Molnar Signed-off-by: David Woodhouse commit 8f912ba4d7cdaf7d31cf39fe5a9b7732308a256d Author: David Woodhouse Date: Fri Apr 3 15:19:32 2009 +0100 intel-iommu: Add for_each_iommu() and for_each_active_iommu() macros Signed-off-by: David Woodhouse Acked-by: Ingo Molnar commit 78609a812e9afa87202631d128018361f68c44a9 Merge: 133e2a3... 9140db0... Author: Linus Torvalds Date: Fri Apr 3 12:13:56 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (32 commits) ocfs2: recover orphans in offline slots during recovery and mount ocfs2: Pagecache usage optimization on ocfs2 ocfs2: fix rare stale inode errors when exporting via nfs ocfs2/dlm: Tweak mle_state output ocfs2/dlm: Do not purge lockres that is being migrated dlm_purge_lockres() ocfs2/dlm: Remove struct dlm_lock_name in struct dlm_master_list_entry ocfs2/dlm: Show the number of lockres/mles in dlm_state ocfs2/dlm: dlm_set_lockres_owner() and dlm_change_lockres_owner() inlined ocfs2/dlm: Improve lockres counts ocfs2/dlm: Track number of mles ocfs2/dlm: Indent dlm_cleanup_master_list() ocfs2/dlm: Activate dlm->master_hash for master list entries ocfs2/dlm: Create and destroy the dlm->master_hash ocfs2/dlm: Refactor dlm_clean_master_list() ocfs2/dlm: Clean up struct dlm_lock_name ocfs2/dlm: Encapsulate adding and removing of mle from dlm->master_list ocfs2: Optimize inode group allocation by recording last used group. ocfs2: Allocate inode groups from global_bitmap. ocfs2: Optimize inode allocation by remembering last group ocfs2: fix leaf start calculation in ocfs2_dx_dir_rebalance() ... commit 133e2a3164771454aa326859c2b293687189b553 Merge: 20bec8a... 8c6db1b... Author: Linus Torvalds Date: Fri Apr 3 12:13:45 2009 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: dma: Add SoF and EoF debugging to ipu_idmac.c, minor cleanup dw_dmac: add cyclic API to DW DMA driver dmaengine: Add privatecnt to revert DMA_PRIVATE property dmatest: add dma interrupts and callbacks dmatest: add xor test dmaengine: allow dma support for async_tx to be toggled async_tx: provide __async_inline for HAS_DMA=n archs dmaengine: kill some unused headers dmaengine: initialize tx_list in dma_async_tx_descriptor_init dma: i.MX31 IPU DMA robustness improvements dma: improve section assignment in i.MX31 IPU DMA driver dma: ipu_idmac driver cosmetic clean-up dmaengine: fail device registration if channel registration fails commit 9140db04ef185f934acf2b1b15b3dd5e6a6bfc22 Author: Srinivas Eeda Date: Fri Mar 6 14:21:46 2009 -0800 ocfs2: recover orphans in offline slots during recovery and mount During recovery, a node recovers orphans in it's slot and the dead node(s). But if the dead nodes were holding orphans in offline slots, they will be left unrecovered. If the dead node is the last one to die and is holding orphans in other slots and is the first one to mount, then it only recovers it's own slot, which leaves orphans in offline slots. This patch queues complete_recovery to clean orphans for all offline slots during mount and node recovery. Signed-off-by: Srinivas Eeda Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 1fca3a05ef2823830925dfb66711d6d920265a8d Author: Hisashi Hifumi Date: Thu Mar 5 17:22:21 2009 +0900 ocfs2: Pagecache usage optimization on ocfs2 A page can have multiple buffers and even if a page is not uptodate, some buffers can be uptodate on pagesize != blocksize environment. This aops checks that all buffers which correspond to a part of a file that we want to read are uptodate. If so, we do not have to issue actual read IO to HDD even if a page is not uptodate because the portion we want to read are uptodate. "block_is_partially_uptodate" function is already used by ext2/3/4. With the following patch random read/write mixed workloads or random read after random write workloads can be optimized and we can get performance improvement. Signed-off-by: Hisashi Hifumi Signed-off-by: Mark Fasheh commit 6ca497a83e592d64e050c4d04b6dedb8c915f39a Author: wengang wang Date: Fri Mar 6 21:29:10 2009 +0800 ocfs2: fix rare stale inode errors when exporting via nfs For nfs exporting, ocfs2_get_dentry() returns the dentry for fh. ocfs2_get_dentry() may read from disk when the inode is not in memory, without any cross cluster lock. this leads to the file system loading a stale inode. This patch fixes above problem. Solution is that in case of inode is not in memory, we get the cluster lock(PR) of alloc inode where the inode in question is allocated from (this causes node on which deletion is done sync the alloc inode) before reading out the inode itsself. then we check the bitmap in the group (the inode in question allcated from) to see if the bit is clear. if it's clear then it's stale. if the bit is set, we then check generation as the existing code does. We have to read out the inode in question from disk first to know its alloc slot and allot bit. And if its not stale we read it out using ocfs2_iget(). The second read should then be from cache. And also we have to add a per superblock nfs_sync_lock to cover the lock for alloc inode and that for inode in question. this is because ocfs2_get_dentry() and ocfs2_delete_inode() lock on them in reverse order. nfs_sync_lock is locked in EX mode in ocfs2_get_dentry() and in PR mode in ocfs2_delete_inode(). so that mutliple ocfs2_delete_inode() can run concurrently in normal case. [mfasheh@suse.com: build warning fixes and comment cleanups] Signed-off-by: Wengang Wang Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 9405dccfd3201d2b76e120949bec81ba8cfbd2d0 Author: Sunil Mushran Date: Thu Feb 26 15:00:49 2009 -0800 ocfs2/dlm: Tweak mle_state output The debugfs file, mle_state, now prints the number of largest number of mles in one hash link. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 516b7e52abc7efd61c084b217c61985a403828ed Author: Sunil Mushran Date: Thu Feb 26 15:00:48 2009 -0800 ocfs2/dlm: Do not purge lockres that is being migrated dlm_purge_lockres() This patch attempts to fix a fine race between purging and migration. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 7141514b8307734c117f100c4a3637887c5def45 Author: Sunil Mushran Date: Thu Feb 26 15:00:47 2009 -0800 ocfs2/dlm: Remove struct dlm_lock_name in struct dlm_master_list_entry This patch removes struct dlm_lock_name and adds the entries directly to struct dlm_master_list_entry. Under the new scheme, both mles that are backed by a lockres or not, will have the name populated in mle->mname. This allows us to get rid of code that was figuring out the location of the mle name. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit e64ff14607ac90b2f3349550a41cc8dc0c0b1324 Author: Sunil Mushran Date: Thu Feb 26 15:00:46 2009 -0800 ocfs2/dlm: Show the number of lockres/mles in dlm_state This patch shows the number of lockres' and mles in the debugfs file, dlm_state. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 7d62a978a8c85cd82301615840d744f0d83b87e7 Author: Sunil Mushran Date: Thu Feb 26 15:00:45 2009 -0800 ocfs2/dlm: dlm_set_lockres_owner() and dlm_change_lockres_owner() inlined This patch inlines dlm_set_lockres_owner() and dlm_change_lockres_owner(). Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 6800791ab773453bdec337efb3f0cec6557f3bb3 Author: Sunil Mushran Date: Thu Feb 26 15:00:44 2009 -0800 ocfs2/dlm: Improve lockres counts This patch replaces the lockres counts that tracked the number number of locally and remotely mastered lockres' with a current and total count. The total count is the number of lockres' that have been created since the dlm domain was created. The number of locally and remotely mastered counts can be computed using the locking_state output. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 2041d8fdcec7603401829f60810c1dbd5e96c043 Author: Sunil Mushran Date: Thu Feb 26 15:00:43 2009 -0800 ocfs2/dlm: Track number of mles The lifetime of a mle is limited to the duration of the lockres mastery process. While typically this lifetime is fairly short, we have noticed the number of mles explode under certain circumstances. This patch tracks the number of each different types of mles and should help us determine how best to speed up the mastery process. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 67ae1f0604da3bcf3ed6dec59ac71d07e54a404c Author: Sunil Mushran Date: Thu Feb 26 15:00:42 2009 -0800 ocfs2/dlm: Indent dlm_cleanup_master_list() The previous patch explicitly did not indent dlm_cleanup_master_list() so as to make the patch readable. This patch properly indents the function. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 2ed6c750d645d09b5948e46fada3ca1fda3157b5 Author: Sunil Mushran Date: Thu Feb 26 15:00:41 2009 -0800 ocfs2/dlm: Activate dlm->master_hash for master list entries With this patch, the mles are stored in a hash and not a simple list. This should improve the mle lookup time when the number of outstanding masteries is large. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit e2b66ddcce922529e058cf74d839c4c49c8379a1 Author: Sunil Mushran Date: Thu Feb 26 15:00:40 2009 -0800 ocfs2/dlm: Create and destroy the dlm->master_hash This patch adds code to create and destroy the dlm->master_hash. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit c2cd4a44333034203cb198915e2b75c3227d41bf Author: Sunil Mushran Date: Thu Feb 26 15:00:39 2009 -0800 ocfs2/dlm: Refactor dlm_clean_master_list() This patch refactors dlm_clean_master_list() so as to make it easier to convert the mle list to a hash. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit f77a9a78c3a1d995b3bf948dbcad5c4a1b2302d5 Author: Sunil Mushran Date: Thu Feb 26 15:00:38 2009 -0800 ocfs2/dlm: Clean up struct dlm_lock_name For master mle, the name it stored in the attached lockres in struct qstr. For block and migration mle, the name is stored inline in struct dlm_lock_name. This patch attempts to make struct dlm_lock_name look like a struct qstr. While we could use struct qstr, we don't because we want to avoid having to malloc and free the lockname string as the mle's lifetime is fairly short. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 1c0845773ad9f4875603b752235aea8aa04565f3 Author: Sunil Mushran Date: Thu Feb 26 15:00:37 2009 -0800 ocfs2/dlm: Encapsulate adding and removing of mle from dlm->master_list This patch encapsulates adding and removing of the mle from the dlm->master_list. This patch is part of the series of patches that converts the mle list to a mle hash. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit feb473a6e8bd19297d0f3bb377b25055c0228c0a Author: Tao Ma Date: Wed Feb 25 00:53:25 2009 +0800 ocfs2: Optimize inode group allocation by recording last used group. In ocfs2, the block group search looks for the "emptiest" group to allocate from. So if the allocator has many equally(or almost equally) empty groups, new block group will tend to get spread out amongst them. So we add osb_inode_alloc_group in ocfs2_super to record the last used inode allocation group. For more details, please see http://oss.oracle.com/osswiki/OCFS2/DesignDocs/InodeAllocationStrategy. I have done some basic test and the results are a ten times improvement on some cold-cache stat workloads. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 60ca81e82dae4aa2e8ae84cf96b4d08535931669 Author: Tao Ma Date: Wed Feb 25 00:53:24 2009 +0800 ocfs2: Allocate inode groups from global_bitmap. Inode groups used to be allocated from local alloc file, but since we want all inodes to be contiguous enough, we will try to allocate them directly from global_bitmap. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 138211515c102807a16c02fdc15feef1f6ef8124 Author: Tao Ma Date: Wed Feb 25 00:53:23 2009 +0800 ocfs2: Optimize inode allocation by remembering last group In ocfs2, the inode block search looks for the "emptiest" inode group to allocate from. So if an inode alloc file has many equally (or almost equally) empty groups, new inodes will tend to get spread out amongst them, which in turn can put them all over the disk. This is undesirable because directory operations on conceptually "nearby" inodes force a large number of seeks. So we add ip_last_used_group in core directory inodes which records the last used allocation group. Another field named ip_last_used_slot is also added in case inode stealing happens. When claiming new inode, we passed in directory's inode so that the allocation can use this information. For more details, please see http://oss.oracle.com/osswiki/OCFS2/DesignDocs/InodeAllocationStrategy. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 1d46dc08d33138c29c63d717807c08ab704fc773 Author: Mark Fasheh Date: Thu Feb 19 13:17:05 2009 -0800 ocfs2: fix leaf start calculation in ocfs2_dx_dir_rebalance() ocfs2_dx_dir_rebalance() is passed the block offset of a dx leaf which needs rebalancing. Since we rebalance an entire cluster at a time however, this function needs to calculate the beginning of that cluster, in blocks. The calculation was wrong, which would result in a read of non-leaf blocks. Fix the calculation by adding ocfs2_block_to_cluster_start() which is a more straight-forward way of determining this. Reported-by: Tristan Ye Signed-off-by: Mark Fasheh commit b80b549c3520b31d3bbc4b36e37e0a5102da0b94 Author: Mark Fasheh Date: Wed Feb 18 11:41:38 2009 -0800 ocfs2: re-order ocfs2_empty_dir checks ocfs2_empty_dir() is far more expensive than checking link count. Since both need to be checked at the same time, we can improve performance by checking link count first. Signed-off-by: Mark Fasheh commit 3a8df2b9c365a9f366b76bbbce479e1cc18ddc16 Author: Mark Fasheh Date: Mon Nov 24 17:14:09 2008 -0800 ocfs2: Enable indexed directories Since the disk format is finalized, we can set this feature bit in the supported mask. Signed-off-by: Mark Fasheh Acked-by: Joel Becker commit e3a93c2db6410822aa24295c3874b44ba21730a8 Author: Mark Fasheh Date: Tue Feb 17 15:29:35 2009 -0800 ocfs2: Add total entry count to dx_root_block This little bit of extra accounting speeds up ocfs2_empty_dir() dramatically by allowing us to short-circuit the full directory scan. Signed-off-by: Mark Fasheh commit 198a1ca3b735986542c538e38b9499ffcaed7005 Author: Mark Fasheh Date: Thu Nov 20 17:54:57 2008 -0800 ocfs2: Increase max links count Since we've now got a directory format capable of handling a large number of entries, we can increase the maximum link count supported. This only gets increased if the directory indexing feature is turned on. Signed-off-by: Mark Fasheh Acked-by: Joel Becker commit e7c17e43090afe558c40bfb66637744c27bd2aeb Author: Mark Fasheh Date: Thu Jan 29 18:17:46 2009 -0800 ocfs2: Introduce dir free space list The only operation which doesn't get faster with directory indexing is insert, which still has to walk the entire unindexed directory portion to find a free block. This patch provides an improvement in directory insert performance by maintaining a singly linked list of directory leaf blocks which have space for additional dirents. Signed-off-by: Mark Fasheh Acked-by: Joel Becker commit 4ed8a6bb083bfcc21f1ed66a474b03c0386e4b34 Author: Mark Fasheh Date: Mon Nov 24 17:02:08 2008 -0800 ocfs2: Store dir index records inline Allow us to store a small number of directory index records in the ocfs2_dx_root_block. This saves us a disk read on small to medium sized directories (less than about 250 entries). The inline root is automatically turned into a root block with extents if the directory size increases beyond it's capacity. Signed-off-by: Mark Fasheh Acked-by: Joel Becker commit 9b7895efac906d66d19856194e1ba61f37e231a4 Author: Mark Fasheh Date: Wed Nov 12 16:27:44 2008 -0800 ocfs2: Add a name indexed b-tree to directory inodes This patch makes use of Ocfs2's flexible btree code to add an additional tree to directory inodes. The new tree stores an array of small, fixed-length records in each leaf block. Each record stores a hash value, and pointer to a block in the traditional (unindexed) directory tree where a dirent with the given name hash resides. Lookup exclusively uses this tree to find dirents, thus providing us with constant time name lookups. Some of the hashing code was copied from ext3. Unfortunately, it has lots of unfixed checkpatch errors. I left that as-is so that tracking changes would be easier. Signed-off-by: Mark Fasheh Acked-by: Joel Becker commit 4a12ca3a00a244e1fd1e673d151ea38b71e11d55 Author: Mark Fasheh Date: Wed Nov 12 15:43:34 2008 -0800 ocfs2: Introduce dir lookup helper struct Many directory manipulation calls pass around a tuple of dirent, and it's containing buffer_head. Dir indexing has a bit more state, but instead of adding yet more arguments to functions, we introduce 'struct ocfs2_dir_lookup_result'. In this patch, it simply holds the same tuple, but future patches will add more state. Signed-off-by: Mark Fasheh Acked-by: Joel Becker commit 59b526a30722f29e5dba6210a6e0fc34e3149b94 Author: Sunil Mushran Date: Tue Dec 16 15:49:18 2008 -0800 ocfs2: Remove debugfs file local_alloc_stats This patch removes the debugfs file local_alloc_stats as that information is now included in the fs_state debugfs file. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 50397507e856455b3f5cb3d5c7c482209f9e46a0 Author: Sunil Mushran Date: Wed Dec 17 14:17:43 2008 -0800 ocfs2: Expose the file system state via debugfs This patch creates a per mount debugfs file, fs_state, which exposes information like, cluster stack in use, states of the downconvert, recovery and commit threads, number of journal txns, some allocation stats, list of all slots, etc. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 96a6c64b5354b804b3ccfd1b31306565a01ebcb1 Author: Sunil Mushran Date: Tue Dec 16 15:49:16 2008 -0800 ocfs2: Move struct recovery_map to a header file Move the definition of struct recovery_map from journal.c to journal.h. This is preparation for the next patch. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 87d3d3f3931f3e0fca44fbb5c06ad45fc4dca9bc Author: Sunil Mushran Date: Wed Dec 17 14:17:42 2008 -0800 ocfs2/hb: Expose the list of heartbeating nodes via debugfs This patch creates a debugfs file, o2hb/livesnodes, which exposes the aggregate list of heartbeating node across all heartbeat regions. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 20bec8ab1458c24bed0d5492ee15d87807fc415a Merge: 18b34b9... e7c8f50... Author: Linus Torvalds Date: Fri Apr 3 11:10:33 2009 -0700 Merge branch 'ext3-latency-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'ext3-latency-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext3: Add replace-on-rename hueristics for data=writeback mode ext3: Add replace-on-truncate hueristics for data=writeback mode ext3: Use WRITE_SYNC for commits which are caused by fsync() block_write_full_page: Use synchronous writes for WBC_SYNC_ALL writebacks commit 9b7b89efa3bdaceaa2efb93e2d635391835da209 Author: Joseph Cihula Date: Mon Mar 30 14:03:01 2009 -0700 x86: disable stack-protector for __restore_processor_state() The __restore_processor_state() fn restores %gs on resume from S3. As such, it cannot be protected by the stack-protector guard since %gs will not be correct on function entry. There are only a few other fns in this file and it should not negatively impact kernel security that they will also have the stack-protector guard removed (and so it's not worth moving them to another file). Without this change, S3 resume on a kernel built with CONFIG_CC_STACKPROTECTOR_ALL=y will fail. Signed-off-by: Joseph Cihula Tested-by: Chris Wright Cc: Arjan van de Ven Cc: Tejun Heo LKML-Reference: <49D13385.5060900@intel.com> Signed-off-by: Ingo Molnar commit 18b34b9546dc192d978dda940673f40928d2e36e Merge: ca1ee21... d6bb69c... Author: Linus Torvalds Date: Fri Apr 3 10:39:20 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (32 commits) regulator: twl4030 VAUX3 supports 3.0V regulator: Support disabling of unused regulators by machines regulator: Don't increment use_count for boot_on regulators twl4030-regulator: expose VPLL2 regulator: refcount fixes regulator: Don't warn if we failed to get a regulator regulator: Allow boot_on regulators to be disabled by clients regulator: Implement list_voltage for WM835x LDOs and DCDCs twl4030-regulator: list more VAUX4 voltages regulator: Don't warn on omitted voltage constraints regulator: Implement list_voltage() for WM8400 DCDCs and LDOs MMC: regulator utilities regulator: twl4030 voltage enumeration (v2) regulator: twl4030 regulators regulator: get_status() grows kerneldoc regulator: enumerate voltages (v2) regulator: Fix get_mode() for WM835x DCDCs regulator: Allow regulators to set the initial operating mode regulator: Suggest use of datasheet supply or pin names for consumers regulator: email - update email address and regulator webpage. ... commit ca1ee219c070eab755712d50638bbcd1f8630fc1 Merge: 3cc50ac... afeeb7c... Author: Linus Torvalds Date: Fri Apr 3 10:36:57 2009 -0700 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: intel-iommu: Fix address wrap on 32-bit kernel. intel-iommu: Enable DMAR on 32-bit kernel. intel-iommu: fix PCI device detach from virtual machine intel-iommu: VT-d page table to support snooping control bit iommu: Add domain_has_cap iommu_ops intel-iommu: Snooping control support Fixed trivial conflicts in arch/x86/Kconfig and drivers/pci/intel-iommu.c commit 3cc50ac0dbda5100684e570247782330155d35e0 Merge: d9b9be0... b797cac... Author: Linus Torvalds Date: Fri Apr 3 10:07:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache * git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache: (41 commits) NFS: Add mount options to enable local caching on NFS NFS: Display local caching state NFS: Store pages from an NFS inode into a local cache NFS: Read pages from FS-Cache into an NFS inode NFS: nfs_readpage_async() needs to be accessible as a fallback for local caching NFS: Add read context retention for FS-Cache to call back with NFS: FS-Cache page management NFS: Add some new I/O counters for FS-Cache doing things for NFS NFS: Invalidate FsCache page flags when cache removed NFS: Use local disk inode cache NFS: Define and create inode-level cache objects NFS: Define and create superblock-level objects NFS: Define and create server-level objects NFS: Register NFS for caching and retrieve the top-level index NFS: Permit local filesystem caching to be enabled for NFS NFS: Add FS-Cache option bit and debug bit NFS: Add comment banners to some NFS functions FS-Cache: Make kAFS use FS-Cache CacheFiles: A cache that backs onto a mounted filesystem CacheFiles: Export things for CacheFiles ... commit 16dd55f309cf69a648ca3b1fc04b3b6f079c8be0 Author: Matthias Welwarsky Date: Wed Apr 1 22:10:47 2009 +0900 sony-laptop: fix event reporting for new style events In short Fn key events are always reported through acpi. The input layer gets all the old style events and only those new style events that, after being decoded, are mapped to an locally represented events. rfkill only update the rfkill device status. Signed-off-by: Matthias Welwarsky Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 14bd31365fbeeccee72b0aead3baa4e5da208281 Author: Alexander Beregalov Date: Wed Apr 1 22:10:46 2009 +0900 sony-laptop should depend on RFKILL Fixes this build error when RFKILL is not set: drivers/platform/x86/sony-laptop.c:1050: undefined reference to `rfkill_unregister' and so on.. Signed-off-by: Alexander Beregalov Acked-by: Matthew Garrett Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 6479efb68dce48fa52aed6ff876d8d102f200527 Author: Matthias Welwarsky Date: Wed Apr 1 22:10:45 2009 +0900 sony-laptop: new style events typo fixes Signed-off-by: Matthias Welwarsky Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit ff07a53a33cff2733c2c20fc75e84e75c2572889 Author: Alessio Igor Bogani Date: Wed Apr 1 22:10:44 2009 +0900 sony-laptop: Fix some typos in log messages (Unabe/Unable) Signed-off-by: Alessio Igor Bogani Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit d9b9be024a6628a01d8730d1fd0b5f25658a2794 Merge: 9b59f03... 99360b4... Author: Linus Torvalds Date: Fri Apr 3 10:02:45 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (36 commits) dm: set queue ordered mode dm: move wait queue declaration dm: merge pushback and deferred bio lists dm: allow uninterruptible wait for pending io dm: merge __flush_deferred_io into caller dm: move bio_io_error into __split_and_process_bio dm: rename __split_bio dm: remove unnecessary struct dm_wq_req dm: remove unnecessary work queue context field dm: remove unnecessary work queue type field dm: bio list add bio_list_add_head dm snapshot: persistent fix dtr cleanup dm snapshot: move status to exception store dm snapshot: move ctr parsing to exception store dm snapshot: use DMEMIT macro for status dm snapshot: remove dm_snap header dm snapshot: remove dm_snap header use dm exception store: move cow pointer dm exception store: move chunk_fields dm exception store: move dm_target pointer ... commit 9b59f0316bc556a1b63518f0b1224cf9be48467b Merge: ac7c1a7... 0d8fe32... Author: Linus Torvalds Date: Fri Apr 3 09:53:22 2009 -0700 Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd * 'for-linus' of git://git.open-osd.org/linux-open-osd: fs: Add exofs to Kernel build exofs: Documentation exofs: export_operations exofs: super_operations and file_system_type exofs: dir_inode and directory operations exofs: address_space_operations exofs: symlink_inode and fast_symlink_inode operations exofs: file and file_inode operations exofs: Kbuild, Headers and osd utils commit ac7c1a776dfe1a9c83ea7885f858f5f1a144d8af Merge: 3ba113d... f36345f... Author: Linus Torvalds Date: Fri Apr 3 09:52:29 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (61 commits) Revert "xfs: increase the maximum number of supported ACL entries" xfs: cleanup uuid handling xfs: remove m_attroffset xfs: fix various typos xfs: pagecache usage optimization xfs: remove m_litino xfs: kill ino64 mount option xfs: kill mutex_t typedef xfs: increase the maximum number of supported ACL entries xfs: factor out code to find the longest free extent in the AG xfs: kill VN_BAD xfs: kill vn_atime_* helpers. xfs: cleanup xlog_bread xfs: cleanup xlog_recover_do_trans xfs: remove another leftover of the old inode log item format xfs: cleanup log unmount handling Fix xfs debug build breakage by pushing xfs_error.h after xfs: include header files for prototypes xfs: make symbols static xfs: move declaration to header file ... commit 3ba113d14cedcd88105a3b9c90f8ecce829e1095 Merge: bad6a5c... b609308... Author: Linus Torvalds Date: Fri Apr 3 09:52:04 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: (23 commits) parisc: move dereference_function_descriptor to process.c parisc: Move kernel Elf_Fdesc define to parisc: fix build when ARCH_HAS_KMAP parisc: fix "make tar-pkg" parisc: drivers: fix warnings parisc: select BUG always parisc: asm/pdc.h should include asm/page.h parisc: led: remove proc_dir_entry::owner parisc: fix macro expansion in atomic.h parisc: iosapic: fix build breakage parisc: oops_enter()/oops_exit() in die() parisc: document light weight syscall ABI parisc: blink all or loadavg LEDs on oops parisc: add ftrace (function and graph tracer) functionality parisc: simplify sys_clone() parisc: add LATENCYTOP_SUPPORT and CONFIG_STACKTRACE_SUPPORT parisc: allow to build with 16k default kernel page size parisc: expose 32/64-bit capabilities in cpuinfo parisc: use constants instead of numbers in assembly parisc: fix usage of 32bit PTE page table entries on 32bit kernels ... commit bad6a5c08c119572c888d5df2bd7691a4da6b9e8 Merge: 03c3fa0... 0b5f037... Author: Linus Torvalds Date: Fri Apr 3 09:51:35 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/rtc-parisc * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/rtc-parisc: powerpc/ps3: Add rtc-ps3 powerpc: Hook up rtc-generic, and kill rtc-ppc m68k: Hook up rtc-generic parisc: rtc: Rename rtc-parisc to rtc-generic parisc: rtc: Add missing module alias parisc: rtc: platform_driver_probe() fixups parisc: rtc: get_rtc_time() returns unsigned int commit 03c3fa0a3bf48dcb024263a9ea41daecacbc6efa Merge: 3e85050... 146bca7... Author: Linus Torvalds Date: Fri Apr 3 09:50:39 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: Don't write integrity descriptor too often udf: Try anchor in block 256 first udf: Some type fixes and cleanups udf: use hardware sector size udf: fix novrs mount option udf: Fix oops when invalid character in filename occurs udf: return f_fsid for statfs(2) udf: Add checks to not underflow sector_t udf: fix default mode and dmode options handling udf: fix sparse warnings: udf: unsigned last[i] cannot be less than 0 udf: implement mode and dmode mounting options udf: reduce stack usage of udf_get_filename udf: reduce stack usage of udf_load_pvoldesc Fix the udf code not to pass structs on stack where possible. Remove struct typedefs from fs/udf/ecma_167.h et al. commit 3e850509e19b4b013bf6aee7c0d24d047c4b968f Merge: a0e0404... edd4070... Author: Linus Torvalds Date: Fri Apr 3 09:50:14 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/rcu-doc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/rcu-doc-2.6: Doc: Fix spelling in RCU/rculist_nulls.txt. Doc: Fix wrong API example usage of call_rcu(). Doc: Fix missing whitespaces in RCU documentation. commit a0e0404fb06164100991cacf8e055f6b30f87cc9 Author: Akinobu Mita Date: Thu Apr 2 16:01:26 2009 +0900 mm: fix misuse of debug_kmap_atomic Commit 7ca43e7564679604d86e9ed834e7bbcffd8a4a3f ("mm: use debug_kmap_atomic") introduced some debug_kmap_atomic() in wrong places. Signed-off-by: Akinobu Mita Signed-off-by: Linus Torvalds commit f240729832dff3785104d950dad2d3ced4387f6d Author: Dan Carpenter Date: Thu Apr 2 08:29:56 2009 +0300 dock: fix dereference after kfree() dock_remove() calls kfree() on dock_station so we should use list_for_each_entry_safe() to avoid dereferencing freed memory. Found by smatch (http://repo.or.cz/w/smatch.git/). Compile tested. Signed-off-by: Dan Carpenter Signed-off-by: Len Brown commit 3688e07f83d81941c4a8b20e29602c6d0c883539 Author: Kumar Gala Date: Wed Apr 1 23:38:49 2009 -0500 Fix highmem PPC build failure Commit f4112de6b679d84bd9b9681c7504be7bdfb7c7d5 ("mm: introduce debug_kmap_atomic") broke PPC builds with CONFIG_HIGHMEM=y: CC init/main.o In file included from include/linux/highmem.h:25, from include/linux/pagemap.h:11, from include/linux/mempolicy.h:63, from init/main.c:53: arch/powerpc/include/asm/highmem.h: In function 'kmap_atomic_prot': arch/powerpc/include/asm/highmem.h:98: error: implicit declaration of function 'debug_kmap_atomic' In file included from include/linux/pagemap.h:11, from include/linux/mempolicy.h:63, from init/main.c:53: include/linux/highmem.h: At top level: include/linux/highmem.h:196: warning: conflicting types for 'debug_kmap_atomic' include/linux/highmem.h:196: error: static declaration of 'debug_kmap_atomic' follows non-static declaration include/asm/highmem.h:98: error: previous implicit declaration of 'debug_kmap_atomic' was here make[1]: *** [init/main.o] Error 1 make: *** [init] Error 2 Signed-off-by: Kumar Gala Acked-by: Akinobu Mita Signed-off-by: Linus Torvalds commit c54c4dec61eec88de8260a00260fe89aa538f267 Merge: 5de1ccb... 0d44dc5... Author: Linus Torvalds Date: Fri Apr 3 09:45:53 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: ixp4xx - Fix handling of chained sg buffers crypto: shash - Fix unaligned calculation with short length hwrng: timeriomem - Use phys address rather than virt commit 5de1ccbe51e89c51a2fe5ab333b7c9c2e7294aff Merge: 223cdea... b4d63e8... Author: Linus Torvalds Date: Fri Apr 3 09:44:58 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (41 commits) m68knommu: improve compile arch switch settings m68knommu: fix 5407 ColdFire UART vector setup m68knommu: fix 5307 ColdFire UART vector setup m68knommu: fix 5249 ColdFire UART vector setup m68knommu: fix 5249 ColdFire UART setup m68knommu: fix end of uart table marker m68knommu: switch to using generic_handle_irq() m68k: merge the mmu and non-mmu versions of tlbflush.h m68knommu: introduce basic clk infrastructure m68k: merge the mmu and non-mmu versions of module.h m68knommu: add missing interrupt line definition for UART 2 m68k: merge the mmu and non-mmu versions of mmu_context.h m68k: merge the mmu and non-mmu versions of current.h m68k: merge the mmu and non-mmu versions of div64.h m68k: merge the mmu and non-mmu versions of bugs.h m68k: merge the mmu and non-mmu versions of bug.h m68k: use the mmu version of cache.h for m68knommu as well m68k: use the mmu version of bootinfo.h for m68knommu as well m68k: merge the mmu and non-mmu versions of fb.h m68k: merge the mmu and non-mmu versions of segment.h ... commit 6a491e2e3e52a64c6d88a192c56499d931842ac5 Author: Andrew Morton Date: Thu Apr 2 16:44:38 2009 -0700 x86: fix is_io_mapping_possible() build warning on i386 allnoconfig i386 allnoconfig: arch/x86/mm/iomap_32.c: In function 'is_io_mapping_possible': arch/x86/mm/iomap_32.c:27: warning: comparison is always false due to limited range of data type Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 67dc092187626ac55a60877485f78bc291cbfa81 Author: Thomas Renninger Date: Thu Apr 2 14:11:20 2009 +0200 ACPI: Remove R40e c-state blacklist The recent ACPICA patch (ACPICA: FADT: Favor 32-bit register addresses for compatibility) makes machine to use the right FADT HW addresses and C-states now work fine. http://bugzilla.kernel.org/show_bug.cgi?id=8246 Signed-off-by: Thomas Renninger Tested-by: Mark Doughty Signed-off-by: Len Brown commit 223cdea4c4b5af5181b2da00ac85711d1e0c737c Merge: 31e6e2d... c8f517c... Author: Linus Torvalds Date: Fri Apr 3 09:08:19 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: (53 commits) md/raid5 revise rules for when to update metadata during reshape md/raid5: minor code cleanups in make_request. md: remove CONFIG_MD_RAID_RESHAPE config option. md/raid5: be more careful about write ordering when reshaping. md: don't display meaningless values in sysfs files resync_start and sync_speed md/raid5: allow layout and chunksize to be changed on active array. md/raid5: reshape using largest of old and new chunk size md/raid5: prepare for allowing reshape to change layout md/raid5: prepare for allowing reshape to change chunksize. md/raid5: clearly differentiate 'before' and 'after' stripes during reshape. Documentation/md.txt update md: allow number of drives in raid5 to be reduced md/raid5: change reshape-progress measurement to cope with reshaping backwards. md: add explicit method to signal the end of a reshape. md/raid5: enhance raid5_size to work correctly with negative delta_disks md/raid5: drop qd_idx from r6_state md/raid6: move raid6 data processing to raid6_pq.ko md: raid5 run(): Fix max_degraded for raid level 4. md: 'array_size' sysfs attribute md: centralize ->array_sectors modifications ... commit 31e6e2dac575c9d21a6ec56ca52ae89086baa705 Merge: ea02259... 67a52bb... Author: Linus Torvalds Date: Fri Apr 3 09:05:40 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] fix build-breaking 7a192ec commit ARM: Add SMSC911X support to Overo platform (V2) arm: update omap_ldp defconfig to use smsc911x arm: update realview defconfigs to use smsc911x arm: update pcm037 defconfig to use smsc911x arm: convert omap ldp platform to use smsc911x arm: convert realview platform to use smsc911x arm: convert pcm037 platform to use smsc911x [ARM] 5444/1: ARM: Realview: Fix event-device multiplicators in localtimer.c [ARM] 5442/1: pxa/cm-x255: fix reverse RDY gpios in PCMCIA driver [ARM] 5441/1: Use pr_err on error paths in at91 pm [ARM] 5440/1: Fix VFP state corruption due to preemption during VFP exceptions [ARM] 5439/1: Do not clear bit 10 of DFSR during abort handling on ARMv6 [ARM] 5437/1: Add documentation for "nohlt" kernel parameter [ARM] 5436/1: ARM: OMAP: Fix compile for rx51 [ARM] arch_reset() now takes a second parameter [ARM] Kirkwood: small L2 code cleanup [ARM] Kirkwood: invalidate L2 cache before enabling it commit 5b4c0b6fffb91b07a6f85dabbdfbd5abab61d9db Author: Zhang Rui Date: Wed Apr 1 01:49:42 2009 -0400 ACPI: update comment update ACPI Development Discussion List Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 53af9cfb37af5e03ee2b24c5d5c4963c34e5b765 Author: Len Brown Date: Sun Mar 15 23:36:38 2009 -0400 ACPI: get_throttling_state() cannot be larger than state_count Reported-by: Roel Kluin Acked-by: Zhao Yakui Signed-off-by: Len Brown commit 2a9ef8e1a856be8e526bb9b10fb98c5012f6e3f8 Author: Zhao Yakui Date: Wed Mar 18 16:36:25 2009 +0800 ACPI: suspend: Add the Pansonic CF51 box to the dmi check table The Pansonic CF51-2L requires "acpi_sleep=old_ordering", so invoke it automatically via DMI. http://bugzilla.kernel.org/show_bug.cgi?id=12561 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 07de5bdb7bad607e29dc17c345717403a76a334c Author: Krzysztof Kosiński Date: Thu Mar 19 23:22:31 2009 +0100 tc1100-wmi: Fix state reporting The tc1100-wmi driver should print the current states of wireless LAN and jogdial brightness control when "cat /sys/devices/platform/tc1100-wmi/wireless" and "cat /sys/devices/platform/tc1100-wmi/jogdial" are executed, respectively. What actually happens is that both of those commands print 0 regardless of the hardware state. The cause is that wmi_query_block returns an ACPI_TYPE_INTEGER rather than ACPI_TYPE_BUFFER as the driver assumes. Additionally, the driver intends to return a jogdial state that is inverted with respect to the commands required to set it (e.g. it intends to return 1 after the jogdial file was written with 0). This patch fixes both of those issues - the commands to query the state now work, and should return the same state that was written. http://bugzilla.kernel.org/show_bug.cgi?id=12286 Signed-off-by: Krzysztof Kosiński Acked-by: Carlos Corbacho Signed-off-by: Len Brown commit ea02259fdf47ca81ff3ca0c22906d989094fb8ff Merge: 8fe74cf... eae6c2b... Author: Linus Torvalds Date: Fri Apr 3 09:02:32 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/linux-hdreg-h-cleanup * git://git.kernel.org/pub/scm/linux/kernel/git/bart/linux-hdreg-h-cleanup: remove include from include/linux/hdreg.h: remove unused defines isd200: use ATA_* defines instead of *_STAT and *_ERR ones include/linux/hdreg.h: cover WIN_* and friends with #ifndef/#endif __KERNEL__ aoe: WIN_* -> ATA_CMD_* isd200: WIN_* -> ATA_CMD_* include/linux/hdreg.h: cover struct hd_driveid with #ifndef/#endif __KERNEL__ xsysace: make it 'struct hd_driveid'-free ubd_kern: make it 'struct hd_driveid'-free isd200: make it 'struct hd_driveid'-free commit b797cac7487dee6bfddeb161631c1bbc54fa3cdb Author: David Howells Date: Fri Apr 3 16:42:48 2009 +0100 NFS: Add mount options to enable local caching on NFS Add NFS mount options to allow the local caching support to be enabled. The attached patch makes it possible for the NFS filesystem to be told to make use of the network filesystem local caching service (FS-Cache). To be able to use this, a recent nfsutils package is required. There are three variant NFS mount options that can be added to a mount command to control caching for a mount. Only the last one specified takes effect: (*) Adding "fsc" will request caching. (*) Adding "fsc=" will request caching and also specify a uniquifier. (*) Adding "nofsc" will disable caching. For example: mount warthog:/ /a -o fsc The cache of a particular superblock (NFS FSID) will be shared between all mounts of that volume, provided they have the same connection parameters and are not marked 'nosharecache'. Where it is otherwise impossible to distinguish superblocks because all the parameters are identical, but the 'nosharecache' option is supplied, a uniquifying string must be supplied, else only the first mount will be permitted to use the cache. If there's a key collision, then the second mount will disable caching and give a warning into the kernel log. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 5d1acff159730770cbab68b19443518c92ab1000 Author: David Howells Date: Fri Apr 3 16:42:47 2009 +0100 NFS: Display local caching state Display the local caching state in /proc/fs/nfsfs/volumes. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 7f8e05f60c87646e12c761fef61dd71a7e67112e Author: David Howells Date: Fri Apr 3 16:42:45 2009 +0100 NFS: Store pages from an NFS inode into a local cache Store pages from an NFS inode into the cache data storage object associated with that inode. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 9a9fc1c03315f1606596e55b4096d39e2079a041 Author: David Howells Date: Fri Apr 3 16:42:44 2009 +0100 NFS: Read pages from FS-Cache into an NFS inode Read pages from an FS-Cache data storage object representing an inode into an NFS inode. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit f42b293d6d5259043a8944b556eeab427c695d57 Author: David Howells Date: Fri Apr 3 16:42:44 2009 +0100 NFS: nfs_readpage_async() needs to be accessible as a fallback for local caching nfs_readpage_async() needs to be non-static so that it can be used as a fallback for the local on-disk caching should an EIO crop up when reading the cache. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 1fcdf534885b65e6d39780a5a89e9dfc5431cf68 Author: David Howells Date: Fri Apr 3 16:42:44 2009 +0100 NFS: Add read context retention for FS-Cache to call back with Add read context retention so that FS-Cache can call back into NFS when a read operation on the cache fails EIO rather than reading data. This permits NFS to then fetch the data from the server instead using the appropriate security context. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 545db45f0fc0d4203b045047798ce156972a3056 Author: David Howells Date: Fri Apr 3 16:42:44 2009 +0100 NFS: FS-Cache page management FS-Cache page management for NFS. This includes hooking the releasing and invalidation of pages marked with PG_fscache (aka PG_private_2) and waiting for completion of the write-to-cache flag (PG_fscache_write aka PG_owner_priv_2). Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 6a51091d0775cdc4a923f2172c61925ad416aa32 Author: David Howells Date: Fri Apr 3 16:42:43 2009 +0100 NFS: Add some new I/O counters for FS-Cache doing things for NFS Add some new NFS I/O counters for FS-Cache doing things for NFS. A new line is emitted into /proc/pid/mountstats if caching is enabled that looks like: fsc: Where is the number of pages read successfully from the cache, is the number of failed page reads against the cache, is the number of successful page writes to the cache, is the number of failed page writes to the cache, and is the number of NFS pages that have been disconnected from the cache. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit d599064a1bca7bcbaabe54b94fa73ea86952cae3 Author: David Howells Date: Fri Apr 3 16:42:43 2009 +0100 NFS: Invalidate FsCache page flags when cache removed Invalidate the FsCache page flags on the pages belonging to an inode when the cache backing that NFS inode is removed. This allows a live cache to be withdrawn. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit ef79c097bbe9724e13937271b3457df560e00370 Author: David Howells Date: Fri Apr 3 16:42:43 2009 +0100 NFS: Use local disk inode cache Bind data storage objects in the local cache to NFS inodes. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 10329a5d48f5abc14a37d30b706e330f8598297a Author: David Howells Date: Fri Apr 3 16:42:43 2009 +0100 NFS: Define and create inode-level cache objects Define and create inode-level cache data storage objects (as managed by nfs_inode structs). Each inode-level object is created in a superblock-level index object and is itself a data storage object into which pages from the inode are stored. The inode object key is the NFS file handle for the inode. The inode object is given coherency data to carry in the auxiliary data permitted by the cache. This is a sequence made up of: (1) i_mtime from the NFS inode. (2) i_ctime from the NFS inode. (3) i_size from the NFS inode. (4) change_attr from the NFSv4 attribute data. As the cache is a persistent cache, the auxiliary data is checked when a new NFS in-memory inode is set up that matches an already existing data storage object in the cache. If the coherency data is the same, the on-disk object is retained and used; if not, it is scrapped and a new one created. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 08734048b380103f0412f58b84c2f76a2c8b599f Author: David Howells Date: Fri Apr 3 16:42:42 2009 +0100 NFS: Define and create superblock-level objects Define and create superblock-level cache index objects (as managed by nfs_server structs). Each superblock object is created in a server level index object and is itself an index into which inode-level objects are inserted. Ideally there would be one superblock-level object per server, and the former would be folded into the latter; however, since the "nosharecache" option exists this isn't possible. The superblock object key is a sequence consisting of: (1) Certain superblock s_flags. (2) Various connection parameters that serve to distinguish superblocks for sget(). (3) The volume FSID. (4) The security flavour. (5) The uniquifier length. (6) The uniquifier text. This is normally an empty string, unless the fsc=xyz mount option was used to explicitly specify a uniquifier. The key blob is of variable length, depending on the length of (6). The superblock object is given no coherency data to carry in the auxiliary data permitted by the cache. It is assumed that the superblock is always coherent. This patch also adds uniquification handling such that two otherwise identical superblocks, at least one of which is marked "nosharecache", won't end up trying to share the on-disk cache. It will be possible to manually provide a uniquifier through a mount option with a later patch to avoid the error otherwise produced. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 147272813e043fb44bd112527951da70c1e663de Author: David Howells Date: Fri Apr 3 16:42:42 2009 +0100 NFS: Define and create server-level objects Define and create server-level cache index objects (as managed by nfs_client structs). Each server object is created in the NFS top-level index object and is itself an index into which superblock-level objects are inserted. Ideally there would be one superblock-level object per server, and the former would be folded into the latter; however, since the "nosharecache" option exists this isn't possible. The server object key is a sequence consisting of: (1) NFS version (2) Server address family (eg: AF_INET or AF_INET6) (3) Server port. (4) Server IP address. The key blob is of variable length, depending on the length of (4). The server object is given no coherency data to carry in the auxiliary data permitted by the cache. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 8ec442ae4c6577ed181682e534d4eef524e30b3c Author: David Howells Date: Fri Apr 3 16:42:42 2009 +0100 NFS: Register NFS for caching and retrieve the top-level index Register NFS for caching and retrieve the top-level cache index object cookie. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 3b9ce977b2f31b6c396b6fb620df9881a30fac9d Author: David Howells Date: Fri Apr 3 16:42:42 2009 +0100 NFS: Permit local filesystem caching to be enabled for NFS Permit local filesystem caching to be enabled for NFS in the kernel configuration. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit c6a6f19e22da0a3d74214ee010224c9a30a794c1 Author: David Howells Date: Fri Apr 3 16:42:42 2009 +0100 NFS: Add FS-Cache option bit and debug bit Add FS-Cache option bit to nfs_server struct. This is set to indicate local on-disk caching is enabled for a particular superblock. Also add debug bit for local caching operations. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 6b9b3514aa188183e74049853be43380ad49314f Author: David Howells Date: Fri Apr 3 16:42:41 2009 +0100 NFS: Add comment banners to some NFS functions Add comment banners to some NFS functions so that they can be modified by the NFS fscache patches for further information. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 9b3f26c9110dcea62716aca9b8c68ceb482227ef Author: David Howells Date: Fri Apr 3 16:42:41 2009 +0100 FS-Cache: Make kAFS use FS-Cache The attached patch makes the kAFS filesystem in fs/afs/ use FS-Cache, and through it any attached caches. The kAFS filesystem will use caching automatically if it's available. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 9ae326a69004dea8af2dae4fde58de27db700a8d Author: David Howells Date: Fri Apr 3 16:42:41 2009 +0100 CacheFiles: A cache that backs onto a mounted filesystem Add an FS-Cache cache-backend that permits a mounted filesystem to be used as a backing store for the cache. CacheFiles uses a userspace daemon to do some of the cache management - such as reaping stale nodes and culling. This is called cachefilesd and lives in /sbin. The source for the daemon can be downloaded from: http://people.redhat.com/~dhowells/cachefs/cachefilesd.c And an example configuration from: http://people.redhat.com/~dhowells/cachefs/cachefilesd.conf The filesystem and data integrity of the cache are only as good as those of the filesystem providing the backing services. Note that CacheFiles does not attempt to journal anything since the journalling interfaces of the various filesystems are very specific in nature. CacheFiles creates a misc character device - "/dev/cachefiles" - that is used to communication with the daemon. Only one thing may have this open at once, and whilst it is open, a cache is at least partially in existence. The daemon opens this and sends commands down it to control the cache. CacheFiles is currently limited to a single cache. CacheFiles attempts to maintain at least a certain percentage of free space on the filesystem, shrinking the cache by culling the objects it contains to make space if necessary - see the "Cache Culling" section. This means it can be placed on the same medium as a live set of data, and will expand to make use of spare space and automatically contract when the set of data requires more space. ============ REQUIREMENTS ============ The use of CacheFiles and its daemon requires the following features to be available in the system and in the cache filesystem: - dnotify. - extended attributes (xattrs). - openat() and friends. - bmap() support on files in the filesystem (FIBMAP ioctl). - The use of bmap() to detect a partial page at the end of the file. It is strongly recommended that the "dir_index" option is enabled on Ext3 filesystems being used as a cache. ============= CONFIGURATION ============= The cache is configured by a script in /etc/cachefilesd.conf. These commands set up cache ready for use. The following script commands are available: (*) brun % (*) bcull % (*) bstop % (*) frun % (*) fcull % (*) fstop % Configure the culling limits. Optional. See the section on culling The defaults are 7% (run), 5% (cull) and 1% (stop) respectively. The commands beginning with a 'b' are file space (block) limits, those beginning with an 'f' are file count limits. (*) dir Specify the directory containing the root of the cache. Mandatory. (*) tag Specify a tag to FS-Cache to use in distinguishing multiple caches. Optional. The default is "CacheFiles". (*) debug Specify a numeric bitmask to control debugging in the kernel module. Optional. The default is zero (all off). The following values can be OR'd into the mask to collect various information: 1 Turn on trace of function entry (_enter() macros) 2 Turn on trace of function exit (_leave() macros) 4 Turn on trace of internal debug points (_debug()) This mask can also be set through sysfs, eg: echo 5 >/sys/modules/cachefiles/parameters/debug ================== STARTING THE CACHE ================== The cache is started by running the daemon. The daemon opens the cache device, configures the cache and tells it to begin caching. At that point the cache binds to fscache and the cache becomes live. The daemon is run as follows: /sbin/cachefilesd [-d]* [-s] [-n] [-f ] The flags are: (*) -d Increase the debugging level. This can be specified multiple times and is cumulative with itself. (*) -s Send messages to stderr instead of syslog. (*) -n Don't daemonise and go into background. (*) -f Use an alternative configuration file rather than the default one. =============== THINGS TO AVOID =============== Do not mount other things within the cache as this will cause problems. The kernel module contains its own very cut-down path walking facility that ignores mountpoints, but the daemon can't avoid them. Do not create, rename or unlink files and directories in the cache whilst the cache is active, as this may cause the state to become uncertain. Renaming files in the cache might make objects appear to be other objects (the filename is part of the lookup key). Do not change or remove the extended attributes attached to cache files by the cache as this will cause the cache state management to get confused. Do not create files or directories in the cache, lest the cache get confused or serve incorrect data. Do not chmod files in the cache. The module creates things with minimal permissions to prevent random users being able to access them directly. ============= CACHE CULLING ============= The cache may need culling occasionally to make space. This involves discarding objects from the cache that have been used less recently than anything else. Culling is based on the access time of data objects. Empty directories are culled if not in use. Cache culling is done on the basis of the percentage of blocks and the percentage of files available in the underlying filesystem. There are six "limits": (*) brun (*) frun If the amount of free space and the number of available files in the cache rises above both these limits, then culling is turned off. (*) bcull (*) fcull If the amount of available space or the number of available files in the cache falls below either of these limits, then culling is started. (*) bstop (*) fstop If the amount of available space or the number of available files in the cache falls below either of these limits, then no further allocation of disk space or files is permitted until culling has raised things above these limits again. These must be configured thusly: 0 <= bstop < bcull < brun < 100 0 <= fstop < fcull < frun < 100 Note that these are percentages of available space and available files, and do _not_ appear as 100 minus the percentage displayed by the "df" program. The userspace daemon scans the cache to build up a table of cullable objects. These are then culled in least recently used order. A new scan of the cache is started as soon as space is made in the table. Objects will be skipped if their atimes have changed or if the kernel module says it is still using them. =============== CACHE STRUCTURE =============== The CacheFiles module will create two directories in the directory it was given: (*) cache/ (*) graveyard/ The active cache objects all reside in the first directory. The CacheFiles kernel module moves any retired or culled objects that it can't simply unlink to the graveyard from which the daemon will actually delete them. The daemon uses dnotify to monitor the graveyard directory, and will delete anything that appears therein. The module represents index objects as directories with the filename "I..." or "J...". Note that the "cache/" directory is itself a special index. Data objects are represented as files if they have no children, or directories if they do. Their filenames all begin "D..." or "E...". If represented as a directory, data objects will have a file in the directory called "data" that actually holds the data. Special objects are similar to data objects, except their filenames begin "S..." or "T...". If an object has children, then it will be represented as a directory. Immediately in the representative directory are a collection of directories named for hash values of the child object keys with an '@' prepended. Into this directory, if possible, will be placed the representations of the child objects: INDEX INDEX INDEX DATA FILES ========= ========== ================================= ================ cache/@4a/I03nfs/@30/Ji000000000000000--fHg8hi8400 cache/@4a/I03nfs/@30/Ji000000000000000--fHg8hi8400/@75/Es0g000w...DB1ry cache/@4a/I03nfs/@30/Ji000000000000000--fHg8hi8400/@75/Es0g000w...N22ry cache/@4a/I03nfs/@30/Ji000000000000000--fHg8hi8400/@75/Es0g000w...FP1ry If the key is so long that it exceeds NAME_MAX with the decorations added on to it, then it will be cut into pieces, the first few of which will be used to make a nest of directories, and the last one of which will be the objects inside the last directory. The names of the intermediate directories will have '+' prepended: J1223/@23/+xy...z/+kl...m/Epqr Note that keys are raw data, and not only may they exceed NAME_MAX in size, they may also contain things like '/' and NUL characters, and so they may not be suitable for turning directly into a filename. To handle this, CacheFiles will use a suitably printable filename directly and "base-64" encode ones that aren't directly suitable. The two versions of object filenames indicate the encoding: OBJECT TYPE PRINTABLE ENCODED =============== =============== =============== Index "I..." "J..." Data "D..." "E..." Special "S..." "T..." Intermediate directories are always "@" or "+" as appropriate. Each object in the cache has an extended attribute label that holds the object type ID (required to distinguish special objects) and the auxiliary data from the netfs. The latter is used to detect stale objects in the cache and update or retire them. Note that CacheFiles will erase from the cache any file it doesn't recognise or any file of an incorrect type (such as a FIFO file or a device file). ========================== SECURITY MODEL AND SELINUX ========================== CacheFiles is implemented to deal properly with the LSM security features of the Linux kernel and the SELinux facility. One of the problems that CacheFiles faces is that it is generally acting on behalf of a process, and running in that process's context, and that includes a security context that is not appropriate for accessing the cache - either because the files in the cache are inaccessible to that process, or because if the process creates a file in the cache, that file may be inaccessible to other processes. The way CacheFiles works is to temporarily change the security context (fsuid, fsgid and actor security label) that the process acts as - without changing the security context of the process when it the target of an operation performed by some other process (so signalling and suchlike still work correctly). When the CacheFiles module is asked to bind to its cache, it: (1) Finds the security label attached to the root cache directory and uses that as the security label with which it will create files. By default, this is: cachefiles_var_t (2) Finds the security label of the process which issued the bind request (presumed to be the cachefilesd daemon), which by default will be: cachefilesd_t and asks LSM to supply a security ID as which it should act given the daemon's label. By default, this will be: cachefiles_kernel_t SELinux transitions the daemon's security ID to the module's security ID based on a rule of this form in the policy. type_transition kernel_t : process ; For instance: type_transition cachefilesd_t kernel_t : process cachefiles_kernel_t; The module's security ID gives it permission to create, move and remove files and directories in the cache, to find and access directories and files in the cache, to set and access extended attributes on cache objects, and to read and write files in the cache. The daemon's security ID gives it only a very restricted set of permissions: it may scan directories, stat files and erase files and directories. It may not read or write files in the cache, and so it is precluded from accessing the data cached therein; nor is it permitted to create new files in the cache. There are policy source files available in: http://people.redhat.com/~dhowells/fscache/cachefilesd-0.8.tar.bz2 and later versions. In that tarball, see the files: cachefilesd.te cachefilesd.fc cachefilesd.if They are built and installed directly by the RPM. If a non-RPM based system is being used, then copy the above files to their own directory and run: make -f /usr/share/selinux/devel/Makefile semodule -i cachefilesd.pp You will need checkpolicy and selinux-policy-devel installed prior to the build. By default, the cache is located in /var/fscache, but if it is desirable that it should be elsewhere, than either the above policy files must be altered, or an auxiliary policy must be installed to label the alternate location of the cache. For instructions on how to add an auxiliary policy to enable the cache to be located elsewhere when SELinux is in enforcing mode, please see: /usr/share/doc/cachefilesd-*/move-cache.txt When the cachefilesd rpm is installed; alternatively, the document can be found in the sources. ================== A NOTE ON SECURITY ================== CacheFiles makes use of the split security in the task_struct. It allocates its own task_security structure, and redirects current->act_as to point to it when it acts on behalf of another process, in that process's context. The reason it does this is that it calls vfs_mkdir() and suchlike rather than bypassing security and calling inode ops directly. Therefore the VFS and LSM may deny the CacheFiles access to the cache data because under some circumstances the caching code is running in the security context of whatever process issued the original syscall on the netfs. Furthermore, should CacheFiles create a file or directory, the security parameters with that object is created (UID, GID, security label) would be derived from that process that issued the system call, thus potentially preventing other processes from accessing the cache - including CacheFiles's cache management daemon (cachefilesd). What is required is to temporarily override the security of the process that issued the system call. We can't, however, just do an in-place change of the security data as that affects the process as an object, not just as a subject. This means it may lose signals or ptrace events for example, and affects what the process looks like in /proc. So CacheFiles makes use of a logical split in the security between the objective security (task->sec) and the subjective security (task->act_as). The objective security holds the intrinsic security properties of a process and is never overridden. This is what appears in /proc, and is what is used when a process is the target of an operation by some other process (SIGKILL for example). The subjective security holds the active security properties of a process, and may be overridden. This is not seen externally, and is used whan a process acts upon another object, for example SIGKILLing another process or opening a file. LSM hooks exist that allow SELinux (or Smack or whatever) to reject a request for CacheFiles to run in a context of a specific security label, or to create files and directories with another security label. This documentation is added by the patch to: Documentation/filesystems/caching/cachefiles.txt Signed-Off-By: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 800a964787faef3509d194fa33268628c3d1daa9 Author: David Howells Date: Fri Apr 3 16:42:40 2009 +0100 CacheFiles: Export things for CacheFiles Export a number of functions for CacheFiles's use. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Rik van Riel Acked-by: Al Viro Tested-by: Daire Byrne commit 385e1ca5f21c4680ad6a46a3aa2ea8af99e99c92 Author: David Howells Date: Fri Apr 3 16:42:39 2009 +0100 CacheFiles: Permit the page lock state to be monitored Add a function to install a monitor on the page lock waitqueue for a particular page, thus allowing the page being unlocked to be detected. This is used by CacheFiles to detect read completion on a page in the backing filesystem so that it can then copy the data to the waiting netfs page. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Rik van Riel Acked-by: Al Viro Tested-by: Daire Byrne commit b510882281d56873e1194021643b7c325336f84f Author: David Howells Date: Fri Apr 3 16:42:39 2009 +0100 FS-Cache: Implement data I/O part of netfs API Implement the data I/O part of the FS-Cache netfs API. The documentation and API header file were added in a previous patch. This patch implements the following functions for the netfs to call: (*) fscache_attr_changed(). Indicate that the object has changed its attributes. The only attribute currently recorded is the file size. Only pages within the set file size will be stored in the cache. This operation is submitted for asynchronous processing, and will return immediately. It will return -ENOMEM if an out of memory error is encountered, -ENOBUFS if the object is not actually cached, or 0 if the operation is successfully queued. (*) fscache_read_or_alloc_page(). (*) fscache_read_or_alloc_pages(). Request data be fetched from the disk, and allocate internal metadata to track the netfs pages and reserve disk space for unknown pages. These operations perform semi-asynchronous data reads. Upon returning they will indicate which pages they think can be retrieved from disk, and will have set in progress attempts to retrieve those pages. These will return, in order of preference, -ENOMEM on memory allocation error, -ERESTARTSYS if a signal interrupted proceedings, -ENODATA if one or more requested pages are not yet cached, -ENOBUFS if the object is not actually cached or if there isn't space for future pages to be cached on this object, or 0 if successful. In the case of the multipage function, the pages for which reads are set in progress will be removed from the list and the page count decreased appropriately. If any read operations should fail, the completion function will be given an error, and will also be passed contextual information to allow the netfs to fall back to querying the server for the absent pages. For each successful read, the page completion function will also be called. Any pages subsequently tracked by the cache will have PG_fscache set upon them on return. fscache_uncache_page() must be called for such pages. If supplied by the netfs, the mark_pages_cached() cookie op will be invoked for any pages now tracked. (*) fscache_alloc_page(). Allocate internal metadata to track a netfs page and reserve disk space. This will return -ENOMEM on memory allocation error, -ERESTARTSYS on signal, -ENOBUFS if the object isn't cached, or there isn't enough space in the cache, or 0 if successful. Any pages subsequently tracked by the cache will have PG_fscache set upon them on return. fscache_uncache_page() must be called for such pages. If supplied by the netfs, the mark_pages_cached() cookie op will be invoked for any pages now tracked. (*) fscache_write_page(). Request data be stored to disk. This may only be called on pages that have been read or alloc'd by the above three functions and have not yet been uncached. This will return -ENOMEM on memory allocation error, -ERESTARTSYS on signal, -ENOBUFS if the object isn't cached, or there isn't immediately enough space in the cache, or 0 if successful. On a successful return, this operation will have queued the page for asynchronous writing to the cache. The page will be returned with PG_fscache_write set until the write completes one way or another. The caller will not be notified if the write fails due to an I/O error. If that happens, the object will become available and all pending writes will be aborted. Note that the cache may batch up page writes, and so it may take a while to get around to writing them out. The caller must assume that until PG_fscache_write is cleared the page is use by the cache. Any changes made to the page may be reflected on disk. The page may even be under DMA. (*) fscache_uncache_page(). Indicate that the cache should stop tracking a page previously read or alloc'd from the cache. If the page was alloc'd only, but unwritten, it will not appear on disk. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 952efe7b7840e1c726ae88222245e4efe6bd88f3 Author: David Howells Date: Fri Apr 3 16:42:39 2009 +0100 FS-Cache: Add and document asynchronous operation handling Add and document asynchronous operation handling for use by FS-Cache's data storage and retrieval routines. The following documentation is added to: Documentation/filesystems/caching/operations.txt ================================ ASYNCHRONOUS OPERATIONS HANDLING ================================ ======== OVERVIEW ======== FS-Cache has an asynchronous operations handling facility that it uses for its data storage and retrieval routines. Its operations are represented by fscache_operation structs, though these are usually embedded into some other structure. This facility is available to and expected to be be used by the cache backends, and FS-Cache will create operations and pass them off to the appropriate cache backend for completion. To make use of this facility, should be #included. =============================== OPERATION RECORD INITIALISATION =============================== An operation is recorded in an fscache_operation struct: struct fscache_operation { union { struct work_struct fast_work; struct slow_work slow_work; }; unsigned long flags; fscache_operation_processor_t processor; ... }; Someone wanting to issue an operation should allocate something with this struct embedded in it. They should initialise it by calling: void fscache_operation_init(struct fscache_operation *op, fscache_operation_release_t release); with the operation to be initialised and the release function to use. The op->flags parameter should be set to indicate the CPU time provision and the exclusivity (see the Parameters section). The op->fast_work, op->slow_work and op->processor flags should be set as appropriate for the CPU time provision (see the Parameters section). FSCACHE_OP_WAITING may be set in op->flags prior to each submission of the operation and waited for afterwards. ========== PARAMETERS ========== There are a number of parameters that can be set in the operation record's flag parameter. There are three options for the provision of CPU time in these operations: (1) The operation may be done synchronously (FSCACHE_OP_MYTHREAD). A thread may decide it wants to handle an operation itself without deferring it to another thread. This is, for example, used in read operations for calling readpages() on the backing filesystem in CacheFiles. Although readpages() does an asynchronous data fetch, the determination of whether pages exist is done synchronously - and the netfs does not proceed until this has been determined. If this option is to be used, FSCACHE_OP_WAITING must be set in op->flags before submitting the operation, and the operating thread must wait for it to be cleared before proceeding: wait_on_bit(&op->flags, FSCACHE_OP_WAITING, fscache_wait_bit, TASK_UNINTERRUPTIBLE); (2) The operation may be fast asynchronous (FSCACHE_OP_FAST), in which case it will be given to keventd to process. Such an operation is not permitted to sleep on I/O. This is, for example, used by CacheFiles to copy data from a backing fs page to a netfs page after the backing fs has read the page in. If this option is used, op->fast_work and op->processor must be initialised before submitting the operation: INIT_WORK(&op->fast_work, do_some_work); (3) The operation may be slow asynchronous (FSCACHE_OP_SLOW), in which case it will be given to the slow work facility to process. Such an operation is permitted to sleep on I/O. This is, for example, used by FS-Cache to handle background writes of pages that have just been fetched from a remote server. If this option is used, op->slow_work and op->processor must be initialised before submitting the operation: fscache_operation_init_slow(op, processor) Furthermore, operations may be one of two types: (1) Exclusive (FSCACHE_OP_EXCLUSIVE). Operations of this type may not run in conjunction with any other operation on the object being operated upon. An example of this is the attribute change operation, in which the file being written to may need truncation. (2) Shareable. Operations of this type may be running simultaneously. It's up to the operation implementation to prevent interference between other operations running at the same time. ========= PROCEDURE ========= Operations are used through the following procedure: (1) The submitting thread must allocate the operation and initialise it itself. Normally this would be part of a more specific structure with the generic op embedded within. (2) The submitting thread must then submit the operation for processing using one of the following two functions: int fscache_submit_op(struct fscache_object *object, struct fscache_operation *op); int fscache_submit_exclusive_op(struct fscache_object *object, struct fscache_operation *op); The first function should be used to submit non-exclusive ops and the second to submit exclusive ones. The caller must still set the FSCACHE_OP_EXCLUSIVE flag. If successful, both functions will assign the operation to the specified object and return 0. -ENOBUFS will be returned if the object specified is permanently unavailable. The operation manager will defer operations on an object that is still undergoing lookup or creation. The operation will also be deferred if an operation of conflicting exclusivity is in progress on the object. If the operation is asynchronous, the manager will retain a reference to it, so the caller should put their reference to it by passing it to: void fscache_put_operation(struct fscache_operation *op); (3) If the submitting thread wants to do the work itself, and has marked the operation with FSCACHE_OP_MYTHREAD, then it should monitor FSCACHE_OP_WAITING as described above and check the state of the object if necessary (the object might have died whilst the thread was waiting). When it has finished doing its processing, it should call fscache_put_operation() on it. (4) The operation holds an effective lock upon the object, preventing other exclusive ops conflicting until it is released. The operation can be enqueued for further immediate asynchronous processing by adjusting the CPU time provisioning option if necessary, eg: op->flags &= ~FSCACHE_OP_TYPE; op->flags |= ~FSCACHE_OP_FAST; and calling: void fscache_enqueue_operation(struct fscache_operation *op) This can be used to allow other things to have use of the worker thread pools. ===================== ASYNCHRONOUS CALLBACK ===================== When used in asynchronous mode, the worker thread pool will invoke the processor method with a pointer to the operation. This should then get at the container struct by using container_of(): static void fscache_write_op(struct fscache_operation *_op) { struct fscache_storage *op = container_of(_op, struct fscache_storage, op); ... } The caller holds a reference on the operation, and will invoke fscache_put_operation() when the processor function returns. The processor function is at liberty to call fscache_enqueue_operation() or to take extra references. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit ccc4fc3d11e91477036d1f82bfa2d442f6ce77f0 Author: David Howells Date: Fri Apr 3 16:42:38 2009 +0100 FS-Cache: Implement the cookie management part of the netfs API Implement the cookie management part of the FS-Cache netfs client API. The documentation and API header file were added in a previous patch. This patch implements the following three functions: (1) fscache_acquire_cookie(). Acquire a cookie to represent an object to the netfs. If the object in question is a non-index object, then that object and its parent indices will be created on disk at this point if they don't already exist. Index creation is deferred because an index may reside in multiple caches. (2) fscache_relinquish_cookie(). Retire or release a cookie previously acquired. At this point, the object on disk may be destroyed. (3) fscache_update_cookie(). Update the in-cache representation of a cookie. This is used to update the auxiliary data for coherency management purposes. With this patch it is possible to have a netfs instruct a cache backend to look up, validate and create metadata on disk and to destroy it again. The ability to actually store and retrieve data in the objects so created is added in later patches. Note that these functions will never return an error. _All_ errors are handled internally to FS-Cache. The worst that can happen is that fscache_acquire_cookie() may return a NULL pointer - which is considered a negative cookie pointer and can be passed back to any function that takes a cookie without harm. A negative cookie pointer merely suppresses caching at that level. The stub in linux/fscache.h will detect inline the negative cookie pointer and abort the operation as fast as possible. This means that the compiler doesn't have to set up for a call in that case. See the documentation in Documentation/filesystems/caching/netfs-api.txt for more information. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 36c9559022850f919269564a74bf17fdabf4bb30 Author: David Howells Date: Fri Apr 3 16:42:38 2009 +0100 FS-Cache: Object management state machine Implement the cache object management state machine. The following documentation is added to illuminate the working of this state machine. It will also be added as: Documentation/filesystems/caching/object.txt ==================================================== IN-KERNEL CACHE OBJECT REPRESENTATION AND MANAGEMENT ==================================================== ============== REPRESENTATION ============== FS-Cache maintains an in-kernel representation of each object that a netfs is currently interested in. Such objects are represented by the fscache_cookie struct and are referred to as cookies. FS-Cache also maintains a separate in-kernel representation of the objects that a cache backend is currently actively caching. Such objects are represented by the fscache_object struct. The cache backends allocate these upon request, and are expected to embed them in their own representations. These are referred to as objects. There is a 1:N relationship between cookies and objects. A cookie may be represented by multiple objects - an index may exist in more than one cache - or even by no objects (it may not be cached). Furthermore, both cookies and objects are hierarchical. The two hierarchies correspond, but the cookies tree is a superset of the union of the object trees of multiple caches: NETFS INDEX TREE : CACHE 1 : CACHE 2 : : : +-----------+ : +----------->| IObject | : +-----------+ | : +-----------+ : | ICookie |-------+ : | : +-----------+ | : | : +-----------+ | +------------------------------>| IObject | | : | : +-----------+ | : V : | | : +-----------+ : | V +----------->| IObject | : | +-----------+ | : +-----------+ : | | ICookie |-------+ : | : V +-----------+ | : | : +-----------+ | +------------------------------>| IObject | +-----+-----+ : | : +-----------+ | | : | : | V | : V : | +-----------+ | : +-----------+ : | | ICookie |------------------------->| IObject | : | +-----------+ | : +-----------+ : | | V : | : V | +-----------+ : | : +-----------+ | | ICookie |-------------------------------->| IObject | | +-----------+ : | : +-----------+ V | : V : | +-----------+ | : +-----------+ : | | DCookie |------------------------->| DObject | : | +-----------+ | : +-----------+ : | | : : | +-------+-------+ : : | | | : : | V V : : V +-----------+ +-----------+ : : +-----------+ | DCookie | | DCookie |------------------------>| DObject | +-----------+ +-----------+ : : +-----------+ : : In the above illustration, ICookie and IObject represent indices and DCookie and DObject represent data storage objects. Indices may have representation in multiple caches, but currently, non-index objects may not. Objects of any type may also be entirely unrepresented. As far as the netfs API goes, the netfs is only actually permitted to see pointers to the cookies. The cookies themselves and any objects attached to those cookies are hidden from it. =============================== OBJECT MANAGEMENT STATE MACHINE =============================== Within FS-Cache, each active object is managed by its own individual state machine. The state for an object is kept in the fscache_object struct, in object->state. A cookie may point to a set of objects that are in different states. Each state has an action associated with it that is invoked when the machine wakes up in that state. There are four logical sets of states: (1) Preparation: states that wait for the parent objects to become ready. The representations are hierarchical, and it is expected that an object must be created or accessed with respect to its parent object. (2) Initialisation: states that perform lookups in the cache and validate what's found and that create on disk any missing metadata. (3) Normal running: states that allow netfs operations on objects to proceed and that update the state of objects. (4) Termination: states that detach objects from their netfs cookies, that delete objects from disk, that handle disk and system errors and that free up in-memory resources. In most cases, transitioning between states is in response to signalled events. When a state has finished processing, it will usually set the mask of events in which it is interested (object->event_mask) and relinquish the worker thread. Then when an event is raised (by calling fscache_raise_event()), if the event is not masked, the object will be queued for processing (by calling fscache_enqueue_object()). PROVISION OF CPU TIME --------------------- The work to be done by the various states is given CPU time by the threads of the slow work facility (see Documentation/slow-work.txt). This is used in preference to the workqueue facility because: (1) Threads may be completely occupied for very long periods of time by a particular work item. These state actions may be doing sequences of synchronous, journalled disk accesses (lookup, mkdir, create, setxattr, getxattr, truncate, unlink, rmdir, rename). (2) Threads may do little actual work, but may rather spend a lot of time sleeping on I/O. This means that single-threaded and 1-per-CPU-threaded workqueues don't necessarily have the right numbers of threads. LOCKING SIMPLIFICATION ---------------------- Because only one worker thread may be operating on any particular object's state machine at once, this simplifies the locking, particularly with respect to disconnecting the netfs's representation of a cache object (fscache_cookie) from the cache backend's representation (fscache_object) - which may be requested from either end. ================= THE SET OF STATES ================= The object state machine has a set of states that it can be in. There are preparation states in which the object sets itself up and waits for its parent object to transit to a state that allows access to its children: (1) State FSCACHE_OBJECT_INIT. Initialise the object and wait for the parent object to become active. In the cache, it is expected that it will not be possible to look an object up from the parent object, until that parent object itself has been looked up. There are initialisation states in which the object sets itself up and accesses disk for the object metadata: (2) State FSCACHE_OBJECT_LOOKING_UP. Look up the object on disk, using the parent as a starting point. FS-Cache expects the cache backend to probe the cache to see whether this object is represented there, and if it is, to see if it's valid (coherency management). The cache should call fscache_object_lookup_negative() to indicate lookup failure for whatever reason, and should call fscache_obtained_object() to indicate success. At the completion of lookup, FS-Cache will let the netfs go ahead with read operations, no matter whether the file is yet cached. If not yet cached, read operations will be immediately rejected with ENODATA until the first known page is uncached - as to that point there can be no data to be read out of the cache for that file that isn't currently also held in the pagecache. (3) State FSCACHE_OBJECT_CREATING. Create an object on disk, using the parent as a starting point. This happens if the lookup failed to find the object, or if the object's coherency data indicated what's on disk is out of date. In this state, FS-Cache expects the cache to create The cache should call fscache_obtained_object() if creation completes successfully, fscache_object_lookup_negative() otherwise. At the completion of creation, FS-Cache will start processing write operations the netfs has queued for an object. If creation failed, the write ops will be transparently discarded, and nothing recorded in the cache. There are some normal running states in which the object spends its time servicing netfs requests: (4) State FSCACHE_OBJECT_AVAILABLE. A transient state in which pending operations are started, child objects are permitted to advance from FSCACHE_OBJECT_INIT state, and temporary lookup data is freed. (5) State FSCACHE_OBJECT_ACTIVE. The normal running state. In this state, requests the netfs makes will be passed on to the cache. (6) State FSCACHE_OBJECT_UPDATING. The state machine comes here to update the object in the cache from the netfs's records. This involves updating the auxiliary data that is used to maintain coherency. And there are terminal states in which an object cleans itself up, deallocates memory and potentially deletes stuff from disk: (7) State FSCACHE_OBJECT_LC_DYING. The object comes here if it is dying because of a lookup or creation error. This would be due to a disk error or system error of some sort. Temporary data is cleaned up, and the parent is released. (8) State FSCACHE_OBJECT_DYING. The object comes here if it is dying due to an error, because its parent cookie has been relinquished by the netfs or because the cache is being withdrawn. Any child objects waiting on this one are given CPU time so that they too can destroy themselves. This object waits for all its children to go away before advancing to the next state. (9) State FSCACHE_OBJECT_ABORT_INIT. The object comes to this state if it was waiting on its parent in FSCACHE_OBJECT_INIT, but its parent died. The object will destroy itself so that the parent may proceed from the FSCACHE_OBJECT_DYING state. (10) State FSCACHE_OBJECT_RELEASING. (11) State FSCACHE_OBJECT_RECYCLING. The object comes to one of these two states when dying once it is rid of all its children, if it is dying because the netfs relinquished its cookie. In the first state, the cached data is expected to persist, and in the second it will be deleted. (12) State FSCACHE_OBJECT_WITHDRAWING. The object transits to this state if the cache decides it wants to withdraw the object from service, perhaps to make space, but also due to error or just because the whole cache is being withdrawn. (13) State FSCACHE_OBJECT_DEAD. The object transits to this state when the in-memory object record is ready to be deleted. The object processor shouldn't ever see an object in this state. THE SET OF EVENTS ----------------- There are a number of events that can be raised to an object state machine: (*) FSCACHE_OBJECT_EV_UPDATE The netfs requested that an object be updated. The state machine will ask the cache backend to update the object, and the cache backend will ask the netfs for details of the change through its cookie definition ops. (*) FSCACHE_OBJECT_EV_CLEARED This is signalled in two circumstances: (a) when an object's last child object is dropped and (b) when the last operation outstanding on an object is completed. This is used to proceed from the dying state. (*) FSCACHE_OBJECT_EV_ERROR This is signalled when an I/O error occurs during the processing of some object. (*) FSCACHE_OBJECT_EV_RELEASE (*) FSCACHE_OBJECT_EV_RETIRE These are signalled when the netfs relinquishes a cookie it was using. The event selected depends on whether the netfs asks for the backing object to be retired (deleted) or retained. (*) FSCACHE_OBJECT_EV_WITHDRAW This is signalled when the cache backend wants to withdraw an object. This means that the object will have to be detached from the netfs's cookie. Because the withdrawing releasing/retiring events are all handled by the object state machine, it doesn't matter if there's a collision with both ends trying to sever the connection at the same time. The state machine can just pick which one it wants to honour, and that effects the other. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 2868cbea72dc89ae0eb17693596b1dedaafff1c5 Author: David Howells Date: Fri Apr 3 16:42:38 2009 +0100 FS-Cache: Bit waiting helpers Add helpers for use with wait_on_bit(). Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 726dd7ff10c217dd74329c94643dc8ebea27334b Author: David Howells Date: Fri Apr 3 16:42:38 2009 +0100 FS-Cache: Add netfs registration Add functions to register and unregister a network filesystem or other client of the FS-Cache service. This allocates and releases the cookie representing the top-level index for a netfs, and makes it available to the netfs. If the FS-Cache facility is disabled, then the calls are optimised away at compile time. Note that whilst this patch may appear to work with FS-Cache enabled and a netfs attempting to use it, it will leak the cookie it allocates for the netfs as fscache_relinquish_cookie() is implemented in a later patch. This will cause the slab code to emit a warning when the module is removed. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 955d00917f0c094e0f2fb88df967e980ab66b8ca Author: David Howells Date: Fri Apr 3 16:42:38 2009 +0100 FS-Cache: Provide a slab for cookie allocation Provide a slab from which can be allocated the FS-Cache cookies that will be presented to the netfs. Also provide a slab constructor and a function to recursively discard a cookie and its ancestor chain. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 4c515dd47ab41be3f89e757d441661795470b376 Author: David Howells Date: Fri Apr 3 16:42:37 2009 +0100 FS-Cache: Add cache management Implement the entry points by which a cache backend may initialise, add, declare an error upon and withdraw a cache. Further, an object is created in sysfs under which each cache added will get an object created: /sys/fs/fscache// All of this is described in Documentation/filesystems/caching/backend-api.txt added by a previous patch. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 0e04d4cefcf4d8fbbdb2c50e93ad541582933fd2 Author: David Howells Date: Fri Apr 3 16:42:37 2009 +0100 FS-Cache: Add cache tag handling Implement two features of FS-Cache: (1) The ability to request and release cache tags - names by which a cache may be known to a netfs, and thus selected for use. (2) An internal function by which a cache is selected by consulting the netfs, if the netfs wishes to be consulted. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit a6891645cf2ddd4778096848a864580e7258faba Author: David Howells Date: Fri Apr 3 16:42:37 2009 +0100 FS-Cache: Root index definition Add a description of the root index of the cache for later patches to make use of. The root index is owned by FS-Cache itself. When a netfs requests caching facilities, FS-Cache will, if one doesn't already exist, create an entry in the root index with the key being the name of the netfs ("AFS" for example), and the auxiliary data holding the index structure version supplied by the netfs: FSDEF | +-----------+ | | NFS AFS [v=1] [v=1] If an entry with the appropriate name does already exist, the version is compared. If the version is different, the entire subtree from that entry will be discarded and a new entry created. The new entry will be an index, and a cookie referring to it will be passed to the netfs. This is then the root handle by which the netfs accesses the cache. It can create whatever objects it likes in that index, including further indices. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 7394daa8c61dfda4baa687f133748fa0b599b017 Author: David Howells Date: Fri Apr 3 16:42:37 2009 +0100 FS-Cache: Add use of /proc and presentation of statistics Make FS-Cache create its /proc interface and present various statistical information through it. Also provide the functions for updating this information. These features are enabled by: CONFIG_FSCACHE_PROC CONFIG_FSCACHE_STATS CONFIG_FSCACHE_HISTOGRAM The /proc directory for FS-Cache is also exported so that caching modules can add their own statistics there too. The FS-Cache module is loadable at this point, and the statistics files can be examined by userspace: cat /proc/fs/fscache/stats cat /proc/fs/fscache/histogram Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 06b3db1b9bccdc8c2c743122a89745279e5ecc46 Author: David Howells Date: Fri Apr 3 16:42:36 2009 +0100 FS-Cache: Add main configuration option, module entry points and debugging Add the main configuration option, allowing FS-Cache to be selected; the module entry and exit functions and the debugging stuff used by these patches. The two configuration options added are: CONFIG_FSCACHE CONFIG_FSCACHE_DEBUG The first enables the facility, and the second makes the debugging statements enableable through the "debug" module parameter. The value of this parameter is a bitmask as described in: Documentation/filesystems/caching/fscache.txt The module can be loaded at this point, but all it will do at this point in the patch series is to start up the slow work facility and shut it down again. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 0dfc41d1efcc4180abfd32f68f0ade540e636ff6 Author: David Howells Date: Fri Apr 3 16:42:36 2009 +0100 FS-Cache: Add the FS-Cache cache backend API and documentation Add the API for a generic facility (FS-Cache) by which caches may declare them selves open for business, and may obtain work to be done from network filesystems. The header file is included by: #include Documentation for the API is also added to: Documentation/filesystems/caching/backend-api.txt This API is not usable without the implementation of the utility functions which will be added in further patches. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 2d6fff637037395cc946ef910a880b5fa67b5370 Author: David Howells Date: Fri Apr 3 16:42:36 2009 +0100 FS-Cache: Add the FS-Cache netfs API and documentation Add the API for a generic facility (FS-Cache) by which filesystems (such as AFS or NFS) may call on local caching capabilities without having to know anything about how the cache works, or even if there is a cache: +---------+ | | +--------------+ | NFS |--+ | | | | | +-->| CacheFS | +---------+ | +----------+ | | /dev/hda5 | | | | | +--------------+ +---------+ +-->| | | | | | |--+ | AFS |----->| FS-Cache | | | | |--+ +---------+ +-->| | | | | | | +--------------+ +---------+ | +----------+ | | | | | | +-->| CacheFiles | | ISOFS |--+ | /var/cache | | | +--------------+ +---------+ General documentation and documentation of the netfs specific API are provided in addition to the header files. As this patch stands, it is possible to build a filesystem against the facility and attempt to use it. All that will happen is that all requests will be immediately denied as if no cache is present. Further patches will implement the core of the facility. The facility will transfer requests from networking filesystems to appropriate caches if possible, or else gracefully deny them. If this facility is disabled in the kernel configuration, then all its operations will trivially reduce to nothing during compilation. WHY NOT I_MAPPING? ================== I have added my own API to implement caching rather than using i_mapping to do this for a number of reasons. These have been discussed a lot on the LKML and CacheFS mailing lists, but to summarise the basics: (1) Most filesystems don't do hole reportage. Holes in files are treated as blocks of zeros and can't be distinguished otherwise, making it difficult to distinguish blocks that have been read from the network and cached from those that haven't. (2) The backing inode must be fully populated before being exposed to userspace through the main inode because the VM/VFS goes directly to the backing inode and does not interrogate the front inode's VM ops. Therefore: (a) The backing inode must fit entirely within the cache. (b) All backed files currently open must fit entirely within the cache at the same time. (c) A working set of files in total larger than the cache may not be cached. (d) A file may not grow larger than the available space in the cache. (e) A file that's open and cached, and remotely grows larger than the cache is potentially stuffed. (3) Writes go to the backing filesystem, and can only be transferred to the network when the file is closed. (4) There's no record of what changes have been made, so the whole file must be written back. (5) The pages belong to the backing filesystem, and all metadata associated with that page are relevant only to the backing filesystem, and not anything stacked atop it. OVERVIEW ======== FS-Cache provides (or will provide) the following facilities: (1) Caches can be added / removed at any time, even whilst in use. (2) Adds a facility by which tags can be used to refer to caches, even if they're not available yet. (3) More than one cache can be used at once. Caches can be selected explicitly by use of tags. (4) The netfs is provided with an interface that allows either party to withdraw caching facilities from a file (required for (1)). (5) A netfs may annotate cache objects that belongs to it. This permits the storage of coherency maintenance data. (6) Cache objects will be pinnable and space reservations will be possible. (7) The interface to the netfs returns as few errors as possible, preferring rather to let the netfs remain oblivious. (8) Cookies are used to represent indices, files and other objects to the netfs. The simplest cookie is just a NULL pointer - indicating nothing cached there. (9) The netfs is allowed to propose - dynamically - any index hierarchy it desires, though it must be aware that the index search function is recursive, stack space is limited, and indices can only be children of indices. (10) Indices can be used to group files together to reduce key size and to make group invalidation easier. The use of indices may make lookup quicker, but that's cache dependent. (11) Data I/O is effectively done directly to and from the netfs's pages. The netfs indicates that page A is at index B of the data-file represented by cookie C, and that it should be read or written. The cache backend may or may not start I/O on that page, but if it does, a netfs callback will be invoked to indicate completion. The I/O may be either synchronous or asynchronous. (12) Cookies can be "retired" upon release. At this point FS-Cache will mark them as obsolete and the index hierarchy rooted at that point will get recycled. (13) The netfs provides a "match" function for index searches. In addition to saying whether a match was made or not, this can also specify that an entry should be updated or deleted. FS-Cache maintains a virtual index tree in which all indices, files, objects and pages are kept. Bits of this tree may actually reside in one or more caches. FSDEF | +------------------------------------+ | | NFS AFS | | +--------------------------+ +-----------+ | | | | homedir mirror afs.org redhat.com | | | +------------+ +---------------+ +----------+ | | | | | | 00001 00002 00007 00125 vol00001 vol00002 | | | | | +---+---+ +-----+ +---+ +------+------+ +-----+----+ | | | | | | | | | | | | | PG0 PG1 PG2 PG0 XATTR PG0 PG1 DIRENT DIRENT DIRENT R/W R/O Bak | | PG0 +-------+ | | 00001 00003 | +---+---+ | | | PG0 PG1 PG2 In the example above, two netfs's can be seen to be backed: NFS and AFS. These have different index hierarchies: (*) The NFS primary index will probably contain per-server indices. Each server index is indexed by NFS file handles to get data file objects. Each data file objects can have an array of pages, but may also have further child objects, such as extended attributes and directory entries. Extended attribute objects themselves have page-array contents. (*) The AFS primary index contains per-cell indices. Each cell index contains per-logical-volume indices. Each of volume index contains up to three indices for the read-write, read-only and backup mirrors of those volumes. Each of these contains vnode data file objects, each of which contains an array of pages. The very top index is the FS-Cache master index in which individual netfs's have entries. Any index object may reside in more than one cache, provided it only has index children. Any index with non-index object children will be assumed to only reside in one cache. The FS-Cache overview can be found in: Documentation/filesystems/caching/fscache.txt The netfs API to FS-Cache can be found in: Documentation/filesystems/caching/netfs-api.txt Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 266cf658efcf6ac33541a46740f74f50c79d2b6b Author: David Howells Date: Fri Apr 3 16:42:36 2009 +0100 FS-Cache: Recruit a page flags for cache management Recruit a page flag to aid in cache management. The following extra flag is defined: (1) PG_fscache (PG_private_2) The marked page is backed by a local cache and is pinning resources in the cache driver. If PG_fscache is set, then things that checked for PG_private will now also check for that. This includes things like truncation and page invalidation. The function page_has_private() had been added to make the checks for both PG_private and PG_private_2 at the same time. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Rik van Riel Acked-by: Al Viro Tested-by: Daire Byrne commit 03fb3d2af96c2783c3a5bc03f3d984cf422f0e69 Author: David Howells Date: Fri Apr 3 16:42:35 2009 +0100 FS-Cache: Release page->private after failed readahead The attached patch causes read_cache_pages() to release page-private data on a page for which add_to_page_cache() fails. If the filler function fails, then the problematic page is left attached to the pagecache (with appropriate flags set, one presumes) and the remaining to-be-attached pages are invalidated and discarded. This permits pages with caching references associated with them to be cleaned up. The invalidatepage() address space op is called (indirectly) to do the honours. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Rik van Riel Acked-by: Al Viro Tested-by: Daire Byrne commit 8f0aa2f25b31ba27db84259141e52ee6ec0d2820 Author: David Howells Date: Fri Apr 3 16:42:35 2009 +0100 Document the slow work thread pool Document the slow work thread pool. Signed-off-by: David Howells Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 12e22c5e4bc08ab4b05ac079fe40d9891c5e81a0 Author: David Howells Date: Fri Apr 3 16:42:35 2009 +0100 Make the slow work pool configurable Make the slow work pool configurable through /proc/sys/kernel/slow-work. (*) /proc/sys/kernel/slow-work/min-threads The minimum number of threads that should be in the pool as long as it is in use. This may be anywhere between 2 and max-threads. (*) /proc/sys/kernel/slow-work/max-threads The maximum number of threads that should in the pool. This may be anywhere between min-threads and 255 or NR_CPUS * 2, whichever is greater. (*) /proc/sys/kernel/slow-work/vslow-percentage The percentage of active threads in the pool that may be used to execute very slow work items. This may be between 1 and 99. The resultant number is bounded to between 1 and one fewer than the number of active threads. This ensures there is always at least one thread that can process very slow work items, and always at least one thread that won't. Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 109d9272c423f46604d45fedfe87e21ee0b25180 Author: David Howells Date: Fri Apr 3 16:42:35 2009 +0100 Make slow-work thread pool actually dynamic Make the slow-work thread pool actually dynamic in the number of threads it contains. With this patch, it will both create additional threads when it has extra work to do, and cull excess threads that aren't doing anything. Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 07fe7cb7c7c179f473fd9c823348fd3eb5dad369 Author: David Howells Date: Fri Apr 3 16:42:35 2009 +0100 Create a dynamically sized pool of threads for doing very slow work items Create a dynamically sized pool of threads for doing very slow work items, such as invoking mkdir() or rmdir() - things that may take a long time and may sleep, holding mutexes/semaphores and hogging a thread, and are thus unsuitable for workqueues. The number of threads is always at least a settable minimum, but more are started when there's more work to do, up to a limit. Because of the nature of the load, it's not suitable for a 1-thread-per-CPU type pool. A system with one CPU may well want several threads. This is used by FS-Cache to do slow caching operations in the background, such as looking up, creating or deleting cache objects. Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: Steve Dickson Acked-by: Trond Myklebust Acked-by: Al Viro Tested-by: Daire Byrne commit 015640edb1f346e0b2eda703587c4cd1c310ec1d Author: FUJITA Tomonori Date: Fri Apr 3 19:28:06 2009 +0900 [SCSI] sg: fix q->queue_lock on scsi_error_handler path sg_rq_end_io() is called via rq->end_io. In some rare cases, sg_rq_end_io calls blk_put_request/blk_rq_unmap_user (when a program issuing a command has gone before the command completion; e.g. by interrupting a program issuing a command before the command completes). We can't call blk_put_request/blk_rq_unmap_user in interrupt so the commit c96952ed7031e7c576ecf90cf95b8ec099d5295a uses execute_in_process_context(). The problem is that scsi_error_handler() calls rq->end_io too. We can't call blk_put_request/blk_rq_unmap_user too in this path (we hold q->queue_lock). To avoid the above problem, in these rare cases, this patch always uses schedule_work() instead of execute_in_process_context(). Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Cc: Stable Tree Signed-off-by: James Bottomley commit 1beb6fa85ca9afaee109811a3f4a984232a32a4f Author: Harvey Harrison Date: Wed Mar 4 12:06:06 2009 -0800 [SCSI] replace __inline with inline Signed-off-by: Harvey Harrison Acked-by: Jeff Garzik Acked-by: Hannes Reinecke Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 5880f486ef733dae820724a71e3b91241c7921bd Author: Adrian Bunk Date: Wed Mar 4 12:06:07 2009 -0800 [SCSI] a2091: make 2 functions static a2091_{detect,release}() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 9387edbe6045f0bde88f0f0ace51e0ead8a318fe Author: Adrian Bunk Date: Wed Mar 4 12:06:08 2009 -0800 [SCSI] a3000: make 2 functions static a3000_{detect,release}() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit e0aae1a53133f0d7833c8f358a0ccc7055fc5b28 Author: Adrian Bunk Date: Wed Mar 4 12:06:05 2009 -0800 [SCSI] ses: #if 0 the unused ses_match_host() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit ebef264bd90abb8bcafe29e5ba5492da4f7d4492 Author: Wei Yongjun Date: Wed Mar 4 12:06:13 2009 -0800 [SCSI] use kmem_cache_zalloc instead of kmem_cache_alloc/memset Signed-off-by: Wei Yongjun Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 484cad34dd667235565c14a40e2f5a8143184aaa Merge: 95a38f3... 67796bf... Author: Ingo Molnar Date: Fri Apr 3 16:35:09 2009 +0200 Merge branch 'dma-debug' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit 95a38f34635bdf06089de763b4becbc957694977 Author: H. Peter Anvin Date: Wed Apr 1 17:35:00 2009 -0700 x86, setup: compile with -DDISABLE_BRANCH_PROFILING Impact: code size reduction (possibly critical) The x86 boot and decompression code has no use of the branch profiling constructs, so disable them. This would bloat the setup code by as much as 14K, eating up a fairly large chunk of the 32K area we are guaranteed to have. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 0fdf96b67ac2649cc1ddb29b316a0db11586c6a8 Author: FUJITA Tomonori Date: Fri Apr 3 09:12:20 2009 +0900 [SCSI] sg: fix iovec bugs introduced by the block layer conversion - needs to use copy_from_user for iovec before passing it to blk_rq_map_user_iov(). - before the block layer conversion, if ->dxfer_len and sum of iovec disagrees, the shorter one wins. However, currently sg returns -EINVAL. This restores the old behavior. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Cc: stable@kernel.org Signed-off-by: James Bottomley commit f894e74dc1983062d30d4e1b79bdb90b8a847f52 Author: Jaswinder Singh Rajput Date: Fri Apr 3 01:42:50 2009 +0530 [SCSI] qlogicpti: use request_firmware Firmware blob is little endian Thanks to Stephen Rothwell for fixing typos Signed-off-by: Jaswinder Singh Rajput Signed-off-by: James Bottomley commit 989bb5f58c14b87f059755f4bbb4b72408c76d9a Author: Jaswinder Singh Rajput Date: Thu Apr 2 11:28:06 2009 +0530 [SCSI] advansys: use request_firmware Firmware blob looks like this... __le32 checksum unsigned char data[] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: James Bottomley commit 1bfa11db712cbf4af1ae037cd25fd4f781f0c215 Author: Jaswinder Singh Rajput Date: Thu Apr 2 11:13:17 2009 +0530 [SCSI] qla1280: use request_firmware Firmware blob is little endian looks like this... unsigned char Version1 unsigned char Version2 unsigned char Version3 unsigned char Padding unsigned short start_address unsigned short data Signed-off-by: Jaswinder Singh Rajput Signed-off-by: James Bottomley commit fd6e1c14b73dbab89cb76af895d5612e4a8b5522 Author: Jean Delvare Date: Wed Apr 1 13:11:29 2009 -0500 [SCSI] libiscsi: fix iscsi pool error path Le lundi 30 mars 2009, Chris Wright a écrit : > q->queue could be ERR_PTR(-ENOMEM) which will break unwinding > on error. Make iscsi_pool_free more defensive. > Making the freeing of q->queue dependent on q->pool being set looks really weird (although it is correct at the moment. But this seems to be fixable in a much simpler way. With the benefit that only the error case is slowed down. In both cases we have a problem if q->queue contains an error value but it's not -ENOMEM. Apparently this can't happen today, but it doesn't feel right to assume this will always be true. Maybe it's the right time to fix this as well. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5b2639d59afe0a30e1b955b23c52ee9099888058 Author: Mike Christie Date: Wed Apr 1 13:11:28 2009 -0500 [SCSI] cxgb3i: call ddp release function directly cxgb3i_ddp_cleanup just calls ddp_release directly so there is no reason for the wrapper. This patch just renames ddp_release to cxgb3i_ddp_cleanup and removes the old wrapper function. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0d0c27f2e83619083280c4c4f1bc33f2b58132ac Author: Karen Xie Date: Wed Apr 1 13:11:27 2009 -0500 [SCSI] cxgb3i: merge cxgb3i_ddp into cxgb3i module - Merge cxgb3i_ddp.ko to cxgb3i.ko as there is no other users. - Bump the driver version up to 1.0.2. Signed-off-by: Karen Xie Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2a90030fcb827afa16914e57ac587e683280ae4a Author: Karen Xie Date: Wed Apr 1 13:11:26 2009 -0500 [SCSI] cxgb3i: close all tcp connections upon chip reset Keep track of offloaded tcp connections per adapter. Close all of the connections upon reset. Signed-off-by: Karen Xie Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ed6f7744f90a0efc6874f2ab93e4e593741079c9 Author: Mike Christie Date: Wed Apr 1 13:11:25 2009 -0500 [SCSI] cxgb3i: re-read ddp settings information after chip reset Orignally from Karen Xie, but merge conflicts/errors fixed up by Mike Christie. Signed-off-by: Karen Xie Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 9fa1926afbff77da484293bc2b0bfdb6bb2399d3 Author: Karen Xie Date: Wed Apr 1 13:11:24 2009 -0500 [SCSI] cxgb3i: re-initialize ddp settings after chip reset Re-initialize the ddp settings after chip reset. It includes re-initialize the related registers and the ddp map. Signed-off-by: Karen Xie Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 515f1c885af2ba8a9500c8a7aa4ed16bbbfa3ef4 Author: Karen Xie Date: Wed Apr 1 13:11:23 2009 -0500 [SCSI] cxgb3i: subscribe to error notification from cxgb3 driver Add error notification handling function which is called during chip reset. Signed-off-by: Karen Xie Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d8e965076514dcb16410c0d18c6c8de4dcba19fc Author: Leubner, Achim Date: Wed Apr 1 07:16:08 2009 -0700 [SCSI] aacraid driver update changes: - set aac_cache=2 as default value to avoid performance problem (Novell bugzilla #469922) - Dell/PERC controller boot problem fixed (RedHat bugzilla #457552) - WWN flag added to fix SLES10 SP1/SP2 drive detection problems - 64-bit support changes - DECLARE_PCI_DEVICE_TABLE macro added - controller type changes Signed-off-by: Achim Leubner Signed-off-by: James Bottomley commit d58069adc6f59f48bf96a72e6df68a670ff1b3bc Author: Alan Cox Date: Wed Apr 1 15:00:29 2009 +0100 [SCSI] mptsas: remove unneeded check Signed-off-by: Alan Cox Cc: Eric Moore Signed-off-by: James Bottomley commit e7fb6d2ee03aa2c41e6691ac919602f864068f44 Author: Alan Cox Date: Wed Apr 1 15:00:18 2009 +0100 [SCSI] config: Make need for SCSI_CDROM clearer Mention ATAPI. We could insert an essay about libata and ide-scsi etc but the failure case is someone enables it which is just fine so keep it simple. (Revised text from suggestion by Matthew Wilcox) Closes #7736 Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 05b4460bd4f2450021ee2887c801283a95393f03 Author: Ed Lin Date: Tue Mar 31 17:30:41 2009 -0800 [SCSI] stex: update version to 4.6.0000.3 Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 0f3f6ee68f771b61dc6bc5ae7c2e355cfc5884d1 Author: Ed Lin Date: Tue Mar 31 17:30:36 2009 -0800 [SCSI] stex: add new 6G controller support This adds the support of a new SAS 6G controller (st_yel) Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 591a3a5f604c2bee0ba6a614469575918238f4f9 Author: Ed Lin Date: Tue Mar 31 17:30:31 2009 -0800 [SCSI] stex: use config struct for parameters of different controllers Use config struct (st_card_info) for parameters of different controllers Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 99946f8141f65a8bd5034ac5b1a53237aec8743e Author: Ed Lin Date: Tue Mar 31 17:30:25 2009 -0800 [SCSI] stex: add MSI support This adds the MSI support (default 0=off) Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit f14981616205eedb6fe8b24a09ec103ed976e122 Author: Ed Lin Date: Tue Mar 31 17:30:19 2009 -0800 [SCSI] stex: small code fixes and changes These are some small code fixes and changes, including: - use 64 bit when possible - remove some unnecessary code (in interrupt, queuecommand routine etc.) - code change for reset handler Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 97c8389d54b9665c38105ea72a428a44b97ff2f6 Author: Joe Eykholt Date: Tue Mar 17 11:42:40 2009 -0700 [SCSI] fcoe, libfcoe: Add support for FIP. FCoE discovery and keep-alive. FIP is the new standard way to discover Fibre-Channel Forwarders (FCFs) by sending solicitations and listening for advertisements from FCFs. It also provides for keep-alives and period advertisements so that both parties know they have connectivity. If the FCF loses connectivity to the storage fabric, it can send a Link Reset to inform the E_node. This version is also compatible with pre-FIP implementations, so no configured selection between FIP mode and non-FIP mode is required. We wait a couple seconds after sending the initial solicitation and then send an old-style FLOGI. If we receive any FIP frames, we use FIP only mode. If the old FLOGI receives a response, we disable FIP mode. After every reset or link up, this determination is repeated. Signed-off-by: Joe Eykholt Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit af5f428763eefb6547d2bee055b559c903f2a749 Author: Joe Eykholt Date: Tue Mar 17 11:42:35 2009 -0700 [SCSI] fcoe: Add a header file defining the FIP protocol for FCoE. Adds include/scsi/fc/fc_fip.h for FIP protocol definitions. Signed-off-by: Joe Eykholt Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a0a25da2a495a889664dc946942b8666665cd1e1 Author: Vasu Dev Date: Tue Mar 17 11:42:29 2009 -0700 [SCSI] fcoe, libfc: fix double fcoe_softc memory alloc The foce_softc mem was reserved by libfc_host_alloc as well as by fcoe_host_alloc. Removes one liner fcoe_host_alloc completely, instead directly calls libfc_host_alloc to alloc scsi_host with libfc for just one fcoe_softc as fcoe private data. Moves libfc_host_alloc to libfc.h since it is a libfc API, placed lport_priv API adjacent to libfc_host_alloc since this is related to scsi_host priv data. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit fdd78027fd472351783fb6110a72d991c1a07402 Author: Vasu Dev Date: Tue Mar 17 11:42:24 2009 -0700 [SCSI] fcoe: cleans up libfcoe.h and adds fcoe.h for fcoe module Removes no where used several inline functions prefixed with skb_* and be16_to_cpu. Moves fcoe module specific func prototypes to fcoe.c from libfcoe.h, moved only need for build. Adds fcoe module header file fcoe.h and then moves fcoe module specific fcoe_percpu_s and fcoe_softc to fcoe.h from libfcoe.h. Moves all defines from fcoe.c to fcoe.h since now fcoe module has its own header file fcoe.h. [jejb: removed EXPORT_SYMBOL_GPL(fcoe_fc_crc) which caused a section mismatch] Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5e80f7f7c87990ffe7856a0d35a94ea52b8f4c59 Author: Vasu Dev Date: Tue Mar 17 11:42:18 2009 -0700 [SCSI] fcoe: moves common FCoE library API functions to libfcoe module Moves these functions as-is from fcoe.c to libfcoe.c, since they're are common routines: - fcoe_wwn_from_mac - fcoe_libfc_config Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9b34ecffd59d6ed66fdd6906e8a092a33e7c8564 Author: Vasu Dev Date: Tue Mar 17 11:42:13 2009 -0700 [SCSI] fcoe, libfc: add libfcoe module Just sets up build environment for libfcoe module towards a libfcoe library for libfc LLDs using FCoE as libfc transport. Common library code to libfcoe is added in next patch. Also, updated MODULE_LICENSE from "GPL" string to "GPL v2" for libfc, libfcoe and fcoe modules to accurately match the licenses. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a703e490f5e86ddaac4086e56b669fa7316b4a9f Author: Vasu Dev Date: Fri Mar 27 09:07:43 2009 -0700 [SCSI] fcoe: renames libfcoe.c to fcoe.c as the only fcoe module file Renames libfcoe.c to fcoe.c, fcoe.c becomes the only .c file for fcoe.ko. Also deleted "$Id: Makefile" from fcoe module Makefle. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 7f3491429553cbff20367851fb897c449d028393 Author: Vasu Dev Date: Fri Mar 27 09:06:31 2009 -0700 [SCSI] fcoe: removes default sw transport code file fcoe_sw.c Moves only required code from fcoe_sw.c to libfcoe.c towards having just one source file for fcoe module, this gets rid off default sw transport code in a separate fcoe_sw.c file. Very minor renaming along this move, dropped _sw_ or _SW_ use in names and replaced them by _if_ as a auxiliary interface functions. Now some of these funcs can be removed or merged with other func after fcoe transport is gone, but that should be in another patch to keep this patch simple. Now the libfcoe.c file name for fcoe module doesn't go along well, so the libfcoe.c file renaming to fcoe.c as the only single fcoe module file is done in next patch to keep this patch clean and small for review. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 61e17afa89ad042c356e37d6d6f5654cba869036 Author: Vasu Dev Date: Fri Mar 27 09:05:17 2009 -0700 [SCSI] fcoe: removes fc_transport_fcoe.[ch] code files Remove unused fc_transport_fcoe.c and fc_transport_fcoe.h files. Signed-off-by: James Bottomley commit 5919a59503577c2dc6eaa8bfba0f7bde3f9924ba Author: Vasu Dev Date: Fri Mar 27 09:03:29 2009 -0700 [SCSI] fcoe: prep work to completely remove fc_transport_fcoe code The fcoe transport code was added for generic FCoE transport infrastructure to allow additional offload related module loading on demand, this is not required anymore after recently added different offload approach by having offload related func ops in netdev. This patch removes fcoe transport related code use, calls functions directly between existing libfcoe.c and fcoe_sw.c for now, for example fcoe_sw_destroy and fcoe_sw_create calling. The fcoe_sw.c and libfcoe.c code will be further consolidated in later patches and then also the default fcoe sw transport code file fcoe_sw.c will be completely removed. The fcoe transport code files are completely removed in next patch to keep this patch simple for reviewing. [This patch is an update to a previous patch. This update resolves a build error as well as fixes a defect related to not calling fc_release_transport().] Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8976f424d43c80ea32b6e847226e1a8ccdb6e748 Author: Robert Love Date: Tue Mar 17 11:41:46 2009 -0700 [SCSI] fcoe: create/destroy fcoe Rx threads on CPU hotplug events This patch adds support for dynamically created Rx threads upon CPU hotplug events. There were existing synchronization problems that this patch attempts to resolve. The main problem had to do with fcoe_rcv() running in a different context than the hotplug notifications. This opened the possiblity that fcoe_rcv() would target a Rx thread for a skb. However, that thread could become NULL if the CPU was made offline. This patch uses the Rx queue's (a skb_queue) lock to protect the thread it's associated with and we use the 'thread' member of the fcoe_percpu_s to determine if the thread is ready to accept new skbs. The patch also attempts to do a better job of cleaning up, both if hotplug registration fails as well as when the module is removed. Contribution provided by Joe Eykholt to fix incorrect use of __cpuinitdata. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 582b45bc577f78b5bfff3db874594ce2d962b846 Author: Robert Love Date: Tue Mar 31 15:51:50 2009 -0700 [SCSI] fcoe: Use per-CPU kernel function for dev_stats instead of an array Remove the hotplug creation of dev_stats, we allocate for all possible CPUs now when we allocate the lport. v2: Durring the 2.6.30 merge window, before these patches were comitted, 'percpu_ptr' was renamed 'per_cpu_ptr'. This latest update updates this patch for the name change. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5e5e92df49d4dfbef9ba981297c7f76d189376ac Author: Robert Love Date: Tue Mar 17 11:41:35 2009 -0700 [SCSI] fcoe: Use percpu kernel funcs for struct fcoe_percpu_s Convert fcoe_percpu array to use the per-cpu variables that the kernel provides. Use the kernel's functions to access this structure. The cpu member of the fcoe_percpu_s is no longer needed, so this patch removes it too. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 38eccabd1067b93af0fedbf447ab846e7df1ca66 Author: Robert Love Date: Tue Mar 17 11:41:30 2009 -0700 [SCSI] fcoe: Initialize all possilbe skb_queue(s) when module is loaded Currently the skb_queue is initialized every time the associated CPU goes online. This patch has libfcoe initializing the skb_queue for all possible CPUs when the module is loaded. This patch also re-orders some declarations in the fcoe_rcv() function so the structure declarations are grouped before the primitive declarations. Lastly, this patch converts all CPU indicies to use unsigned int since CPU indicies should not be negative. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2df71b1a5bea7955872dbab5cf89183da697d0f9 Author: Boaz Harrosh Date: Tue Mar 31 20:06:44 2009 +0300 [SCSI] osd_uld: Remove creation of osd_scsi class symlink Remove the creation of the symlink from the device to it's class. On modern systems this is already created by a udev rule and would WARN on load. On old systems it is not needed, none of the current osd user-mode tools use this link. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 8c0baccadc86d9f07e663dd255751dd70e461ba3 Author: Boaz Harrosh Date: Tue Mar 31 20:05:29 2009 +0300 [SCSI] libosd: fix blk_put_request called from within request_end_io A fix for a very serious and stupid bug in osd_initiator. It used to call blk_put_request() regardless of if it was from the end_io callback or if called after a sync execution. It should call the unlocked version __blk_put_request() instead. Also fixed is the remove of _abort_unexecuted_bios hack, and use of blk_end_request(,-ERROR,) to deallocate half baked requests. I've audited the code and it should be safe. Reported and Tested-by: Xu Yang Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit a9bddd74630b2a1f2dedc537417c372b2d9edc76 Author: James Bottomley Date: Mon Mar 30 16:55:51 2009 +0000 [SCSI] fix recovered error handling We have a problem with recovered error handling in that any command which goes down as BLOCK_PC but which returns a sense code of RECOVERED ERROR gets completed with -EIO. For actual SG_IO commands, this doesn't matter at all, since the error return code gets dropped in favour of req->errors which contain the SCSI completion code. However, if this command is part of the block system, then it will pay attention to the returned error code. In particularly if a SYNCHRONIZE CACHE from a barrier command completes with RECOVERED ERROR, the resulting -EIO on the barrier causes block to error the request and return it to the filesystem. Fix this by converting the -EIO for recovered error to zero, plus remove the printing of this from sd and sr so the message isn't double printed. Signed-off-by: James Bottomley commit a2f5bfcf711aa72ad5587b533a1909334c2533a4 Author: Hannes Reinecke Date: Wed Mar 25 11:19:37 2009 +0100 [SCSI] aic7xxx: leaves timer running on init failure aic79xx leaves timers inserted when ahd_init() (which inserts two timers at its very end) succeeds but ahd_pci_map_int() fails. In this case ahd->init_level gets incremented to 5 only when that function succeeds, but ahd_free() calls ahd_shutdown() only when ahd->init_level == 5, and ahd_shutdown() is where the timers get removed. Since the freeing of the IRQ is not controlled by ahd->init_level, we should increment init_level prior to calling ahd_pci_map_int(). Reported-by: Jan Beulich Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit c59c61493febac295e71a2c017fc0075620dbc6f Author: Andrew Vasquez Date: Tue Mar 24 09:08:20 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k1. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 79c13a747dbb23815e4ea69d60e51c8df6ad4997 Author: Harish Zunjarrao Date: Tue Mar 24 09:08:19 2009 -0700 [SCSI] qla2xxx: Get FLT address in dword format. FLTDS provides FLT address in the byte address format, convert it to dword address for further use. Signed-off-by: Harish Zunjarrao Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b9b12f73dff15915914f51bbff7620f5dd49b3de Author: Seokmann Ju Date: Tue Mar 24 09:08:18 2009 -0700 [SCSI] qla2xxx: Correct several PCI-EEH issues. In addition to checking for potentially unnecessary iomem readX()/writeX() operations, a pci_channel_io_perm_failure should not trigger a full internal removal. Found during additional testing with pSeries blade systems. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6749ce362d38b47bd4669ccc0cafcc0014bff6e9 Author: Andrew Vasquez Date: Tue Mar 24 09:08:17 2009 -0700 [SCSI] qla2xxx: Don't cache VPD data for newer ISPs. As updates will occur using low-level option-rom manipulation routines. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 24a081386e4236e10e80af4c62d5f6e68feb2081 Author: Andrew Vasquez Date: Tue Mar 24 09:08:16 2009 -0700 [SCSI] qla2xxx: Explicitly set the execution-throttle with recent ISPs. Firmware semantics changed for 24xx and above ISPs in their handling of the specified execution-throttle passed during firmware initialization. The original codes use of a theoretical maximum (0xffff, as carried over from earlier ISPs) could in fact act as a throttle in some circumstances. Now set the value based of the firmware's own 'resource' (exchange IOCBs) capabilities. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d743de66754a662399bd9fe7da7a34e189f71876 Author: Andrew Vasquez Date: Tue Mar 24 09:08:15 2009 -0700 [SCSI] qla2xxx: Reduce request queue-size overhead with recent ISPs. The original code to 'resize request-queues' based on iocb-counts and employed during early ISP23xx testing was too overly-pessimistic with regards to latencies in the firmware pulling requests. Recent ISPs can easily keep up processing a stream of commands from an abbreviated (effectively, half the original size) queue. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3d79038f92841052aced9aec43c9d9aa864d28ab Author: Andrew Vasquez Date: Tue Mar 24 09:08:14 2009 -0700 [SCSI] qla2xxx: Always use an FLT's NVRAM/VPD region information. Rather than assuming a particular layout of the data. Applies to recent ISPs only. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d1b1bef4c9e67aa550e602a6a7f93bbb47dff0b8 Author: Giridhar Malavali Date: Tue Mar 24 09:08:13 2009 -0700 [SCSI] qla2xxx: Drop use of IRQF_DISABLE. When IRQs are shared by multiple controllers and if the first one to register does not disable the IRQ, then IRQ will be enabled for all other controllers by default, irrespective of their setting. With IRQF_DISABLED registration, the driver interrupt routine was called with interrupt enabled always. Disbaling the registration with IRQF_DISABLED, since driver code is re-entrant safe and all critical sections are guarded with interrupt safe locks. Signed-off-by: Giridhar Malavali Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ad0ecd61f4ad3260ca8f7216765ddbb1a10677ea Author: Joe Carnuccio Date: Tue Mar 24 09:08:12 2009 -0700 [SCSI] qla2xxx: Add EDC-update support. Interface allows for the update of onboard EDC firmware present on mezzanine ISP25xx type cards. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fbcbb5d0cf69ba8b59028ec3c5b9f9ff04409b88 Author: Lalit Chandivade Date: Tue Mar 24 09:08:11 2009 -0700 [SCSI] qla2xxx: Export flash-block-size for application support. In handling the RMW semantics needed to update regions not falling on a sector boundary. Signed-off-by: Lalit Chandivade Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ddb9b12632ab28460c281d50963bbe3eeda5984a Author: Shyam Sundar Date: Tue Mar 24 09:08:10 2009 -0700 [SCSI] qla2xxx: Cleanup unused flags and #defines. General cleanup of extraneous/legacy crud. Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d0c3eefae09e4c19d6da1ed2417e02d8377b1eb3 Author: Lalit Chandivade Date: Tue Mar 24 09:08:09 2009 -0700 [SCSI] qla2xxx: Remove implicit ISP-abort after a flash update. For ISP24xx and above the ISP-abort after flash update is not needed, as the only purpose it was serving was to update the boot code and firmware versions in the scsi_qla_host_t structure. Now an update of the versions will be done in the write-vpd path. Signed-off-by: Lalit Chandivade Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6e181be508cf81fda4407b4689befeb7e4149607 Author: Lalit Chandivade Date: Thu Mar 26 08:49:17 2009 -0700 [SCSI] qla2xxx: Add reset capabilities for application support. Signed-off-by: Lalit Chandivade Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2533cf671da0603129c8af9c31c735e1d2654e20 Author: Lalit Chandivade Date: Tue Mar 24 09:08:07 2009 -0700 [SCSI] qla2xxx: Correct ISP abort semantics for NVRAM, VPD, and flash update. Ensure that an ISP-abort has completed before performing any update. After the update do not wait for an ISP-abort completion, instead just wait until the ISP is reset. This avoids long delays due to waiting for loop ready in qla2x00_abort_isp(). Signed-off-by: Lalit Chandivade Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1d2874de809a14e6780246b99a18bbc0fc0a8f2a Author: Joe Carnuccio Date: Tue Mar 24 09:08:06 2009 -0700 [SCSI] qla2xxx: Add Flash-Access-Control support for recent ISPs. Given the low-level interface varies from one flash-part manufacturer to the next, the Flash-Access-Control (FAC) mailbox command makes the specific flash type transparent to the driver by encapsulating a basic set of accessor and update routines. Use these new routines where applicable by querying FAC opcode get-sector-size at init-time. Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b9978769877c6c90c8d6777df13b9ae427af40b7 Author: Andrew Vasquez Date: Tue Mar 24 09:08:05 2009 -0700 [SCSI] qla2xxx: Ensure the timer and DPC routines complete prior to midlayer tear-down. Since the routines can/will use resources such as devices and rports that aren't valid after midlayer tear-down, correct this potential race, by stopping the offending during the early stages of the remove() callback. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e612d46591e2d4fbc35541377d18ab483c211768 Author: Andrew Vasquez Date: Tue Mar 24 09:08:04 2009 -0700 [SCSI] qla2xxx: Correct abort-semantics in qla2x00_abort_all_cmds(). As all commands queued on the physical HBA should be aborted and returned to the upper-layers. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 55a961581fd34632bf724dd144c0dbf740c9fede Author: Andrew Vasquez Date: Tue Mar 24 09:08:03 2009 -0700 [SCSI] qla2xxx: Update MPI/PHY version retrieval codes. Reflects layout and format of latest specification. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit be67e6530b006b10380a5f0c49cdf974426a22e9 Author: Andrew Vasquez Date: Tue Mar 24 09:08:02 2009 -0700 [SCSI] qla2xxx: Preserve an fcport's loop-id after terminate_rport_io(). Since in some circumstances, login-retries may be occuring in the background via the DPC routine. This race, in the inadvertant setting of the loop-id to 'NONE' breaks the existing retry logic. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b64b0e8fd964ce637794d4aaa772db1ae4298ea9 Author: Andrew Vasquez Date: Tue Mar 24 09:08:01 2009 -0700 [SCSI] qla2xxx: Pass in optional extended-initialization control block. Recent ISPs use this data to configure FCF information. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit dda772e8e3b9832d3368f84df3a3b7ec7dfbd9f0 Author: Andrew Vasquez Date: Tue Mar 24 09:08:00 2009 -0700 [SCSI] qla2xxx: Always (re)read firmware version/capabilities information. With recent ISPs loading firmware from flash, a flash-update to the firmware-image region with a follow-on reset will reload the new image. Original caching of data only made sense when firmware was bound with the driver. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6315a5f810d8cf622ac9b28ace565fb2d1add911 Author: Harish Zunjarrao Date: Tue Mar 24 09:07:59 2009 -0700 [SCSI] qla2xxx: Use byte-address while reading FC boot code versions from flash. The pcihdr variable is used to find valid boot code image to get FC boot code versions from flash. The pcihdr variable should be byte aligned. Signed-off-by: Harish Zunjarrao Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7d9dade34b72a0fe12a0ac63259b4810602736fe Author: Giridhar Malavali Date: Tue Mar 24 09:07:58 2009 -0700 [SCSI] qla2xxx: Correct over-allocation of firmware-dump buffer. fce_size should be calculated based on the FCE_SIZE #define. Signed-off-by: Giridhar Malavali Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 94279edece858ce68ed20428a5df995750a3dcff Author: Giridhar Malavali Date: Tue Mar 24 09:07:57 2009 -0700 [SCSI] qla2xxx: Initialize FCE debugfs codes with the proper vha structure. Earlier refactoring codes missed passing the proper vha structure and instead passed the 'hardware-descriptor' ha. Signed-off-by: Giridhar Malavali Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a5326f86ebbb153f62b0027a0f367a41f7edc1f6 Author: Giridhar Malavali Date: Tue Mar 24 09:07:56 2009 -0700 [SCSI] qla2xxx: Consolidate queuecommand implementations. Post refactoring/multi-queue additions essentially eliminated the need for separate ISP24XX+ queuecommand as isp_ops contains a function pointer to the associated 'start_scsi()' operation. Signed-off-by: Giridhar Malavali Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 08029990b25b76b1bc167336358bd21812567f2a Author: Andrew Vasquez Date: Tue Mar 24 09:07:55 2009 -0700 [SCSI] qla2xxx: Refactor request/response-queue register handling. Original code used an overabundance of indirect pointers to function helpers. Instead, the driver can exploit the immutable properties of a queue's ISP-association and ID, which are both known at queue initialization-time. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 534841b3c110b0f149513c7695751879951d3f22 Author: Brian King Date: Fri Mar 20 15:44:40 2009 -0500 [SCSI] ibmvfc: Driver version 1.0.5 Bump driver version to 1.0.5. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 10501e1ce3d97cc84a8e29a3a139f74601b59b0f Author: Brian King Date: Fri Mar 20 15:44:39 2009 -0500 [SCSI] ibmvfc: Improve ADISC timeout handling The ibmvfc driver currently breaks the CRQ and essentially resets the entire virtual FC adapter, killing all outstanding ops to all attached targets, if an ADISC times out during target discover/rediscovery. This patch adds some code to cancel the ADISC if it times out, which prevents a single ADISC timeout from affecting the other devices attached to the fabric. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 9ab3610f9c24e7f303f1b0e6bb88a5f804ab847e Author: Brian King Date: Fri Mar 20 15:44:38 2009 -0500 [SCSI] ibmvfc: Show host maxframe_size Set show_host_maxframe_size so that maxframe_size gets exported in sysfs for the host. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 545ef9a2dc1e5ac0463f3754e239ffcc5aaa92e2 Author: Brian King Date: Fri Mar 20 15:44:37 2009 -0500 [SCSI] ibmvfc: Fixup module parms attributes The ibmvfc driver really does not handle dynamically changing disc_threads. To change this dynamically would cause confusion in the driver regarding the number of event structs allocated. Fix this by simply not allowing disc_threads to be changed at runtime. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 039a08981a49e05f09db969cdd3f38f05a5df46f Author: Brian King Date: Fri Mar 20 15:44:35 2009 -0500 [SCSI] ibmvfc: Fix dropped interrupts This patch fixes a problem of possible dropped interrupts. Currently, the ibmvfc driver has a race condition where after ibmvfc_interrupt gets run, the platform code clears the interrupt. This can result in lost interrupts and, in worst case scenarios, result in command timeouts. Fix this by implementing a tasklet similar to what the ibmvscsi driver does so that interrupt processing is no longer done in the actual interrupt handler, which eliminates the race. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 67796bf7dc54c035fd97f2681a72e5d2bf2a234a Author: Joerg Roedel Date: Thu Apr 2 15:55:55 2009 +0200 x86/dma: unify definition of pci_unmap_addr* and pci_unmap_len macros Impact: unification of pci-dma macros and pci_32.h removal This patch unifies the definition of the pci_unmap_addr*, pci_unmap_len* and DECLARE_PCI_UNMAP* macros. This makes sense because the pci_unmap functions are no longer no-ops anymore when the kernel runs with CONFIG_DMA_API_DEBUG. Without an iommu or DMA_API_DEBUG it is a no-op on 32 bit because the dma mapping path returns a physical address and therefore the dma-api implementation has no internal state which needs to be destroyed with an unmap call. This unification also simplifies the port of x86_64 iommu drivers to 32 bit x86 and let us get rid of pci_32.h. Signed-off-by: Joerg Roedel Acked-by: Stephen Hemminger commit 2121db74ba0fd2259f0e2265511684fadda9ac49 Author: Pekka Enberg Date: Wed Mar 25 11:05:57 2009 +0200 kmemtrace: trace kfree() calls with NULL or zero-length objects Impact: also output kfree(NULL) entries This patch moves the trace_kfree() calls before the ZERO_OR_NULL_PTR check so that we can trace call-sites that call kfree() with NULL many times which might be an indication of a bug. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237971957.30175.18.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit c826e3cd0c931d60d548f2468122da570d145556 Author: Ingo Molnar Date: Mon Mar 23 16:14:13 2009 +0100 kmemtrace: small cleanups Cc: Eduard - Gabriel Munteanu LKML-Reference: <161be9ca8a27b432c4a6ab79f47788c4521652ae.1237813499.git.eduard.munteanu@linux360.ro> Signed-off-by: Ingo Molnar commit 42af9054c0eeed09ec58d13ec8bf52d225ebcfcc Author: Eduard - Gabriel Munteanu Date: Mon Mar 23 15:12:26 2009 +0200 kmemtrace: restore original tracing data binary format, improve ABI When kmemtrace was ported to ftrace, the marker strings were taken as an indication of how the traced data was being exposed to the userspace. However, the actual format had been binary, not text. This restores the original binary format, while also adding an origin CPU field (since ftrace doesn't expose the data per-CPU to userspace), and re-adding the timestamp field. It also drops arch-independent field sizing where it didn't make sense, so pointers won't always be 64 bits wide like they used to. Signed-off-by: Eduard - Gabriel Munteanu LKML-Reference: <161be9ca8a27b432c4a6ab79f47788c4521652ae.1237813499.git.eduard.munteanu@linux360.ro> Signed-off-by: Ingo Molnar commit da2635a9854423b4aa3a5f0e4e6efcc39ac99004 Author: Eduard - Gabriel Munteanu Date: Mon Mar 23 15:12:25 2009 +0200 kmemtrace: kmemtrace_alloc() must fill type_id Impact: fix trace output kmemtrace_alloc() was not filling type_id, which allowed garbage to make it into tracing data. Signed-off-by: Eduard - Gabriel Munteanu LKML-Reference: <284dba2732a144849d5aa82258fe0de2ad8dcb0b.1237813499.git.eduard.munteanu@linux360.ro> Signed-off-by: Ingo Molnar commit ca2b84cb3c4a0d4d2143b46ec072cdff5d1b3b87 Author: Eduard - Gabriel Munteanu Date: Mon Mar 23 15:12:24 2009 +0200 kmemtrace: use tracepoints kmemtrace now uses tracepoints instead of markers. We no longer need to use format specifiers to pass arguments. Signed-off-by: Eduard - Gabriel Munteanu [ folded: Use the new TP_PROTO and TP_ARGS to fix the build. ] [ folded: fix build when CONFIG_KMEMTRACE is disabled. ] [ folded: define tracepoints when CONFIG_TRACEPOINTS is enabled. ] Signed-off-by: Pekka Enberg LKML-Reference: Signed-off-by: Ingo Molnar commit ac44021fccd8f1f2b267b004f23a2e8d7ef05f7b Author: Eduard - Gabriel Munteanu Date: Mon Mar 23 15:12:21 2009 +0200 kmemtrace, rcu: don't include unnecessary headers, allow kmemtrace w/ tracepoints Impact: cleanup linux/percpu.h includes linux/slab.h, which generates circular inclusion dependencies when trying to switch kmemtrace to use tracepoints instead of markers. This patch allows tracing within slab headers' inline functions. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1237898630.25315.83.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit a979241c532f07c201fe94e0a632107268f02578 Author: Ingo Molnar Date: Wed Mar 25 16:42:24 2009 +0100 kmemtrace, rcu: fix rcupreempt.c data structure dependencies Impact: cleanup We want to remove percpu.h from rcupreempt.h, but if we do that the percpu primitives there wont build anymore. Move them to the .c file instead. Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1237898630.25315.83.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 6258c4fb59e77d748f7efc2c137ad420372edd07 Author: Ingo Molnar Date: Wed Mar 25 16:42:24 2009 +0100 kmemtrace, rcu: fix rcu_tree_trace.c data structure dependencies Impact: cleanup We want to remove rcutree internals from the public rcutree.h file for upcoming kmemtrace changes - but kernel/rcutree_trace.c depends on them. Introduce kernel/rcutree.h for internal definitions. (Probably all the other data types from include/linux/rcutree.h could be moved here too - except rcu_data.) Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1237898630.25315.83.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit b1f77b0581b8fd837acb4a973f7d5496cae6efee Author: Ingo Molnar Date: Fri Mar 13 03:20:49 2009 +0100 kmemtrace, rcu: fix linux/rcutree.h and linux/rcuclassic.h dependencies Impact: build fix for all non-x86 architectures We want to remove percpu.h from rcuclassic.h/rcutree.h (for upcoming kmemtrace changes) but that would break the DECLARE_PER_CPU based declarations in these files. Move the quiescent counter management functions to their respective RCU implementation .c files - they were slightly above the inlining limit anyway. Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1237898630.25315.83.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 255d11bc910fd38153156a0c5ebb256657290882 Author: Pekka Enberg Date: Tue Mar 24 11:59:21 2009 +0200 kmemtrace, mm: fix slab.h dependency problem in mm/failslab.c Impact: cleanup mm/failslab.c depends on slab.h without including it: CC mm/failslab.o mm/failslab.c: In function ‘should_failslab’: mm/failslab.c:16: error: ‘__GFP_NOFAIL’ undeclared (first use in this function) mm/failslab.c:16: error: (Each undeclared identifier is reported only once mm/failslab.c:16: error: for each function it appears in.) mm/failslab.c:19: error: ‘__GFP_WAIT’ undeclared (first use in this function) make[1]: *** [mm/failslab.o] Error 1 make: *** [mm] Error 2 It gets included implicitly currently - but this will not be the case with upcoming kmemtrace changes. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237888761.25315.69.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit e65a1b7c390a72fbcefb2639e255fb7f145538d3 Author: Pekka Enberg Date: Tue Mar 24 11:22:01 2009 +0200 kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_unlzma.c Impact: cleanup lib/decompress_unlzma.c depends on slab.h without including it: CC lib/decompress_unlzma.o lib/decompress_unlzma.c: In function ‘rc_free’: lib/decompress_unlzma.c:122: error: implicit declaration of function ‘kfree’ lib/decompress_unlzma.c: In function ‘unlzma’: lib/decompress_unlzma.c:551: error: implicit declaration of function ‘kmalloc’ lib/decompress_unlzma.c:551: warning: assignment makes pointer from integer without a cast make[1]: *** [lib/decompress_unlzma.o] Error 1 make: *** [lib/] Error 2 It gets included implicitly currently - but this will not be the case with upcoming kmemtrace changes. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237886521.25315.58.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit ba56617ef37f2be31f46f9533057e173b778602e Author: Pekka Enberg Date: Tue Mar 24 11:13:52 2009 +0200 kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_bunzip2.c Impact: cleanup lib/decompress_bunzip2.c depends on slab.h without including it: CC lib/decompress_bunzip2.o lib/decompress_bunzip2.c: In function ‘start_bunzip’: lib/decompress_bunzip2.c:636: error: implicit declaration of function ‘kmalloc’ lib/decompress_bunzip2.c:636: warning: assignment makes pointer from integer without a cast lib/decompress_bunzip2.c: In function ‘bunzip2’: lib/decompress_bunzip2.c:682: warning: assignment makes pointer from integer without a cast lib/decompress_bunzip2.c:693: warning: assignment makes pointer from integer without a cast lib/decompress_bunzip2.c:726: error: implicit declaration of function ‘kfree’ make[1]: *** [lib/decompress_bunzip2.o] Error 1 make: *** [lib/] Error 2 It gets included implicitly currently - but this will not be the case with upcoming kmemtrace changes. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237886032.25315.48.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 079effb6933f34b9b1b67b08bd4fd7fb672d16ef Author: Pekka Enberg Date: Tue Mar 24 11:13:50 2009 +0200 kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_inflate.c Impact: fix build lib/decompress_inflate.c depends on slab.h without including it: CC lib/decompress_inflate.o lib/decompress_inflate.c: In function ‘gunzip’: lib/decompress_inflate.c:45: error: implicit declaration of function ‘kmalloc’ lib/decompress_inflate.c:45: warning: assignment makes pointer from integer without a cast lib/decompress_inflate.c:57: warning: assignment makes pointer from integer without a cast lib/decompress_inflate.c:65: warning: assignment makes pointer from integer without a cast lib/decompress_inflate.c:71: warning: assignment makes pointer from integer without a cast lib/decompress_inflate.c:154: error: implicit declaration of function ‘kfree’ make[1]: *** [lib/decompress_inflate.o] Error 1 make: *** [lib/] Error 2 It gets included implicitly currently - but this will not be the case with upcoming kmemtrace changes. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237886030.25315.47.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 23516dc709914845f18fbe379b3524b8156e5c85 Author: Pekka Enberg Date: Tue Mar 24 10:56:39 2009 +0200 kmemtrace, squashfs: fix slab.h dependency problem in squasfs Impact: cleanup fs/squashfs/export.c depends on slab.h without including it: CC fs/squashfs/export.o fs/squashfs/export.c: In function ‘squashfs_read_inode_lookup_table’: fs/squashfs/export.c:133: error: implicit declaration of function ‘kmalloc’ fs/squashfs/export.c:133: warning: assignment makes pointer from integer without a cast fs/squashfs/export.c:143: error: implicit declaration of function ‘kfree’ make[1]: *** [fs/squashfs/export.o] Error 1 make: *** [fs/squashfs/] Error 2 It gets included implicitly currently - but this will not be the case with upcoming kmemtrace changes. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237884999.25315.41.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit c325962b68bbeeddcd4f755f7d34ada4d007b5f8 Author: Pekka Enberg Date: Tue Mar 24 10:43:50 2009 +0200 kmemtrace, befs: fix slab.h dependency problem Impact: cleanup fs/befs/debug.c depends on slab.h without including it. Upcoming changes for kmemtrace would break the build: CC fs/befs/debug.o fs/befs/debug.c: In function ‘befs_error’: fs/befs/debug.c:31: error: implicit declaration of function ‘kmalloc’ fs/befs/debug.c:31: warning: initialization makes pointer from integer without a cast fs/befs/debug.c:42: error: implicit declaration of function ‘kfree’ fs/befs/debug.c: In function ‘befs_warning’: fs/befs/debug.c:49: warning: initialization makes pointer from integer without a cast fs/befs/debug.c: In function ‘befs_debug’: fs/befs/debug.c:73: warning: assignment makes pointer from integer without a cast make[1]: *** [fs/befs/debug.o] Error 1 make: *** [fs/befs/] Error 2 So add the dependency explicitly. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237884230.25315.33.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit aa84442d674ef83e1cbf2bce52a20ecff4ce515e Author: Pekka Enberg Date: Tue Mar 24 10:54:46 2009 +0200 kmemtrace, security: fix linux/key.h header file dependencies Impact: cleanup We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace changes), but this is not possible currently without breaking the build because key.h has an implicit include file dependency on rwsem.h: CC [M] fs/cifs/cifs_spnego.o In file included from include/keys/user-type.h:15, from fs/cifs/cifs_spnego.c:24: include/linux/key.h:128: error: field ‘sem’ has incomplete type make[2]: *** [fs/cifs/cifs_spnego.o] Error 1 make[1]: *** [fs/cifs] Error 2 make: *** [fs] Error 2 Fix it by making the dependency explicit. Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237884886.25315.39.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 21e5445928af0d80f7cf803a77f2b65e9e147890 Author: Ingo Molnar Date: Wed Mar 25 16:29:05 2009 +0100 kmemtrace, fs: fix linux/fdtable.h header file dependencies Impact: cleanup We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace changes), but this is not possible currently without breaking the build because fdtable.h has an implicit include file dependency: it uses __init does not include init.h. This can cause build failures on non-x86 architectures: /home/mingo/tip/include/linux/fdtable.h:66: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'files_defer_init' make[2]: *** [fs/locks.o] Error 1 We got this header included indirectly via rcupdate.h's percpu.h inclusion - but if that is not there the build will break. Fix it. Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1237898630.25315.83.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 76791ab2d5e00c1eef728a8df4347ba133760fb8 Author: Ingo Molnar Date: Wed Mar 25 16:48:35 2009 +0100 kmemtrace, fs: uninline simple_transaction_set() Impact: cleanup We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace changes), but this is not possible currently without breaking the build because fs.h has an implicit include file depedency: it uses PAGE_SIZE but does not include asm/page.h which defines it. This problem gets masked in practice because most fs.h using sites use rcupreempt.h (and other headers) which includes percpu.h which brings in asm/page.h indirectly. We cannot add asm/page.h to asm/fs.h because page.h is not an exported header. Move simple_transaction_set() to the other simple-transaction file helpers in fs/libfs.c. This removes the include file hell and also reduces kernel size a bit. Acked-by: Al Viro Cc: Alexey Dobriyan Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1237898630.25315.83.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 3d544f411f2971eb82f5c52322251eb04494542a Author: Pekka Enberg Date: Tue Mar 24 11:59:23 2009 +0200 kmemtrace, fs, security: move alloc_secdata() and free_secdata() to linux/security.h Impact: cleanup We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace changes), but this is not possible currently without breaking the build because fs.h has implicit include file depedencies: it uses GFP_* types in inlines but does not include gfp.h. In practice most fs.h using .c files get gfp.h included implicitly, via an indirect route: via rcupdate.h inclusion - so this underlying problem gets masked in practice. So we want to solve fs.h's dependency on gfp.h. gfp.h can not be included here directly because it is not exported and it would break the build the following way: /home/mingo/tip/usr/include/linux/bsg.h:11: found __[us]{8,16,32,64} type without #include /home/mingo/tip/usr/include/linux/fs.h:11: included file 'linux/gfp.h' is not exported make[3]: *** [/home/mingo/tip/usr/include/linux/.check] Error 1 make[2]: *** [linux] Error 2 As suggested by Alexey Dobriyan, move alloc_secdata() and free_secdata() to linux/security.h - they belong there. This also cleans fs.h of GFP_* usage. Suggested-by: Alexey Dobriyan Signed-off-by: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1237906803.25315.96.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 9d63287a461c269edb39941744f4ff22223cf349 Author: Uwe Kleine-König Date: Sat Mar 28 00:26:58 2009 +0100 [MTD] [NAND] move gen_nand's probe function to .devinit.text A pointer to plat_nand_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Kay Sievers Cc: Hamish Moffatt Cc: David Brownell Cc: Andrew Morton Cc: Li Zefan Cc: Vitaly Wool Cc: Thomas Gleixner Signed-off-by: David Woodhouse commit f0b1e5892478d5bd683ff01bd95dc7bfc87f8e42 Author: Uwe Kleine-König Date: Sat Mar 28 00:27:03 2009 +0100 [MTD] [MAPS] move sa1100 flash's probe function to .devinit.text A pointer to sa1100_mtd_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Nicolas Pitre Cc: Russell King Cc: Andrew Morton Signed-off-by: David Woodhouse commit 2cf3a11494b15949835ff92a7af15f979ac37bbd Author: Marcin Slusarz Date: Sat Mar 28 18:44:24 2009 +0100 [MTD] fix use after free in register_mtd_blktrans Reported-by: Dan Carpenter Cc: Christoph Hellwig Signed-off-by: Marcin Slusarz Signed-off-by: David Woodhouse commit 65127d28e312bb6b38ce84a7bb71d762ef63ad4c Merge: b8bb767... 8fe74cf... Author: Chris Zankel Date: Fri Apr 3 02:29:05 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into merge commit b8bb76713ec50df2f11efee386e16f93d51e1076 Author: Chris Zankel Date: Thu Apr 2 16:56:49 2009 -0700 xtensa: we don't need to include asm/io.h Remove include statement to include asm/io.h. Signed-off-by: Chris Zankel commit f1933189b89da2b34fc37e6737737c8c9bf01139 Author: Chris Zankel Date: Thu Apr 2 16:58:53 2009 -0700 xtensa: only build platform or variant if they contain a Makefile We only add the platform or variant directory to core-y if it contains a Makefile. Consequently, we can remove the Makefiles for the dc232b and fsf processor variants. Signed-off-by: Chris Zankel commit 06a7476be78c58a5ee0f4b4cc4acf43800087d52 Author: Daniel Glöckner Date: Wed Mar 11 14:15:11 2009 +0100 xtensa: make startup code discardable Move it from .text to .init.text to get rid of it after boot and prevent illegal section references. Signed-off-by: Daniel Glöckner Signed-off-by: Chris Zankel commit fcc8f0f81f249d61cd600bf2b9ca904bdaea0857 Author: Johannes Weiner Date: Wed Mar 4 21:39:12 2009 +0100 xtensa: ccount clocksource Switch to GENERIC_TIME by using the ccount register as a clock source. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 4476c96769ec083c53fbdbd37b538105deb65aa2 Author: Johannes Weiner Date: Wed Mar 4 21:39:12 2009 +0100 xtensa: remove platform rtc hooks platform_get/set_rtc_time() is not implemented by any of the supported xtensa platforms. Remove the facility completely. The initial seconds for xtime come from read_persistent_clock() which returns just 0 in the generic implementation. Platforms that sport a persistent clock can implement this function. This is needed to implement the ccount as a clock source. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 90be8c16950e28aee7cad422272805dcefa06167 Author: Johannes Weiner Date: Wed Mar 4 21:39:12 2009 +0100 xtensa: use generic sched_clock() Current xtensa implementation of sched_clock() is the same as the generic one. Just remove it, the weak symbol in kernel/sched_clock.c will be used instead. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit f82e939fb75ad01da8f0d3024fc678111ddb4ac7 Author: Johannes Weiner Date: Wed Mar 4 16:21:33 2009 +0100 xtensa: platform: s6105 Support for the S6105 IP Camera Reference Design Kit. Signed-off-by: Johannes Weiner Signed-off-by: Oskar Schirmer Signed-off-by: Chris Zankel commit 6770fa020fe3b63915ab082b4e5fd99d2d368c82 Author: Johannes Weiner Date: Wed Mar 4 16:21:32 2009 +0100 xtensa: let platform override KERNELOFFSET The linker script should not assume a fix offset in memory for the kernel, this is platform-specific, so let the platform set it. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 000af2c5a8913ebd763313d0c9ebc66c2c4765b1 Author: Johannes Weiner Date: Wed Mar 4 16:21:32 2009 +0100 xtensa: s6000 variant Support for the Stretch S6000 Xtensa core variant. Signed-off-by: Johannes Weiner Signed-off-by: Oskar Schirmer Signed-off-by: Chris Zankel commit eff35af9c0c83a24376a67ff88c65679c25c7a51 Author: Johannes Weiner Date: Wed Mar 4 16:21:32 2009 +0100 xtensa: s6000 variant core definitions S6000 core configuration files from Tensilica. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 4c0d214144bcedc0b3582c88d6313055949755b5 Author: Johannes Weiner Date: Wed Mar 4 16:21:31 2009 +0100 xtensa: variant irq set callbacks Allow the core variant code to provide irq enable/disable callbacks. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 72197b18bc0e86feba7cc9f907551e30948bd526 Author: Johannes Weiner Date: Wed Mar 4 16:21:31 2009 +0100 xtensa: variant-specific code Allow the variant to provide real code. Add empty dummy Makefiles for the existing variants. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit e5083a63b6a8546c5fe1e571fe529e3939787ec2 Author: Johannes Weiner Date: Wed Mar 4 16:21:31 2009 +0100 xtensa: nommu support Add support for !CONFIG_MMU setups. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 7789f89af9e8e426d7a7f173cf465a4fcadba7dd Author: Oskar Schirmer Date: Wed Mar 4 16:21:30 2009 +0100 xtensa: add flat support Add the arch-specific header for flat support on xtensa in preparation for the Xtensa S6000 nommu port. Signed-off-by: Oskar Schirmer Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit a81cbd2da48eacc860acf4f40ea05db790f4c7c3 Author: Oskar Schirmer Date: Wed Mar 4 16:21:30 2009 +0100 xtensa: enforce slab alignment to maximum register width XCHAL_DATA_WIDTH is the maximum register width, slab caches should be aligned to this. Theoretical fix as all variants have had an XCHAL_DATA_WIDTH of 4 (wordsize) for now. But the S6000 variant will raise this to 16. Signed-off-by: Oskar Schirmer Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit c947a585ab13f310c9223284dfd502790abd05f9 Author: Johannes Weiner Date: Wed Mar 4 16:21:30 2009 +0100 xtensa: cope with ram beginning at higher addresses The current assumption of the memory code is that the first RAM PFN in the system is 0. Adjust the relevant code to play well with setups where memory starts at higher addresses, indicated by PLATFORM_DEFAULT_MEM_START. The new memory model looks like this: +----------+--+----------------------+----------------+ | | | | | | | | RAM | | | | | | | +----------+--+----------------------+----------------+ | | | | | +- PFN 0 | +- min_low_pfn +- max_low_pfn +- max_pfn | +- ARCH_PFN_OFFSET +- PLATFORM_DEFAULT_MEM_START >> PAGE_SIZE The memory map contains pages starting from pfn ARCH_PFN_OFFSET up to max_low_pfn. The only zone used right now will span exactly the same region. Usually, ARCH_PFN_OFFSET and min_low_pfn are the same value. Handle them separately for robustness. Gapping pages will be in the memory map but marked as reserved and won't be touched. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 264da9f708b130122d881fa4570d1cd618440a73 Author: Johannes Weiner Date: Wed Mar 4 16:21:29 2009 +0100 xtensa: don't make bootmem bitmap larger than required If min_low_pfn is non-zero, the bitmap reserved for bootmem is bigger than needed. The number of pages bootmem has to maintain is the range from min_low_pfn to max_low_pfn. For now it has only been a theoretical mistake, min_low_pfn was always zero. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 0bef42e5c061b4aa63cc488d11400a1ef8b8f5a2 Author: Johannes Weiner Date: Wed Mar 4 16:21:29 2009 +0100 xtensa: fix init_bootmem_node() argument order The second argument to init_bootmem_node() is the PFN to place the bootmem bitmap at and the third argument is the first PFN on the node. This is currently backwards but never made any problems as both values were always zero. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 28a0ce7f642f503dde866f763e8144a517fdf74a Author: Johannes Weiner Date: Wed Mar 4 16:21:29 2009 +0100 xtensa: use correct stack pointer for stack traces Right now, the xtensa stacktrace code reads the _current_ kernel stack pointer if nothing is supplied. With debugging facilities like sysrq this means that the backtrace of the sysrq-handler is printed instead of a trace of the given task's stack. When no stack pointer is specified in show_trace() and show_stack(), use the stack pointer that comes with the handed in task descriptor to make stack traces more useful. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 35f9cd083b350ad4eb3b5f159c7738fa9ddff40a Author: Johannes Weiner Date: Wed Mar 4 16:21:28 2009 +0100 xtensa: beat Kconfig into shape Instead of making support code depend on variants or platforms, the latter should select what they need explicitely. Otherwise this starts looking weird when support code depends on !XTENSA_PLATFORM_FOO && !XTENSA_PLATFORM_BAR etc. This also includes some minor fixlets like converting bool and default to def_bool and fixing indentation and whitespace errors. Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit 4f682fbb27deb308ca6a1e24ec9c2be41e6d1026 Author: Johannes Weiner Date: Wed Mar 4 16:21:28 2009 +0100 xtensa: remove redefinition of XCHAL_MMU_ASID_BITS This constant is defined in all core headers. Remove the redundant definition which might error out if other includes lead to inclusion of . Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit e7c8f5079ed9ec9e6eb1abe3defc5fb4ebfdf1cb Author: Theodore Ts'o Date: Fri Apr 3 01:34:49 2009 -0400 ext3: Add replace-on-rename hueristics for data=writeback mode In data=writeback mode, start an asynchronous flush when renaming a file on top of an already-existing file. This lowers the probability of data loss in the case of applications that attempt to replace a file via using rename(). Signed-off-by: "Theodore Ts'o" commit f7ab34ea723ed304b19698efca85d6f40cecd99b Author: Theodore Ts'o Date: Fri Apr 3 01:34:35 2009 -0400 ext3: Add replace-on-truncate hueristics for data=writeback mode In data=writeback mode, start an asynchronous flush when closing a file which had been previously truncated down to zero. This lowers the probability of data loss in the case of applications that attempt to replace a file using truncate. Signed-off-by: "Theodore Ts'o" commit 8fe74cf053de7ad2124a894996f84fa890a81093 Merge: c2eb2fa... ced117c... Author: Linus Torvalds Date: Thu Apr 2 21:09:10 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: Remove two unneeded exports and make two symbols static in fs/mpage.c Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225 Trim includes of fdtable.h Don't crap into descriptor table in binfmt_som Trim includes in binfmt_elf Don't mess with descriptor table in load_elf_binary() Get rid of indirect include of fs_struct.h New helper - current_umask() check_unsafe_exec() doesn't care about signal handlers sharing New locking/refcounting for fs_struct Take fs_struct handling to new file (fs/fs_struct.c) Get rid of bumping fs_struct refcount in pivot_root(2) Kill unsharing fs_struct in __set_personality() commit c2eb2fa6d2b6fe122d3479ec5b28d978418b2698 Merge: ef8a97bb... 029a2ed... Author: Linus Torvalds Date: Thu Apr 2 21:06:42 2009 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (21 commits) drm/radeon: load the right microcode on rs780 drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config drm: fix EDID backward compat check drm: sync the mode validation for INTERLACE/DBLSCAN drm: fix typo in edid vendor parsing. DRM: drm_crtc_helper.h doesn't actually need i2c.h drm: fix missing inline function on 32-bit powerpc. drm: Use pgprot_writecombine in GEM GTT mapping to get the right bits for !PAT. drm/i915: Add a spinlock to protect the active_list drm/i915: Fix SDVO TV support drm/i915: Fix SDVO CREATE_PREFERRED_INPUT_TIMING command drm/i915: Fix error in SDVO DTD and modeline convert drm/i915: Fix SDVO command debug function drm/i915: fix TV mode setting in property change drm/i915: only set TV mode when any property changed drm/i915: clean up udelay usage drm/i915: add VGA hotplug support for 945+ drm/i915: correctly set IGD device's gtt size for KMS. drm/i915: avoid hanging on to a stale pointer to raw_edid. drm/i915: check for -EINVAL from vm_insert_pfn ... commit ef8a97bbc92ec07e3a07a81cc011dc549f8c7a23 Merge: 4f032ac... 6c8ad3b... Author: Linus Torvalds Date: Thu Apr 2 21:05:30 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (54 commits) glge: remove unused #include dnet: remove unused #include tcp: miscounts due to tcp_fragment pcount reset tcp: add helper for counter tweaking due mid-wq change hso: fix for the 'invalid frame length' messages hso: fix for crash when unplugging the device fsl_pq_mdio: Fix compile failure fsl_pq_mdio: Revive UCC MDIO support ucc_geth: Pass proper device to DMA routines, otherwise oops happens i.MX31: Fixing cs89x0 network building to i.MX31ADS tc35815: Fix build error if NAPI enabled hso: add Vendor/Product ID's for new devices ucc_geth: Remove unused header gianfar: Remove unused header kaweth: Fix locking to be SMP-safe net: allow multiple dev per napi with GRO r8169: reset IntrStatus after chip reset ixgbe: Fix potential memory leak/driver panic issue while setting up Tx & Rx ring parameters ixgbe: fix ethtool -A|a behavior ixgbe: Patch to fix driver panic while freeing up tx & rx resources ... commit ae7d51517bc3b0fe10c6af38234ef0f92bbae6a4 Author: Len Brown Date: Thu Apr 2 22:49:43 2009 -0400 ACPI: simplify processor lines in Makefile Suggested-by: Sam Ravnborg Signed-off-by: Len Brown commit 4f032ac4122a77dbabf7a24b2739b2790448180f Author: Jack Steiner Date: Thu Apr 2 16:59:48 2009 -0700 cpumask: fix slab corruption caused by alloc_cpumask_var_node() Fix slab corruption caused by alloc_cpumask_var_node() overwriting the tail end of an off-stack cpumask. The function zeros out cpumask bits beyond the last possible cpu. The starting point for zeroing should be the beginning of the mask offset by a byte count derived from the number of possible cpus. The offset was calculated in bits instead of bytes. This resulted in overwriting the end of the cpumask. Signed-off-by: Jack Steiner Acked-by: Mike Travis Acked-by: Ingo Molnar Cc: Rusty Russell Cc: Stephen Rothwell Cc: [2.6.29.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d09cde985702503970d7cc18d762fae17e1cf88 Author: Robin Holt Date: Thu Apr 2 16:59:47 2009 -0700 ia64: implement interrupt-enabling rwlocks Implement __raw_read_lock_flags and __raw_write_lock_flags for the ia64 architecture. [kosaki.motohiro@jp.fujitsu.com: typo fix] Signed-off-by: Petr Tesarik Signed-off-by: Robin Holt Cc: Cc: Ingo Molnar Cc: Peter Zijlstra Acked-by: Tony Luck Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f7eac41db827a47b2163330eecd7bb55ae9f12 Author: Robin Holt Date: Thu Apr 2 16:59:46 2009 -0700 Allow rwlocks to re-enable interrupts Pass the original flags to rwlock arch-code, so that it can re-enable interrupts if implemented for that architecture. Initially, make __raw_read_lock_flags and __raw_write_lock_flags stubs which just do the same thing as non-flags variants. Signed-off-by: Petr Tesarik Signed-off-by: Robin Holt Acked-by: Peter Zijlstra Cc: Acked-by: Ingo Molnar Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8c158bb313c1df421eab7dc4299cd39cbbf5895 Author: Robin Holt Date: Thu Apr 2 16:59:45 2009 -0700 Factor out #ifdefs from kernel/spinlock.c to LOCK_CONTENDED_FLAGS SGI has observed that on large systems, interrupts are not serviced for a long period of time when waiting for a rwlock. The following patch series re-enables irqs while waiting for the lock, resembling the code which is already there for spinlocks. I only made the ia64 version, because the patch adds some overhead to the fast path. I assume there is currently no demand to have this for other architectures, because the systems are not so large. Of course, the possibility to implement raw_{read|write}_lock_flags for any architecture is still there. This patch: The new macro LOCK_CONTENDED_FLAGS expands to the correct implementation depending on the config options, so that IRQ's are re-enabled when possible, but they remain disabled if CONFIG_LOCKDEP is set. Signed-off-by: Petr Tesarik Signed-off-by: Robin Holt Cc: Cc: Ingo Molnar Cc: Peter Zijlstra Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41d577aa35aa0504fe28b76a948908bdb7fbec81 Author: Coly Li Date: Thu Apr 2 16:59:44 2009 -0700 fs/ufs: return f_fsid for statfs(2) Make ufs return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c5b45411f93b44a6f3dde3328f88f11bca1bca5 Author: Coly Li Date: Thu Apr 2 16:59:43 2009 -0700 fs/sysv: return f_fsid for statfs(2) Make sysv file system return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fc7f562b439a361c62b9d8a67733a164fb6136f Author: Coly Li Date: Thu Apr 2 16:59:42 2009 -0700 fs/squashfs: return f_fsid for statfs(2) Make squashfs return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Phillip Lougher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 651d0623045d3265a21ab9803b3a1e0f24a17461 Author: Coly Li Date: Thu Apr 2 16:59:41 2009 -0700 fs/reiserfs: return f_fsid for statfs(2) Make reiserfs3 return f_fsid info for statfs(2). By Andreas' suggestion, this patch populates a persistent f_fsid between boots/mounts with help of on-disk uuid record. Randy Dunlap reported a compiling error from v2 patch like: fs/built-in.o: In function `reiserfs_statfs': super.c:(.text+0x7332b): undefined reference to `crc32_le' super.c:(.text+0x7333f): undefined reference to `crc32_le' Also he provided helpful solution to fix this error. The modification of v3 patch is based on Randy's suggestion, add 'select CRC32' in fs/reiserfs/Kconfig. Signed-off-by: Coly Li Cc: Randy Dunlap Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b76dc066a4deb937665521566f89aead756f049 Author: Coly Li Date: Thu Apr 2 16:59:40 2009 -0700 fs/qnx4: return f_fsid for statfs(2) Make qnx4 file system return f_fsid info for statfs(2). Signed-off-by: Coly Li Acked-by: Anders Larsen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 197e671ee1d674b194b943467364fdfbefe7ce5a Author: Coly Li Date: Thu Apr 2 16:59:39 2009 -0700 fs/omfs: return f_fsid for statfs(2) Make omfs return f_fsid info for statfs(2). Signed-off-by: Coly Li Acked-by: Bob Copeland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054475d2af2640a6d6cb83b528512c7b49eef9ca Author: Coly Li Date: Thu Apr 2 16:59:39 2009 -0700 fs/minix: return f_fsid for statfs(2) Make minix file system return f_fsid info for statfs(2). Signed-off-by: Coly Li Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2430c4daf9e6cc6b144906a41f7f28c3f6ae5a2c Author: Coly Li Date: Thu Apr 2 16:59:38 2009 -0700 fs/isofs: return f_fsid for statfs(2) Make isofs return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 604d295c26f2229636c7fa4eba33af017c3b70e3 Author: Coly Li Date: Thu Apr 2 16:59:37 2009 -0700 fs/hpfs: return f_fsid for statfs(2) Make hpfs return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Mikulas Patocka Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25564dd869d8615e80b70b37de7545bd21de3c7c Author: Coly Li Date: Thu Apr 2 16:59:36 2009 -0700 fs/hfsplus: return f_fsid for statfs(2) Make hfsplus return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dd2c000ff50c758c7abfa95f57c854e3aeba5e6 Author: Coly Li Date: Thu Apr 2 16:59:35 2009 -0700 fs/hfs: return f_fsid for statfs(2) Make hfs return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aac49b7543c816a6e2c1581c5b5002e6a0cef3d1 Author: Coly Li Date: Thu Apr 2 16:59:35 2009 -0700 fs/fat: return f_fsid for statfs(2) Make fat return f_fsid info for statfs(2). Signed-off-by: Coly Li Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 514c91a9cca12b19ed80ac6728278aff9bbf65f0 Author: Coly Li Date: Thu Apr 2 16:59:34 2009 -0700 fs/efs: return f_fsid for statfs(2) Make efs return f_fsid info for statfs(2), and do a little variable renaming in efs_statfs(). Signed-off-by: Coly Li Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94ea77ac696d76522ad32a51e84a969f83284eda Author: Coly Li Date: Thu Apr 2 16:59:33 2009 -0700 fs/cramfs: return f_fsid for statfs(2) Make cramfs return f_fsid info for statfs(2). Signed-off-by: Coly Li Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8587246a004d6ac10aa12c10e3474cfd9dafa44a Author: Coly Li Date: Thu Apr 2 16:59:32 2009 -0700 fs/befs: return f_fsid for statfs(2) Make befs return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Sergey S. Kostyliov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6a2a73c4dc6babba2cfa366305cb936fc469640 Author: Coly Li Date: Thu Apr 2 16:59:32 2009 -0700 fs/affs: return f_fsid for statfs(2) Make affs return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit accb40122040374e97fdf4bb81bdc9316b52c756 Author: Coly Li Date: Thu Apr 2 16:59:27 2009 -0700 fs/adfs: return f_fsid for statfs(2) Currently many file systems in Linux kernel do not return f_fsid in statfs info, the value is set as 0 in vfs layer. Anyway, in some conditions, f_fsid from statfs(2) is useful, especially being used as (f_fsid, ino) pair to uniquely identify a file. Basic idea of the patches is generating a unique fs ID by huge_encode_dev(sb->s_bdev->bd_dev) during file system mounting life time (no endian consistent issue). sb is a point of struct super_block of current mounted file system being accessed by statfs(2). This patch: Make adfs return f_fsid info for statfs(2), and do a little variable renaming in adfs_statfs(). Signed-off-by: Coly Li Cc: Roman Zippel Cc: "Sergey S. Kostyliov" Cc: OGAWA Hirofumi Cc: Mikulas Patocka Cc: Dave Kleikamp Cc: Bob Copeland Cc: Anders Larsen Cc: Phillip Lougher Cc: Christoph Hellwig Cc: Evgeniy Dushistov Cc: Jan Kara Cc: Andreas Dilger Cc: Jamie Lokier Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10c7db279218eda4b19d29ee17db8a815b18d564 Author: Gerd Hoffmann Date: Thu Apr 2 16:59:25 2009 -0700 preadv/pwritev: switch compat readv/preadv/writev/pwritev from fget to fget_light Signed-off-by: Gerd Hoffmann Cc: Arnd Bergmann Cc: Al Viro Cc: Cc: Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddd9e91b71072b8ebe89311c3a44b077defa1756 Author: Ralf Baechle Date: Thu Apr 2 16:59:24 2009 -0700 preadv/pwritev: MIPS: Add preadv(2) and pwritev(2) syscalls. Signed-off-by: Ralf Baechle Signed-off-by: Gerd Hoffmann Cc: Arnd Bergmann Cc: Al Viro Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3554f4bc69803ac2baaf7cf2aa4339e1f4b693e Author: Gerd Hoffmann Date: Thu Apr 2 16:59:23 2009 -0700 preadv/pwritev: Add preadv and pwritev system calls. This patch adds preadv and pwritev system calls. These syscalls are a pretty straightforward combination of pread and readv (same for write). They are quite useful for doing vectored I/O in threaded applications. Using lseek+readv instead opens race windows you'll have to plug with locking. Other systems have such system calls too, for example NetBSD, check here: http://www.daemon-systems.org/man/preadv.2.html The application-visible interface provided by glibc should look like this to be compatible to the existing implementations in the *BSD family: ssize_t preadv(int d, const struct iovec *iov, int iovcnt, off_t offset); ssize_t pwritev(int d, const struct iovec *iov, int iovcnt, off_t offset); This prototype has one problem though: On 32bit archs is the (64bit) offset argument unaligned, which the syscall ABI of several archs doesn't allow to do. At least s390 needs a wrapper in glibc to handle this. As we'll need a wrappers in glibc anyway I've decided to push problem to glibc entriely and use a syscall prototype which works without arch-specific wrappers inside the kernel: The offset argument is explicitly splitted into two 32bit values. The patch sports the actual system call implementation and the windup in the x86 system call tables. Other archs follow as separate patches. Signed-off-by: Gerd Hoffmann Cc: Arnd Bergmann Cc: Al Viro Cc: Cc: Cc: Ralf Baechle Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6949a6318e60aeb9c755679ac7f978aefe8c1722 Author: Gerd Hoffmann Date: Thu Apr 2 16:59:21 2009 -0700 preadv/pwritev: create compat_writev() Factor out some code from compat_sys_writev() which can be shared with the upcoming compat_sys_pwritev(). Signed-off-by: Gerd Hoffmann Cc: Arnd Bergmann Cc: Al Viro Cc: Cc: Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dac1213842f5caf081804a11d87d2a39a21d6f55 Author: Gerd Hoffmann Date: Thu Apr 2 16:59:20 2009 -0700 preadv/pwritev: create compat_readv() This patch series: Implement the preadv() and pwritev() syscalls. *BSD has this syscall for quite some time. Test code: #if 0 set -x gcc -Wall -O2 -o preadv $0 exit 0 #endif /* * preadv demo / test * * (c) 2008 Gerd Hoffmann * * build with "sh $thisfile" */ #include #include #include #include #include #include /* ----------------------------------------------------------------- */ /* syscall windup */ #include #if 0 /* WARNING: Be sure you know what you are doing if you enable this. * linux syscall code isn't upstream yet, syscall numbers are subject * to change */ # ifndef __NR_preadv # ifdef __i386__ # define __NR_preadv 333 # define __NR_pwritev 334 # endif # ifdef __x86_64__ # define __NR_preadv 295 # define __NR_pwritev 296 # endif # endif #endif #ifndef __NR_preadv # error preadv/pwritev syscall numbers are unknown #endif static ssize_t preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset) { uint32_t pos_high = (offset >> 32) & 0xffffffff; uint32_t pos_low = offset & 0xffffffff; return syscall(__NR_preadv, fd, iov, iovcnt, pos_high, pos_low); } static ssize_t pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset) { uint32_t pos_high = (offset >> 32) & 0xffffffff; uint32_t pos_low = offset & 0xffffffff; return syscall(__NR_pwritev, fd, iov, iovcnt, pos_high, pos_low); } /* ----------------------------------------------------------------- */ /* demo/test app */ static char filename[] = "/tmp/preadv-XXXXXX"; static char outbuf[11] = "0123456789"; static char inbuf[11] = "----------"; static struct iovec ovec[2] = {{ .iov_base = outbuf + 5, .iov_len = 5, },{ .iov_base = outbuf + 0, .iov_len = 5, }}; static struct iovec ivec[3] = {{ .iov_base = inbuf + 6, .iov_len = 2, },{ .iov_base = inbuf + 4, .iov_len = 2, },{ .iov_base = inbuf + 2, .iov_len = 2, }}; void cleanup(void) { unlink(filename); } int main(int argc, char **argv) { int fd, rc; fd = mkstemp(filename); if (-1 == fd) { perror("mkstemp"); exit(1); } atexit(cleanup); /* write to file: "56789-01234" */ rc = pwritev(fd, ovec, 2, 0); if (rc < 0) { perror("pwritev"); exit(1); } /* read from file: "78-90-12" */ rc = preadv(fd, ivec, 3, 2); if (rc < 0) { perror("preadv"); exit(1); } printf("result : %s\n", inbuf); printf("expected: %s\n", "--129078--"); exit(0); } This patch: Factor out some code from compat_sys_readv() which can be shared with the upcoming compat_sys_preadv(). Signed-off-by: Gerd Hoffmann Cc: Arnd Bergmann Cc: Al Viro Cc: Cc: Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98310e581e098514867573031b2bfa4ba89c0d93 Author: David VomLehn Date: Thu Apr 2 16:59:15 2009 -0700 cramfs: propagate uncompression errors Decompression errors can arise due to corruption of compressed blocks on flash or in memory. This patch propagates errors detected during decompression back to the block layer. Signed-off-by: David VomLehn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e873ec71d091f52510f6aa9bc71d4732438522a Author: Robin Holt Date: Thu Apr 2 16:59:14 2009 -0700 xpc_sn2: fix max() warning about pointers of different types Fix a minor compile warning when building on ia64. drivers/misc/sgi-xp/xpc_sn2.c: In function `xpc_clear_remote_msgqueue_flags_sn2': drivers/misc/sgi-xp/xpc_sn2.c:1746: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Robin Holt Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bc4faa59b0e6aa5ede2d5d8fa74b6e051b31dca Author: Robin Holt Date: Thu Apr 2 16:59:13 2009 -0700 sgi-gru: remove SGI_GRU as a valid config option for ia64 configs with SGI_UV Some current configs turn on GRU for ia64. The GRU code does not correctly load on boot on ia64 (GRU does continue to work for x86-64), so changing the IA64 Kconfig to not select GRU on ia64 configs for now until we have time to fix. Signed-off-by: Robin Holt Acked-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b8274e93fbabc7534aa51f95551c30aecdd0066 Author: Jack Steiner Date: Thu Apr 2 16:59:12 2009 -0700 sgi-gru: support multiple pagesizes in GRU Add multiple pagesize support to the GRU driver. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27ca8a7b2bdfb3e22e67fbd5df58e6b6f0bbcd48 Author: Jack Steiner Date: Thu Apr 2 16:59:11 2009 -0700 sgi-gru: fix bugs related to module unload of the GRU driver Fix bugs related to module unload of the GRU driver. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1c3219d06447dab8a87b96df1211d158e21071e Author: Jack Steiner Date: Thu Apr 2 16:59:10 2009 -0700 sgi-gru: macro for scanning all gru chiplets Add macro for scanning all active GRU chiplets. Maximum chiplet id is saved during GRU initialization. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f2584f47474d29ce829604bfc8b56c10b352fdb Author: Jack Steiner Date: Thu Apr 2 16:59:10 2009 -0700 sgi-gru: add support to the GRU driver for message queue interrupts Add support to the GRU driver for message queue interrupts. Signed-off-by: Jack Steiner Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecdaf2b55251f718a1fbaf4a3f72bfd6e25c582c Author: Jack Steiner Date: Thu Apr 2 16:59:09 2009 -0700 sgi-gru: restructure the GRU vtop functions Restructure the GRU vtop functions in preparation for future changes. This patch simply moves code around & does not change the algorithm. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 874194123718e625aa96632bac457d686ba1378e Author: Jack Steiner Date: Thu Apr 2 16:59:08 2009 -0700 sgi-gru: aSID (context management) bug fixes This patch fixes bugs related to ASID (context id) management in the GRU driver. These changes are all internal to the SGI GRU driver and have no effect on the base kernel. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb04aa78ec1393295c30edad154e6f6e906955f3 Author: Jack Steiner Date: Thu Apr 2 16:59:07 2009 -0700 sgi-gru: add support for a user to explicitly unload a GRU context Add support for a user to explicitly unload a GRU context. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e56484da3aa550dace96cbf1202446231471d7e1 Author: Jack Steiner Date: Thu Apr 2 16:59:06 2009 -0700 sgi-gru: add statistics to the GRU context management functions Add statistics to the GRU context management functions. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a24e5e1caf4875bbe09f328b5f4daef6d25ebcc4 Author: Jack Steiner Date: Thu Apr 2 16:59:06 2009 -0700 sgi-gru: change GRU CCH commands from inline functions to outofline functions Change the GRU instructions that manage contexts from inline functions to out-of-line functions. This simplifies adding statistics & error checking to these functions. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 438846043af39fef286f68b197d42bd75f49898e Author: Jack Steiner Date: Thu Apr 2 16:59:05 2009 -0700 sgi-gru: improvements to GRU debug messages & statistics Improvements to GRU debug messages & statistics. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe5bb6b00c3a9374841d651e01694fe4190a677e Author: Jack Steiner Date: Thu Apr 2 16:59:04 2009 -0700 sgi-gru: misc GRU cleanup Misc trivial GRU drivers fixes: - fix long lines - eliminate extra whitespace - eliminate compiler warning - better validation of invalidate user parameters - bug fix for GRU TLB flush (not the cpu TLB flush) These changes are all internal to the SGI GRU driver and have no effect on the base kernel. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66666e50fcd69d80117d7d243ce02e1f774cbaf5 Author: Jack Steiner Date: Thu Apr 2 16:59:03 2009 -0700 sgi-gru: add macros for using the UV hub to send interrupts Add macros for using the UV hub to send interrupts. Change the IPI code to use these macros. These macros will also be used in additional patches that will follow. Signed-off-by: Jack Steiner Cc: "Luck, Tony" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7296700edc8a0ff49126a4af0bfca6d546c470a Author: Jack Steiner Date: Thu Apr 2 16:59:02 2009 -0700 sgi-gru: add definitions of ia64 GRU MMRs Add definitions for IA64 GRU MMRs. Signed-off-by: Jack Steiner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4c3155719c2a68b6293bc69ce3521018550dd40 Author: Jack Steiner Date: Thu Apr 2 16:59:01 2009 -0700 sgi-gru: add definitions of x86_64 GRU MMRs Add definitions for x86_64 GRU MMRs. Signed-off-by: Jack Steiner Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc5d9940e8b07c7df13b60af2dd66ffbeb40e845 Author: Jack Steiner Date: Thu Apr 2 16:59:00 2009 -0700 sgi-gru: exclude UV definitions on 32-bit x86 Eliminate compile errors on 32-bit X86 caused by UV. Signed-off-by: Jack Steiner Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c53d9109f077900e140edb8b766132ad93b81cc Author: Aravind Srinivasan Date: Thu Apr 2 16:58:59 2009 -0700 relay: fix for possible loss/corruption of produced subbufs Fix possible loss/corruption of produced subbufs in relay_subbufs_consumed(). When buf->subbufs_produced wraps around after UINT_MAX and buf->subbufs_consumed is still < UINT_MAX, the condition if (buf->subbufs_consumed > buf->subbufs_produced) will be true even for certain valid values of subbufs_consumed. This may lead to loss or corruption of produced subbufs. Signed-off-by: Aravind Srinivasan Cc: Tom Zanussi Cc: Tom Zanussi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edb79a213223488735fae1d408f4c136e9ed25d6 Author: Dmitri Vorobiev Date: Thu Apr 2 16:58:58 2009 -0700 kexec: vmcoreinfo_data[] can become static The vmcoreinfo_data[] array is not used outside of kernel/kexec.c, and can therefore become static. This patch adds the relevant keyword to the definition of the array. Noticed by sparse. Signed-off-by: Dmitri Vorobiev Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04d491ab2a53008a1aa98ac09561768c7f3adda3 Author: Neil Horman Date: Thu Apr 2 16:58:57 2009 -0700 kexec: add dmesg log symbols to /proc/vmcoreinfo lists It would be nice to be able to extract the dmesg log from a vmcore file without needing to keep the debug symbols for the running kernel handy all the time. We have a facility to do this in /proc/vmcore. This patch adds the log_buf and log_end symbols to the vmcoreinfo area so that tools (like makedumpfile) can easily extract the dmesg logs from a vmcore image. [akpm@linux-foundation.org: several fixes and cleanups] [akpm@linux-foundation.org: fix unused log_buf_kexec_setup()] [akpm@linux-foundation.org: build fix] Signed-off-by: Neil Horman Cc: Simon Horman Acked-by: Vivek Goyal Cc: Neil Horman Cc: Simon Horman Cc: Vivek Goyal Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23c36c1aec895fd52d7dd8cd3ce4bbce43c969fd Author: Daniel Mack Date: Thu Apr 2 16:58:54 2009 -0700 w1: coding style cleanups in w1_io.c This fixes a number of coding style issues I stubled over. Acked-by: Evgeniy Polyakov Signed-off-by: Daniel Mack Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50db9d8e4ca17974595e3848cb65f9371a304de4 Author: Philippe De Muyter Date: Thu Apr 2 16:58:53 2009 -0700 parport: netmos 9845 & 9855 1P4S fixes netmos serial/parallel adapters come in different flavour differing only by the number of parallel and serial ports, which are encoded in the subdevice ID. Last fix of Christian Pellegrin for 9855 2P2S broke support for 9855 1P4S, and works only by side-effect for the first parallel port of a 2P2S, as this first parallel port is found by reading the second addr entry of (struct parport_pc_pci) cards[netmos_9855], which is not initialized, and hence has value 0, which happens to be the BAR of the first parallel port. netmos_9xx5_combo entry in (struct parport_pc_pci) cards[], which is used for a 9845 1P4S must also be fixed for the parallel port support when there are 4 serial ports because this entry currently gives 2 as BAR index for the parallel port. Actually, in this case, BAR 2 is the 3rd serial port while the parallel port is at BAR 4. I fixed 9845 1P4S and 9855 1P4S support, while preserving 9855 2P2S support, - by creating a netmos_9855_2p entry and using it for 9855 boards with 2 parallel ports : 9855 2P2S and 9855 2P0S boards, - and by allowing netmos_parallel_init to change not only the number of parallel ports (0 or 1), but making it also change the BAR index of the parallel port when the serial ports are before the parallel port. PS: the netmos_9855_2p entry in (struct pciserial_board) pci_parport_serial_boards[] is needed because netmos_parallel_init has no clean way to replace FL_BASE2 by FL_BASE4 in the description of the serial ports in function of the number of parallel ports on the card. Tested with 9845 1P4S, 9855 1P4S and 9855 2P2S boards. Signed-off-by: Philippe De Muyter Tested-by: Christian Pellegrin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58b4ce6f2422cf9eff50368462c204f1d95b7341 Author: Harry Ciao Date: Thu Apr 2 16:58:51 2009 -0700 edac: AMD8111 driver Kconfig & Makefile Introduce Kconfig and Makefile options for AMD8111 EDAC driver. Signed-off-by: Harry Ciao Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8765584156daef3e0ccd63dfa12466a8b75613d Author: Harry Ciao Date: Thu Apr 2 16:58:51 2009 -0700 edac: AMD8131 driver Kconfig & Makefile Introduce Kconfig and Makefile options for AMD8131 EDAC driver. Signed-off-by: Harry Ciao Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28d16272b12e086664a8ca30d5877274a5f944b8 Author: Harry Ciao Date: Thu Apr 2 16:58:50 2009 -0700 edac: AMD8131 driver source file Introduce AMD8131 EDAC driver source file, which makes use of error detections on the PCI-X Bridge Controllers on the AMD8131 HyperTransport PCI-X Tunnel. Signed-off-by: Harry Ciao Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a35a2818801387f01a145ebe4a99a6a1fda31152 Author: Harry Ciao Date: Thu Apr 2 16:58:49 2009 -0700 edac: AMD8131 driver header file Introduce AMD8131 EDAC driver header file, which adds register and bits definitions for the PCI-X Bridge Controller on the AMD8131 HyperTransport I/O Hub. Signed-off-by: Harry Ciao Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c5ff4f92e2b47c56d777a5adbadd9a52841b635 Author: Harry Ciao Date: Thu Apr 2 16:58:48 2009 -0700 pci: Add AMD8111 PCI Bridge PCI Device ID Add the PCI Device ID of the PCI Bridge Controller on AMD8111 chip. Signed-off-by: Harry Ciao Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8641a3845d066f841ca591ac1c480b13bea7d849 Author: Harry Ciao Date: Thu Apr 2 16:58:47 2009 -0700 edac: Add edac_pci_alloc_index() Add edac_pci_alloc_index(), because for MAPLE platform there may exist several EDAC driver modules that could make use of edac_pci_ctl_info structure at the same time. The index allocation for these structures should be taken care of by EDAC core. Signed-off-by: Harry Ciao Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 697dab6484fad0e636b0677c010b15cc449d1b9b Author: Harry Ciao Date: Thu Apr 2 16:58:46 2009 -0700 edac: AMD8111 driver source file Introduce AMD8111 EDAC driver source file, which makes use of error detections on the LPC Bridge Controller and PCI Bridge Controller on the AMD8111 HyperTransport I/O Hub. Signed-off-by: Harry Ciao Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec2cf2e2726546e8a2cae7cdaf3e9f7954c336b1 Author: Harry Ciao Date: Thu Apr 2 16:58:46 2009 -0700 edac: AMD8111 driver header file Introduce AMD8111 EDAC driver header file, which adds register and bits definitions for the LPC Bridge Controller and PCI Bridge Controller on the AMD8111 HyperTransport I/O Hub. Signed-off-by: Harry Ciao Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dba7a77c0e403f859ff67ee39f833b6bffb4d49e Author: Grant Erickson Date: Thu Apr 2 16:58:45 2009 -0700 edac: new ppc4xx driver module This adds support for an EDAC memory controller adaptation driver for the "ibm,sdram-4xx-ddr2" ECC controller realized in the AMCC PowerPC 405EX[r]. At present, this driver has been developed and tested against the controller realization in the AMCC PPC405EX[r] on the AMCC Kilauea and Haleakala boards (256 MiB w/o ECC memory soldered onto the board) and a proprietary board based on those designs (128 MiB ECC memory, also soldered onto the board). In the future, dynamic feature detection and handling needs to be added for the other realizations of this controller found in the 440SP, 440SPe, 460EX, 460GT and 460SX. Eventually, this driver will likely be evolved and adapted to the above variant realizations of this controller as well as broken apart to handle the other known ECC-capable controllers prevalent in other PPC4xx processors: - IBM SDRAM (405GP, 405CR and 405EP) "ibm,sdram-4xx" - IBM DDR1 (440GP, 440GX, 440EP and 440GR) "ibm,sdram-4xx-ddr" - Denali DDR1/DDR2 (440EPX and 440GRX) "denali,sdram-4xx-ddr2" [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Grant Erickson Signed-off-by: Doug Thompson Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4577ca55681eaecb76e75beb99c098e0cdf7a92e Author: Doug Thompson Date: Thu Apr 2 16:58:43 2009 -0700 edac: remove EDAC's experimental status After 3 years, this is a patch to remove the EXPERIMENTAL tag on EDAC. We now have many module drivers submitters in EDAC and believe EDAC is no longer EXPERIMENTAL Signed-off-by: Doug Thompson Signed-off-by: Linus Torvalds commit cc18e3cd5345715544e4d61b32a7442360817195 Author: Hitoshi Mitake Date: Thu Apr 2 16:58:43 2009 -0700 edac: add more verbose debug info A patch for making a debugging information more verbose for use in development debugging. By enabling the new option "More verbose debugging", information about source file and line number will be added to debugging message. This is sample output, EDAC MC0: Giving out device to 'e7xxx_edac' 'E7205': DEV 0000:00:00.0 EDAC DEBUG: in drivers/edac/edac_pci.c, line at 48: edac_pci_alloc_ctl_info() EDAC DEBUG: in drivers/edac/edac_pci.c, line at 334: edac_pci_add_device() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Signed-off-by: Hitoshi Mitake Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15746fcaa3a00753bbab2326088b85b10c1ba36a Author: Pavel Machek Date: Thu Apr 2 16:58:42 2009 -0700 nbd: trivial cleanups Trivial cleanups for nbd: only the return -EIO one really changes code, and I've verified all the callers (plus 0 == success, 1 == error convention is really ugly). Signed-off-by: Pavel Machek Acked-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a2ad21128bb4eb79f3c05e5801edcc5ed3ef1d3 Author: Pavel Machek Date: Thu Apr 2 16:58:41 2009 -0700 nbd: add locking to nbd_ioctl The code was written to rely on big kernel lock to protect it from races. It mostly works when interface is not abused. So this uses tx_lock to protect data structures from concurrent use between ioctl and worker threads. Next step will be moving from ioctl to unlocked_ioctl. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: add missing return] Signed-off-by: Pavel Machek Acked-by: Paul Clements Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b0f7ffd0ea27cd3a0b9ca04e3df9522048c32a3 Author: Oleg Nesterov Date: Thu Apr 2 16:58:39 2009 -0700 pids: kill signal_struct-> __pgrp/__session and friends We are wasting 2 words in signal_struct without any reason to implement task_pgrp_nr() and task_session_nr(). task_session_nr() has no callers since 2e2ba22ea4fd4bb85f0fa37c521066db6775cbef, we can remove it. task_pgrp_nr() is still (I believe wrongly) used in fs/autofsX and fs/coda. This patch reimplements task_pgrp_nr() via task_pgrp_nr_ns(), and kills __pgrp/__session and the related helpers. The change in drivers/char/tty_io.c is cosmetic, but hopefully makes sense anyway. Signed-off-by: Oleg Nesterov Acked-by: Alan Cox [tty parts] Cc: Cedric Le Goater Cc: Dave Hansen Cc: Eric Biederman Cc: Pavel Emelyanov Cc: Serge Hallyn Cc: Sukadev Bhattiprolu Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52ee2dfdd4f51cf422ea6a96a0846dc94244aa37 Author: Oleg Nesterov Date: Thu Apr 2 16:58:38 2009 -0700 pids: refactor vnr/nr_ns helpers to make them safe Inho, the safety rules for vnr/nr_ns helpers are horrible and buggy. task_pid_nr_ns(task) needs rcu/tasklist depending on task == current. As for "special" pids, vnr/nr_ns helpers always need rcu. However, if task != current, they are unsafe even under rcu lock, we can't trust task->group_leader without the special checks. And almost every helper has a callsite which needs a fix. Also, it is a bit annoying that the implementations of, say, task_pgrp_vnr() and task_pgrp_nr_ns() are not "symmetrical". This patch introduces the new helper, __task_pid_nr_ns(), which is always safe to use, and turns all other helpers into the trivial wrappers. After this I'll send another patch which converts task_tgid_xxx() as well, they're are a bit special. Signed-off-by: Oleg Nesterov Cc: Louis Rilling Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ae448efc87df6d328f5835969076c7f9fce59c3 Author: Oleg Nesterov Date: Thu Apr 2 16:58:36 2009 -0700 pids: improve get_task_pid() to fix the unsafe sys_wait4()->task_pgrp() sys_wait4() does get_pid(task_pgrp(current)), this is not safe. We can add rcu lock/unlock around, but we already have get_task_pid() which can be improved to handle the special pids in more reliable manner. Signed-off-by: Oleg Nesterov Cc: Louis Rilling Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6dda81f4384b94930826eded254d8c16f89a9248 Author: Oleg Nesterov Date: Thu Apr 2 16:58:35 2009 -0700 pids: document task_pgrp/task_session is not safe without tasklist/rcu Even if task == current, it is not safe to dereference the result of task_pgrp/task_session. We can race with another thread which changes the special pid via setpgid/setsid. Document this. The next 2 patches give an example of the unsafe usage, we have more bad users. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Oleg Nesterov Cc: Louis Rilling Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e654fba4a376f436bdfe361fc5cdbc87ac09b35 Author: Matthew Wilcox Date: Thu Apr 2 16:58:33 2009 -0700 sysctl: fix suid_dumpable and lease-break-time sysctls Arne de Bruijn points out that commit 76fdbb25f963de5dc1e308325f0578a2f92b1c2d ("coredump masking: bound suid_dumpable sysctl") mistakenly limits lease-break-time instead of suid_dumpable. Signed-off-by: Matthew Wilcox Reported-by: Arne de Bruijn Cc: Kawai, Hidehiro Cc: Alexey Dobriyan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 303d379c54fc9ed553562e36c1cbd1791a3f5d17 Author: Yasunori Goto Date: Thu Apr 2 16:58:31 2009 -0700 hpet: fix the possibility of insane return value of hpet_calibrate() against SMI hpet_calibrate() has a possibility of miss-calibration due to SMI. If SMI interrupts in the while loop of calibration, then return value will be big. This change calibrates until stabilizing by the return value with a small value. [akpm@linux-foundation.org: trivial style tweaks] Signed-off-by: Yasunori Goto Acked-by: Clemens Ladisch Acked-by: Vojtech Pavlik Cc: Robert Picco Cc: Venkatesh Pallipadi Cc: Ingo Molnar Acked-by: Paul Gortmaker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f80769ffd36e74357fe896dc43dddf1af1510f3 Author: Paul Fulghum Date: Thu Apr 2 16:58:30 2009 -0700 synclink_gt: add clock options Add support for x8 asynchronous sample rate and ability to specify base clock frequency. Signed-off-by: Paul Fulghum Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a50b0aa4bd9a7d42112442a385f3dc0e775284dd Author: Kirill A. Shutemov Date: Thu Apr 2 16:58:29 2009 -0700 struct linux_binprm: drop unused fields Signed-off-by: Kirill A. Shutemov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab4ad55512e95b68ca3e25516068e18874f89252 Author: Mike Frysinger Date: Thu Apr 2 16:58:28 2009 -0700 bin_elf_fdpic: check the return value of clear_user Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Cc: David Howells Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11dea1900931ac73184b2f5163a13d24a4e572ea Author: Serge E. Hallyn Date: Thu Apr 2 16:58:27 2009 -0700 proc_sysctl: use CONFIG_PROC_SYSCTL around ipc and utsname proc_handlers As pointed out by Cedric Le Goater (in response to Alexey's original comment wrt mqns), ipc_sysctl.c and utsname_sysctl.c are using CONFIG_PROC_FS, not CONFIG_PROC_SYSCTL, to determine whether to define the proc_handlers. Change that. Signed-off-by: Serge E. Hallyn Cc: Cedric Le Goater Acked-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e562aebc6ccd4385cbbf24debe88ab4bb500c5b4 Author: Tony Battersby Date: Thu Apr 2 16:58:26 2009 -0700 ipc: make shm_get_stat() more robust shm_get_stat() assumes idr_find(&shm_ids(ns).ipcs_idr) returns "struct shmid_kernel *"; all other callers assume that it returns "struct kern_ipc_perm *". This works because "struct kern_ipc_perm" is currently the first member of "struct shmid_kernel", but it would be better to use container_of() to prevent future breakage. Signed-off-by: Tony Battersby Cc: Jiri Olsa Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40e8a10de2c9f87e892dcd5a6f9d1b208329ffea Author: Lai Jiangshan Date: Thu Apr 2 16:58:25 2009 -0700 cpu hotplug: remove unused cpuhotplug_mutex_lock() cpuhotplug_mutex_lock() is not used, remove it. Signed-off-by: Lai Jiangshan Cc: Ingo Molnar Cc: Rusty Russell Acked-by: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2355b70fd59cb5be7de2052a9edeee7afb7ff099 Author: Lai Jiangshan Date: Thu Apr 2 16:58:24 2009 -0700 workqueue: avoid recursion in run_workqueue() 1) lockdep will complain when run_workqueue() performs recursion. 2) The recursive implementation of run_workqueue() means that flush_workqueue() and its documentation are inconsistent. This may hide deadlocks and other bugs. 3) The recursion in run_workqueue() will poison cwq->current_work, but flush_work() and __cancel_work_timer(), etcetera need a reliable cwq->current_work. Signed-off-by: Lai Jiangshan Acked-by: Oleg Nesterov Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Frederic Weisbecker Cc: Eric Dumazet Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ee1184485df9c9a3503d3a684b911fb7c73d259 Author: Oleg Nesterov Date: Thu Apr 2 16:58:23 2009 -0700 ptrace_untrace: fix the SIGNAL_STOP_STOPPED check This bug is ancient too. ptrace_untrace() must not resume the task if the group stop in progress, we should set TASK_STOPPED instead. Unfortunately, we still have problems here: - if the process/thread was traced, SIGNAL_STOP_STOPPED does not necessary means this thread group is stopped. - ptrace breaks the bookkeeping of ->group_stop_count. Signed-off-by: Oleg Nesterov Cc: Jerome Marchand Cc: Roland McGrath Cc: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95a3540da9c81a5987be810e1d9a83640a366bd5 Author: Oleg Nesterov Date: Thu Apr 2 16:58:21 2009 -0700 ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic Another ancient bug. Consider this trivial test-case, int main(void) { int pid = fork(); if (pid) { ptrace(PTRACE_ATTACH, pid, NULL, NULL); wait(NULL); ptrace(PTRACE_DETACH, pid, NULL, NULL); } else { pause(); printf("WE HAVE A KERNEL BUG!!!\n"); } return 0; } the child must not "escape" for sys_pause(), but it can and this was seen in practice. This is because ptrace_detach does: if (!child->exit_state) wake_up_process(child); this wakeup can happen after this child has already restarted sys_pause(), because it gets another wakeup from ptrace_untrace(). With or without this patch, perhaps sys_pause() needs a fix. But this wakeup also breaks the SIGNAL_STOP_STOPPED logic in ptrace_untrace(). Remove this wakeup. The caller saw this task in TASK_TRACED state, and unless it was SIGKILL'ed in between __ptrace_unlink()->ptrace_untrace() should handle this case correctly. If it was SIGKILL'ed, we don't need to wakup the dying tracee too. Signed-off-by: Oleg Nesterov Cc: Jerome Marchand Acked-by: Roland McGrath Cc: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb24c679a51b1a9b726b901330649e3861814ac0 Author: Oleg Nesterov Date: Thu Apr 2 16:58:20 2009 -0700 tracehook_notify_death: use task_detached() helper Now that task_detached() is exported, change tracehook_notify_death() to use this helper, nobody else checks ->exit_signal == -1 by hand. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Metzger, Markus T" Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dfc80be73dd0c212d2e6dd8dbf5afa07e680bbe Author: Oleg Nesterov Date: Thu Apr 2 16:58:19 2009 -0700 forget_original_parent: do not abuse child->ptrace_entry By discussion with Roland. - Use ->sibling instead of ->ptrace_entry to chain the need to be release_task'd childs. Nobody else can use ->sibling, this task is EXIT_DEAD and nobody can find it on its own list. - rename ptrace_dead to dead_childs. - Now that we don't have the "parallel" untrace code, change back reparent_thread() to return void, pass dead_childs as an argument. Actually, I don't understand why do we notify /sbin/init when we reparent a zombie, probably it is better to reap it unconditionally. [akpm@linux-foundation.org: s/childs/children/] Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Metzger, Markus T" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39c626ae47c469abdfd30c6e42eff884931380d6 Author: Oleg Nesterov Date: Thu Apr 2 16:58:18 2009 -0700 forget_original_parent: split out the un-ptrace part By discussion with Roland. - Rename ptrace_exit() to exit_ptrace(), and change it to do all the necessary work with ->ptraced list by its own. - Move this code from exit.c to ptrace.c - Update the comment in ptrace_detach() to explain the rechecking of the child->ptrace. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Metzger, Markus T" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f5d3652d469cdf9eb2365dfea7ce3fb9e1409cc Author: Oleg Nesterov Date: Thu Apr 2 16:58:17 2009 -0700 reparent_thread: fix a zombie leak if /sbin/init ignores SIGCHLD If /sbin/init ignores SIGCHLD and we re-parent a zombie, it is leaked. reparent_thread() does do_notify_parent() which sets ->exit_signal = -1 in this case. This means that nobody except us can reap it, the detached task is not visible to do_wait(). Change reparent_thread() to return a boolean (like __pthread_detach) to indicate that the thread is dead and must be released. Also change forget_original_parent() to add the child to ptrace_dead list in this case. The naming becomes insane, the next patch does the cleanup. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1442b055c154699a6a2c436f3352f71b6beede3 Author: Oleg Nesterov Date: Thu Apr 2 16:58:16 2009 -0700 reparent_thread: fix the "is it traced" check reparent_thread() uses ptrace_reparented() to check whether this thread is ptraced, in that case we should not notify the new parent. But ptrace_reparented() is not exactly correct when the reparented thread is traced by /sbin/init, because forget_original_parent() has already changed ->real_parent. Currently, the only problem is the false notification. But with the next patch the kernel crash in this (yes, pathological) case. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a967a044a777e8b9c739120927114ddc0094298 Author: Oleg Nesterov Date: Thu Apr 2 16:58:15 2009 -0700 reparent_thread: don't call kill_orphaned_pgrp() if task_detached() If task_detached(p) == T, then either a) p is not the main thread, we will find the group leader on the ->children list. or b) p is the group leader but its ->exit_state = EXIT_DEAD. This can only happen when the last sub-thread has died, but in that case that thread has already called kill_orphaned_pgrp() from exit_notify(). In both cases kill_orphaned_pgrp() looks bogus. Move the task_detached() check up and simplify the code, this is also right from the "common sense" pov: we should do nothing with the detached childs, except move them to the new parent's ->children list. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4576145c1ecdaaea9ef8976a48335206aa1ebf91 Author: Oleg Nesterov Date: Thu Apr 2 16:58:14 2009 -0700 ptrace: fix possible zombie leak on PTRACE_DETACH When ptrace_detach() takes tasklist, the tracee can be SIGKILL'ed. If it has already passed exit_notify() we can leak a zombie, because a) ptracing disables the auto-reaping logic, and b) ->real_parent was not notified about the child's death. ptrace_detach() should follow the ptrace_exit's logic, change the code accordingly. Signed-off-by: Oleg Nesterov Cc: Jerome Marchand Cc: Roland McGrath Tested-by: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1b4c6799fb59e710454bfe0ab477cb8523a8667 Author: Oleg Nesterov Date: Thu Apr 2 16:58:13 2009 -0700 ptrace: reintroduce __ptrace_detach() as a callee of ptrace_exit() No functional changes, preparation for the next patch. Move the "should we release this child" logic into the separate handler, __ptrace_detach(). Signed-off-by: Oleg Nesterov Cc: Jerome Marchand Cc: Roland McGrath Cc: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d69cb87f05eef3b02370b2f7bae608ad2301a00 Author: Oleg Nesterov Date: Thu Apr 2 16:58:12 2009 -0700 ptrace: simplify ptrace_exit()->ignoring_children() path ignoring_children() takes parent->sighand->siglock and checks k_sigaction[SIGCHLD] atomically. But this buys nothing, we can't get the "really" wrong result even if we race with sigaction(SIGCHLD). If we read the "stale" sa_handler/sa_flags we can pretend it was changed right after the check. Remove spin_lock(->siglock), and kill "int ign" which caches the result of ignoring_children() which becomes rather trivial. Perhaps it makes sense to export this helper, do_notify_parent() can use it too. Signed-off-by: Oleg Nesterov Cc: Jerome Marchand Cc: Roland McGrath Cc: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95c3eb76dc07fd81289888ffc42948196b34b444 Author: Oleg Nesterov Date: Thu Apr 2 16:58:11 2009 -0700 ptrace: kill __ptrace_detach(), fix ->exit_state check Move the code from __ptrace_detach() to its single caller and kill this helper. Also, fix the ->exit_state check, we shouldn't wake up EXIT_DEAD tasks. Actually, I think task_is_stopped_or_traced() makes more sense, but this needs another patch. Signed-off-by: Oleg Nesterov Cc: Jerome Marchand Cc: Roland McGrath Cc: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6588c1e3ff01418acafd938db0740e3477dc8cb7 Author: Sukadev Bhattiprolu Date: Thu Apr 2 16:58:09 2009 -0700 signals: SI_USER: Masquerade si_pid when crossing pid ns boundary When sending a signal to a descendant namespace, set ->si_pid to 0 since the sender does not have a pid in the receiver's namespace. Note: - If rt_sigqueueinfo() sets si_code to SI_USER when sending a signal across a pid namespace boundary, the value in ->si_pid will be cleared to 0. Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Roland McGrath Cc: "Eric W. Biederman" Cc: Daniel Lezcano Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3bfa0cba867f23365b81658b47efd906830879b Author: Sukadev Bhattiprolu Date: Thu Apr 2 16:58:08 2009 -0700 signals: protect cinit from blocked fatal signals Normally SIG_DFL signals to global and container-init are dropped early. But if a signal is blocked when it is posted, we cannot drop the signal since the receiver may install a handler before unblocking the signal. Once this signal is queued however, the receiver container-init has no way of knowing if the signal was sent from an ancestor or descendant namespace. This patch ensures that contianer-init drops all SIG_DFL signals in get_signal_to_deliver() except SIGKILL/SIGSTOP. If SIGSTOP/SIGKILL originate from a descendant of container-init they are never queued (i.e dropped in sig_ignored() in an earler patch). If SIGSTOP/SIGKILL originate from parent namespace, the signal is queued and container-init processes the signal. IOW, if get_signal_to_deliver() sees a sig_kernel_only() signal for global or container-init, the signal must have been generated internally or must have come from an ancestor ns and we process the signal. Further, the signal_group_exit() check was needed to cover the case of a multi-threaded init sending SIGKILL to other threads when doing an exit() or exec(). But since the new sig_kernel_only() check covers the SIGKILL, the signal_group_exit() check is no longer needed and can be removed. Finally, now that we have all pieces in place, set SIGNAL_UNKILLABLE for container-inits. Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Roland McGrath Cc: "Eric W. Biederman" Cc: Daniel Lezcano Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4da026f980df125a4918c3bb9fe93185c7ef12a Author: Sukadev Bhattiprolu Date: Thu Apr 2 16:58:06 2009 -0700 signals: zap_pid_ns_process() should use force_sig() send_signal() assumes that signals with SEND_SIG_PRIV are generated from within the same namespace. So any nested container-init processes become immune to the SIGKILL generated by kill_proc_info() in zap_pid_ns_processes(). Use force_sig() in zap_pid_ns_processes() instead - force_sig() clears the SIGNAL_UNKILLABLE flag ensuring the signal is processed by container-inits. Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Roland McGrath Cc: "Eric W. Biederman" Cc: Daniel Lezcano Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 921cf9f63089c7442d44083477620132f4cea066 Author: Sukadev Bhattiprolu Date: Thu Apr 2 16:58:05 2009 -0700 signals: protect cinit from unblocked SIG_DFL signals Drop early any SIG_DFL or SIG_IGN signals to container-init from within the same container. But queue SIGSTOP and SIGKILL to the container-init if they are from an ancestor container. Blocked, fatal signals (i.e when SIG_DFL is to terminate) from within the container can still terminate the container-init. That will be addressed in the next patch. Note: To be bisect-safe, SIGNAL_UNKILLABLE will be set for container-inits in a follow-on patch. Until then, this patch is just a preparatory step. Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Roland McGrath Cc: "Eric W. Biederman" Cc: Daniel Lezcano Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7978b567d31555fc828b8f945c605ad29e117b22 Author: Sukadev Bhattiprolu Date: Thu Apr 2 16:58:04 2009 -0700 signals: add from_ancestor_ns parameter to send_signal() send_signal() (or its helper) needs to determine the pid namespace of the sender. But a signal sent via kill_pid_info_as_uid() comes from within the kernel and send_signal() does not need to determine the pid namespace of the sender. So define a helper for send_signal() which takes an additional parameter, 'from_ancestor_ns' and have kill_pid_info_as_uid() use that helper directly. The 'from_ancestor_ns' parameter will be used in a follow-on patch. Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Roland McGrath Cc: "Eric W. Biederman" Cc: Daniel Lezcano Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f008faff0e2777c8b3fe853891b774ca465938d8 Author: Oleg Nesterov Date: Thu Apr 2 16:58:02 2009 -0700 signals: protect init from unwanted signals more (This is a modified version of the patch submitted by Oleg Nesterov http://lkml.org/lkml/2008/11/18/249 and tries to address comments that came up in that discussion) init ignores the SIG_DFL signals but we queue them anyway, including SIGKILL. This is mostly OK, the signal will be dropped silently when dequeued, but the pending SIGKILL has 2 bad implications: - it implies fatal_signal_pending(), so we confuse things like wait_for_completion_killable/lock_page_killable. - for the sub-namespace inits, the pending SIGKILL can mask (legacy_queue) the subsequent SIGKILL from the parent namespace which must kill cinit reliably. (preparation, cinits don't have SIGNAL_UNKILLABLE yet) The patch can't help when init is ptraced, but ptracing of init is not "safe" anyway. Signed-off-by: Sukadev Bhattiprolu Acked-by: Roland McGrath Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Daniel Lezcano Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43918f2bf4806675943416d539d9d5e4d585ebff Author: Oleg Nesterov Date: Thu Apr 2 16:58:00 2009 -0700 signals: remove 'handler' parameter to tracehook functions Container-init must behave like global-init to processes within the container and hence it must be immune to unhandled fatal signals from within the container (i.e SIG_DFL signals that terminate the process). But the same container-init must behave like a normal process to processes in ancestor namespaces and so if it receives the same fatal signal from a process in ancestor namespace, the signal must be processed. Implementing these semantics requires that send_signal() determine pid namespace of the sender but since signals can originate from workqueues/ interrupt-handlers, determining pid namespace of sender may not always be possible or safe. This patchset implements the design/simplified semantics suggested by Oleg Nesterov. The simplified semantics for container-init are: - container-init must never be terminated by a signal from a descendant process. - container-init must never be immune to SIGKILL from an ancestor namespace (so a process in parent namespace must always be able to terminate a descendant container). - container-init may be immune to unhandled fatal signals (like SIGUSR1) even if they are from ancestor namespace. SIGKILL/SIGSTOP are the only reliable signals to a container-init from ancestor namespace. This patch: Based on an earlier patch submitted by Oleg Nesterov and comments from Roland McGrath (http://lkml.org/lkml/2008/11/19/258). The handler parameter is currently unused in the tracehook functions. Besides, the tracehook functions are called with siglock held, so the functions can check the handler if they later need to. Removing the parameter simiplifies changes to sig_ignored() in a follow-on patch. Signed-off-by: Sukadev Bhattiprolu Acked-by: Roland McGrath Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Daniel Lezcano Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90bc8d8b1a38f1ab131a2399a202e1889db95de8 Author: Oleg Nesterov Date: Thu Apr 2 16:57:58 2009 -0700 do_wait: fix waiting for the group stop with the dead leader do_wait(WSTOPPED) assumes that p->state must be == TASK_STOPPED, this is not true if the leader is already dead. Check SIGNAL_STOP_STOPPED instead and use signal->group_exit_code. Trivial test-case: void *tfunc(void *arg) { pause(); return NULL; } int main(void) { pthread_t thr; pthread_create(&thr, NULL, tfunc, NULL); pthread_exit(NULL); return 0; } It doesn't react to ^Z (and then to ^C or ^\). The task is stopped, but bash can't see this. The bug is very old, and it was reported multiple times. This patch was sent more than a year ago (http://marc.info/?t=119713920000003) but it was ignored. This change also fixes other oddities (but not all) in this area. For example, before this patch: $ sleep 100 ^Z [1]+ Stopped sleep 100 $ strace -p `pidof sleep` Process 11442 attached - interrupt to quit strace hangs in do_wait(), because ->exit_code was already consumed by bash. After this patch, strace happily proceeds: --- SIGTSTP (Stopped) @ 0 (0) --- restart_syscall(<... resuming interrupted call ...> To me, this looks much more "natural" and correct. Another example. Let's suppose we have the main thread M and sub-thread T, the process is stopped, and its parent did wait(WSTOPPED). Now we can ptrace T but not M. This looks at least strange to me. Imho, do_wait() should not confuse the per-thread ptrace stops with the per-process job control stops. Signed-off-by: Oleg Nesterov Cc: Denys Vlasenko Cc: "Eric W. Biederman" Cc: Jan Kratochvil Cc: Kaz Kylheku Cc: Michael Kerrisk Cc: Roland McGrath Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d7b2f5f9e88902b19f91d0c8a7ef58a5455f1a2 Author: David Rientjes Date: Thu Apr 2 16:57:57 2009 -0700 cpusets: prevent PF_THREAD_BOUND tasks from attaching to non-root cpusets Kthreads that have the PF_THREAD_BOUND bit set in their flags are bound to a specific cpu. Thus, their set of allowed cpus shall not change. This patch prevents such threads from attaching to non-root cpusets. They do not have mempolicies that restrict them to a subset of system nodes and, since their cpumask may never change, they cannot use any of the features of cpusets. The tasks will forever be a member of the root cpuset and will be returned when listing the tasks attached to that cpuset. Cc: Paul Menage Cc: Peter Zijlstra Cc: Dhaval Giani Signed-off-by: David Rientjes Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db7f47cf4805e30decb0841764b21b7c4000f7dc Author: Paul Menage Date: Thu Apr 2 16:57:55 2009 -0700 cpusets: allow cpusets to be configured/built on non-SMP systems Allow cpusets to be configured/built on non-SMP systems Currently it's impossible to build cpusets under UML on x86-64, since cpusets depends on SMP and x86-64 UML doesn't support SMP. There's code in cpusets that doesn't depend on SMP. This patch surrounds the minimum amount of cpusets code with #ifdef CONFIG_SMP in order to allow cpusets to build/run on UP systems (for testing purposes under UML). Reviewed-by: Li Zefan Signed-off-by: Paul Menage Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1bc5a4eee990a1f290735c8694d0aebdad095fa Author: David Rientjes Date: Thu Apr 2 16:57:54 2009 -0700 cpusets: replace zone allowed functions with node allowed The cpuset_zone_allowed() variants are actually only a function of the zone's node. Cc: Paul Menage Acked-by: Christoph Lameter Cc: Randy Dunlap Signed-off-by: David Rientjes Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f81b1ae18416b457e4d5ff23f0bd598e8a42224 Author: Li Zefan Date: Thu Apr 2 16:57:53 2009 -0700 cpuset: remove struct cpuset_hotplug_scanner Use cgroup_scanner.data, instead of introducing cpuset_hotplug_scanner. Signed-off-by: Li Zefan Cc: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 010cfac4ca0f9e85f54ba2117a372e72f4fb9a60 Author: Li Zefan Date: Thu Apr 2 16:57:52 2009 -0700 cpuset: avoid changing cpuset's mems when errno returned When writing to cpuset.mems, cpuset has to update its mems_allowed before calling update_tasks_nodemask(), but this function might return -ENOMEM. To avoid this rare case, we allocate the memory before changing mems_allowed, and then pass to update_tasks_nodemask(). Similar to what update_cpumask() does. Signed-off-by: Li Zefan Cc: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b6766fe668b83c8a03c6ed01bcc2ac77cbae848 Author: Li Zefan Date: Thu Apr 2 16:57:51 2009 -0700 cpuset: rewrite update_tasks_nodemask() This patch uses cgroup_scan_tasks() to rebind tasks' vmas to new cpuset's mems_allowed. Not only simplify the code largely, but also avoid allocating an array to hold mm pointers of all the tasks in the cpuset. This array can be big (size > PAGESIZE) if we have lots of tasks in that cpuset, thus has a chance to fail the allocation when under memory stress. Signed-off-by: Li Zefan Cc: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd1a8ab73edd449fecda633449cc277b856ad4f5 Author: Li Zefan Date: Thu Apr 2 16:57:50 2009 -0700 cgroups: add 'data' field to struct cgroup_scanner We need to pass some data to test_task() or process_task() in some cases. Will be used later. Signed-off-by: Li Zefan Cc: KAMEZAWA Hiroyuki Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b4217b3fdddc4a58939720d3ed809537577d48b Author: Li Zefan Date: Thu Apr 2 16:57:49 2009 -0700 cpuset: fix possible races in cpu/memory hotplug Change to cpuset->cpus_allowed and cpuset->mems_allowed should be protected by callback_mutex, otherwise the reader may read wrong cpus/mems. This is cpuset's lock rule. Signed-off-by: Li Zefan Cc: Paul Menage Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83aae4c737866da3280f51fd15da58eddd788397 Author: Daisuke Nishimura Date: Thu Apr 2 16:57:48 2009 -0700 memcg: cleanup cache_charge Current mem_cgroup_cache_charge is a bit complicated especially in the case of shmem's swap-in. This patch cleans it up by using try_charge_swapin and commit_charge_swapin. Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 627991a20b3f4d504d20466ab405fe035cb1a20a Author: KAMEZAWA Hiroyuki Date: Thu Apr 2 16:57:47 2009 -0700 memcg: remove redundant message at swapon It's pointed out that swap_cgroup's message at swapon() is nonsense. Because * It can be calculated very easily if all necessary information is written in Kconfig. * It's not necessary to annoying people at every swapon(). In other view, now, memory usage per swp_entry is reduced to 2bytes from 8bytes(64bit) and I think it's reasonably small. Reported-by: Hugh Dickins Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3b2d692690aef228e493b1beaafe5364cab3237 Author: KAMEZAWA Hiroyuki Date: Thu Apr 2 16:57:45 2009 -0700 cgroups: use css id in swap cgroup for saving memory v5 Try to use CSS ID for records in swap_cgroup. By this, on 64bit machine, size of swap_cgroup goes down to 2 bytes from 8bytes. This means, when 2GB of swap is equipped, (assume the page size is 4096bytes) From size of swap_cgroup = 2G/4k * 8 = 4Mbytes. To size of swap_cgroup = 2G/4k * 2 = 1Mbytes. Reduction is large. Of course, there are trade-offs. This CSS ID will add overhead to swap-in/swap-out/swap-free. But in general, - swap is a resource which the user tend to avoid use. - If swap is never used, swap_cgroup area is not used. - Reading traditional manuals, size of swap should be proportional to size of memory. Memory size of machine is increasing now. I think reducing size of swap_cgroup makes sense. Note: - ID->CSS lookup routine has no locks, it's under RCU-Read-Side. - memcg can be obsolete at rmdir() but not freed while refcnt from swap_cgroup is available. Changelog v4->v5: - reworked on to memcg-charge-swapcache-to-proper-memcg.patch Changlog ->v4: - fixed not configured case. - deleted unnecessary comments. - fixed NULL pointer bug. - fixed message in dmesg. [nishimura@mxp.nes.nec.co.jp: css_tryget can be called twice in !PageCgroupUsed case] Signed-off-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Balbir Singh Cc: Paul Menage Cc: Hugh Dickins Signed-off-by: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c776e64660028236313f0e54f3a9945764422df Author: Daisuke Nishimura Date: Thu Apr 2 16:57:43 2009 -0700 memcg: charge swapcache to proper memcg memcg_test.txt says at 4.1: This swap-in is one of the most complicated work. In do_swap_page(), following events occur when pte is unchanged. (1) the page (SwapCache) is looked up. (2) lock_page() (3) try_charge_swapin() (4) reuse_swap_page() (may call delete_swap_cache()) (5) commit_charge_swapin() (6) swap_free(). Considering following situation for example. (A) The page has not been charged before (2) and reuse_swap_page() doesn't call delete_from_swap_cache(). (B) The page has not been charged before (2) and reuse_swap_page() calls delete_from_swap_cache(). (C) The page has been charged before (2) and reuse_swap_page() doesn't call delete_from_swap_cache(). (D) The page has been charged before (2) and reuse_swap_page() calls delete_from_swap_cache(). memory.usage/memsw.usage changes to this page/swp_entry will be Case (A) (B) (C) (D) Event Before (2) 0/ 1 0/ 1 1/ 1 1/ 1 =========================================== (3) +1/+1 +1/+1 +1/+1 +1/+1 (4) - 0/ 0 - -1/ 0 (5) 0/-1 0/ 0 -1/-1 0/ 0 (6) - 0/-1 - 0/-1 =========================================== Result 1/ 1 1/ 1 1/ 1 1/ 1 In any cases, charges to this page should be 1/ 1. In case of (D), mem_cgroup_try_get_from_swapcache() returns NULL (because lookup_swap_cgroup() returns NULL), so "+1/+1" at (3) means charges to the memcg("foo") to which the "current" belongs. OTOH, "-1/0" at (4) and "0/-1" at (6) means uncharges from the memcg("baa") to which the page has been charged. So, if the "foo" and "baa" is different(for example because of task move), this charge will be moved from "baa" to "foo". I think this is an unexpected behavior. This patch fixes this by modifying mem_cgroup_try_get_from_swapcache() to return the memcg to which the swapcache has been charged if PCG_USED bit is set. IIUC, checking PCG_USED bit of swapcache is safe under page lock. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3918b96e03b2b8dd05889320623f6870e81d35ec Author: KOSAKI Motohiro Date: Thu Apr 2 16:57:41 2009 -0700 memcg: remove mem_cgroup_reclaim_imbalance() remnants commit 4f98a2fee8acdb4ac84545df98cccecfd130f8db (vmscan: split LRU lists into anon & file sets) removed mem_cgroup_reclaim_imbalance(), but there are some leftovers in memcontrol.h. Signed-off-by: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c137b5ece4b111e46981aae7da77315b9909809f Author: KOSAKI Motohiro Date: Thu Apr 2 16:57:40 2009 -0700 memcg: remove mem_cgroup_calc_mapped_ratio() Currently, mem_cgroup_calc_mapped_ratio() is unused at all. it can be removed and KAMEZAWA-san suggested it. Signed-off-by: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e222432bfa7dcf6ec008622a978c9f284ed5e3a9 Author: Balbir Singh Date: Thu Apr 2 16:57:39 2009 -0700 memcg: show memcg information during OOM Add RSS and swap to OOM output from memcg Display memcg values like failcnt, usage and limit when an OOM occurs due to memcg. Thanks to Johannes Weiner, Li Zefan, David Rientjes, Kamezawa Hiroyuki, Daisuke Nishimura and KOSAKI Motohiro for review. Sample output ------------- Task in /a/x killed as a result of limit of /a memory: usage 1048576kB, limit 1048576kB, failcnt 4183 memory+swap: usage 1400964kB, limit 9007199254740991kB, failcnt 0 [akpm@linux-foundation.org: compilation fix] [akpm@linux-foundation.org: fix kerneldoc and whitespace] [akpm@linux-foundation.org: add printk facility level] Signed-off-by: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Li Zefan Cc: Paul Menage Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b7f569e45bb6be142d87017030669a6a7d327a1 Author: KAMEZAWA Hiroyuki Date: Thu Apr 2 16:57:38 2009 -0700 memcg: fix OOM killer under memcg This patch tries to fix OOM Killer problems caused by hierarchy. Now, memcg itself has OOM KILL function (in oom_kill.c) and tries to kill a task in memcg. But, when hierarchy is used, it's broken and correct task cannot be killed. For example, in following cgroup /groupA/ hierarchy=1, limit=1G, 01 nolimit 02 nolimit All tasks' memory usage under /groupA, /groupA/01, groupA/02 is limited to groupA's 1Gbytes but OOM Killer just kills tasks in groupA. This patch provides makes the bad process be selected from all tasks under hierarchy. BTW, currently, oom_jiffies is updated against groupA in above case. oom_jiffies of tree should be updated. To see how oom_jiffies is used, please check mem_cgroup_oom_called() callers. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: const fix] Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Li Zefan Cc: Balbir Singh Cc: Daisuke Nishimura Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81d39c20f5ee2437d71709beb82597e2a38efbbc Author: KAMEZAWA Hiroyuki Date: Thu Apr 2 16:57:36 2009 -0700 memcg: fix shrinking memory to return -EBUSY by fixing retry algorithm As pointed out, shrinking memcg's limit should return -EBUSY after reasonable retries. This patch tries to fix the current behavior of shrink_usage. Before looking into "shrink should return -EBUSY" problem, we should fix hierarchical reclaim code. It compares current usage and current limit, but it only makes sense when the kernel reclaims memory because hit limits. This is also a problem. What this patch does are. 1. add new argument "shrink" to hierarchical reclaim. If "shrink==true", hierarchical reclaim returns immediately and the caller checks the kernel should shrink more or not. (At shrinking memory, usage is always smaller than limit. So check for usage < limit is useless.) 2. For adjusting to above change, 2 changes in "shrink"'s retry path. 2-a. retry_count depends on # of children because the kernel visits the children under hierarchy one by one. 2-b. rather than checking return value of hierarchical_reclaim's progress, compares usage-before-shrink and usage-after-shrink. If usage-before-shrink <= usage-after-shrink, retry_count is decremented. Reported-by: Li Zefan Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Balbir Singh Cc: Daisuke Nishimura Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14067bb3e24b96d92e22d19c18c0119edf5575e5 Author: KAMEZAWA Hiroyuki Date: Thu Apr 2 16:57:35 2009 -0700 memcg: hierarchical stat Clean up memory.stat file routine and show "total" hierarchical stat. This patch does - renamed get_all_zonestat to be get_local_zonestat. - remove old mem_cgroup_stat_desc, which is only for per-cpu stat. - add mcs_stat to cover both of per-cpu/per-lru stat. - add "total" stat of hierarchy (*) - add a callback system to scan all memcg under a root. == "total" is added. [kamezawa@localhost ~]$ cat /opt/cgroup/xxx/memory.stat cache 0 rss 0 pgpgin 0 pgpgout 0 inactive_anon 0 active_anon 0 inactive_file 0 active_file 0 unevictable 0 hierarchical_memory_limit 50331648 hierarchical_memsw_limit 9223372036854775807 total_cache 65536 total_rss 192512 total_pgpgin 218 total_pgpgout 155 total_inactive_anon 0 total_active_anon 135168 total_inactive_file 61440 total_active_file 4096 total_unevictable 0 == (*) maybe the user can do calc hierarchical stat by his own program in userland but if it can be written in clean way, it's worth to be shown, I think. Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Li Zefan Cc: Balbir Singh Cc: Daisuke Nishimura Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04046e1a0a34286382e913f8fc461440c21d88e8 Author: KAMEZAWA Hiroyuki Date: Thu Apr 2 16:57:33 2009 -0700 memcg: use CSS ID Assigning CSS ID for each memcg and use css_get_next() for scanning hierarchy. Assume folloing tree. group_A (ID=3) /01 (ID=4) /0A (ID=7) /02 (ID=10) group_B (ID=5) and task in group_A/01/0A hits limit at group_A. reclaim will be done in following order (round-robin). group_A(3) -> group_A/01 (4) -> group_A/01/0A (7) -> group_A/02(10) -> group_A -> ..... Round robin by ID. The last visited cgroup is recorded and restart from it when it start reclaim again. (More smart algorithm can be implemented..) No cgroup_mutex or hierarchy_mutex is required. Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Li Zefan Cc: Balbir Singh Cc: Daisuke Nishimura Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4046f00ee7c1e5615261b496cf7309683275b29 Author: Li Zefan Date: Thu Apr 2 16:57:32 2009 -0700 devcgroup: avoid using cgroup_lock There is nothing special that has to be protected by cgroup_lock, so introduce devcgroup_mtuex for it's own use. Signed-off-by: Li Zefan Cc: Paul Menage Acked-by: Serge Hallyn Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d969fbe69e07fcceb0558b35d4c75eb046041c5e Author: Li Zefan Date: Thu Apr 2 16:57:31 2009 -0700 debug cgroup: remove unneeded cgroup_lock Since we are in cgroup write handler, so the cgrp is valid, so we don't have to hold cgroup_mutex when calling cgroup_task_count(). One similar example is in cgroup_tasks_open(). Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0670e08bdfc67272f8c3087030417465629b8073 Author: Li Zefan Date: Thu Apr 2 16:57:30 2009 -0700 cgroups: don't change release_agent when remount failed Remount can fail in either case: - wrong mount options is specified, or option 'noprefix' is changed. - a to-be-added subsys is already mounted/active. When using remount to change 'release_agent', for the above former failure case, remount will return errno with release_agent unchanged, but for the latter case, remount will return EBUSY with relase_agent changed, which is unexpected I think: # mount -t cgroup -o cpu xxx /cgrp1 # mount -t cgroup -o cpuset,release_agent=agent1 yyy /cgrp2 # cat /cgrp2/release_agent agent1 # mount -t cgroup -o remount,cpuset,noprefix,release_agent=agent2 yyy /cgrp2 mount: /cgrp2 not mounted already, or bad option # cat /cgrp2/release_agent agent1 <-- ok # mount -t cgroup -o remount,cpu,cpuset,release_agent=agent2 yyy /cgrp2 mount: /cgrp2 is busy # cat /cgrp2/release_agent agent2 <-- unexpected! Signed-off-by: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 099fca3225b39f7a3ed853036038054172b55581 Author: Li Zefan Date: Thu Apr 2 16:57:29 2009 -0700 cgroups: show correct file mode We have some read-only files and write-only files, but currently they are all set to 0644, which is counter-intuitive and cause trouble for some cgroup tools like libcgroup. This patch adds 'mode' to struct cftype to allow cgroup subsys to set it's own files' file mode, and for the most cases cft->mode can be default to 0 and cgroup will figure out proper mode. Acked-by: Paul Menage Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6719ec1ad54e47e40633b19703f2c1254708842 Author: Li Zefan Date: Thu Apr 2 16:57:28 2009 -0700 cgroups: more documentation for remount and release_agent This won't remove cpuacct from the mounted hierachy: # mount -t cgroup -o cpu,cpuacct xxx /mnt # mount -o remount,cpu /mnt Because for this usage mount(8) will append the new options to the original options. And this will get you right: # mount [-t cgroup] -o remount,cpu xxx /mnt Also document how to specify or change release_agent. Signed-off-by: Li Zefan Reviewd-by: KAMEZAWA Hiroyuki Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66bdc9cfc77ba89a9ee6c82d28375b646ab4bb1d Author: Jesper Juhl Date: Thu Apr 2 16:57:27 2009 -0700 kernel/cgroup.c: kfree(NULL) is legal Reduces object file size a bit: Before: $ size kernel/cgroup.o text data bss dec hex filename 21593 7804 4924 34321 8611 kernel/cgroup.o After: $ size kernel/cgroup.o text data bss dec hex filename 21537 7744 4924 34205 859d kernel/cgroup.o Signed-off-by: Jesper Juhl Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec64f51545fffbc4cb968f0cea56341a4b07e85a Author: KAMEZAWA Hiroyuki Date: Thu Apr 2 16:57:26 2009 -0700 cgroup: fix frequent -EBUSY at rmdir In following situation, with memory subsystem, /groupA use_hierarchy==1 /01 some tasks /02 some tasks /03 some tasks /04 empty When tasks under 01/02/03 hit limit on /groupA, hierarchical reclaim is triggered and the kernel walks tree under groupA. In this case, rmdir /groupA/04 fails with -EBUSY frequently because of temporal refcnt from the kernel. In general. cgroup can be rmdir'd if there are no children groups and no tasks. Frequent fails of rmdir() is not useful to users. (And the reason for -EBUSY is unknown to users.....in most cases) This patch tries to modify above behavior, by - retries if css_refcnt is got by someone. - add "return value" to pre_destroy() and allows subsystem to say "we're really busy!" Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Li Zefan Cc: Balbir Singh Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38460b48d06440de46b34cb778bd6c4855030754 Author: KAMEZAWA Hiroyuki Date: Thu Apr 2 16:57:25 2009 -0700 cgroup: CSS ID support Patch for Per-CSS(Cgroup Subsys State) ID and private hierarchy code. This patch attaches unique ID to each css and provides following. - css_lookup(subsys, id) returns pointer to struct cgroup_subysys_state of id. - css_get_next(subsys, id, rootid, depth, foundid) returns the next css under "root" by scanning When cgroup_subsys->use_id is set, an id for css is maintained. The cgroup framework only parepares - css_id of root css for subsys - id is automatically attached at creation of css. - id is *not* freed automatically. Because the cgroup framework don't know lifetime of cgroup_subsys_state. free_css_id() function is provided. This must be called by subsys. There are several reasons to develop this. - Saving space .... For example, memcg's swap_cgroup is array of pointers to cgroup. But it is not necessary to be very fast. By replacing pointers(8bytes per ent) to ID (2byes per ent), we can reduce much amount of memory usage. - Scanning without lock. CSS_ID provides "scan id under this ROOT" function. By this, scanning css under root can be written without locks. ex) do { rcu_read_lock(); next = cgroup_get_next(subsys, id, root, &found); /* check sanity of next here */ css_tryget(); rcu_read_unlock(); id = found + 1 } while(...) Characteristics: - Each css has unique ID under subsys. - Lifetime of ID is controlled by subsys. - css ID contains "ID" and "Depth in hierarchy" and stack of hierarchy - Allowed ID is 1-65535, ID 0 is UNUSED ID. Design Choices: - scan-by-ID v.s. scan-by-tree-walk. As /proc's pid scan does, scan-by-ID is robust when scanning is done by following kind of routine. scan -> rest a while(release a lock) -> conitunue from interrupted memcg's hierarchical reclaim does this. - When subsys->use_id is set, # of css in the system is limited to 65535. [bharata@linux.vnet.ibm.com: remove rcu_read_lock() from css_get_next()] Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Paul Menage Cc: Li Zefan Cc: Balbir Singh Cc: Daisuke Nishimura Signed-off-by: Bharata B Rao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 313e924c0852943e67335fad9d2608701f0dfe8e Author: Grzegorz Nosek Date: Thu Apr 2 16:57:23 2009 -0700 cgroups: relax ns_can_attach checks to allow attaching to grandchild cgroups The ns_proxy cgroup allows moving processes to child cgroups only one level deep at a time. This commit relaxes this restriction and makes it possible to attach tasks directly to grandchild cgroups, e.g.: ($pid is in the root cgroup) echo $pid > /cgroup/CG1/CG2/tasks Previously this operation would fail with -EPERM and would have to be performed as two steps: echo $pid > /cgroup/CG1/tasks echo $pid > /cgroup/CG1/CG2/tasks Also, the target cgroup no longer needs to be empty to move a task there. Signed-off-by: Grzegorz Nosek Acked-by: Serge Hallyn Reviewed-by: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d20a390a0ee2bf2f692c539c6ce1c829e1080bb5 Author: Paul Menage Date: Thu Apr 2 16:57:22 2009 -0700 cgroups: fix cgroup.h comments Fix the style of some multi-line comments in cgroup.h to match Documentation/CodingStyle Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45dad7bd9d9b65a30d6e790b111f6f2d8f746d22 Author: Li Xiaodong Date: Thu Apr 2 16:57:21 2009 -0700 documentation: fix unix_dgram_qlen description Previous description about system parameter in /proc/sys/net/unix/ is wrong (or missed). Simply add a new description about unix_dgram_qlen according to latest kernel. Signed-off-by: Li Xiaodong Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 760df93ecdd59fc1c213a491b5adee79f53606da Author: Shen Feng Date: Thu Apr 2 16:57:20 2009 -0700 documentation: update Documentation/filesystem/proc.txt and Documentation/sysctls Now /proc/sys is described in many places and much information is redundant. This patch updates the proc.txt and move the /proc/sys desciption out to the files in Documentation/sysctls. Details are: merge - 2.1 /proc/sys/fs - File system data - 2.11 /proc/sys/fs/mqueue - POSIX message queues filesystem - 2.17 /proc/sys/fs/epoll - Configuration options for the epoll interface with Documentation/sysctls/fs.txt. remove - 2.2 /proc/sys/fs/binfmt_misc - Miscellaneous binary formats since it's not better then the Documentation/binfmt_misc.txt. merge - 2.3 /proc/sys/kernel - general kernel parameters with Documentation/sysctls/kernel.txt remove - 2.5 /proc/sys/dev - Device specific parameters since it's obsolete the sysfs is used now. remove - 2.6 /proc/sys/sunrpc - Remote procedure calls since it's not better then the Documentation/sysctls/sunrpc.txt move - 2.7 /proc/sys/net - Networking stuff - 2.9 Appletalk - 2.10 IPX to newly created Documentation/sysctls/net.txt. remove - 2.8 /proc/sys/net/ipv4 - IPV4 settings since it's not better then the Documentation/networking/ip-sysctl.txt. add - Chapter 3 Per-Process Parameters to descibe /proc//xxx parameters. Signed-off-by: Shen Feng Cc: Randy Dunlap Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70eed8d06601ca3810a0e56035eae6496d57856b Author: Henrik Austad Date: Thu Apr 2 16:57:18 2009 -0700 documentation: ignore byproducts from latex When using 'make pdfdocs', auto-generated files should be ignored Signed-off-by: Henrik Austad Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 880fe76ee6f38eda82e9f3de9a7a206dfd1bab9d Author: Roel Kluin Date: Thu Apr 2 16:57:18 2009 -0700 hppfs: hppfs_read_file() may return -ERROR hppfs_read_file() may return (ssize_t) -ENOMEM, or -EFAULT. When stored in size_t 'count', these errors will not be noticed, a large value will be added to *ppos. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 695f6ae0dcea3dd83bfbb9634ff067f780649ba8 Author: Jan Kara Date: Thu Apr 2 16:57:17 2009 -0700 ext3: avoid false EIO errors Sometimes block_write_begin() can map buffers in a page but later we fail to copy data into those buffers (because the source page has been paged out in the mean time). We then end up with !uptodate mapped buffers. To add a bit more to the confusion, block_write_end() does not commit any data (and thus does not any mark buffers as uptodate) if we didn't succeed with copying all the data. Commit f4fc66a894546bdc88a775d0e83ad20a65210bcb (ext3: convert to new aops) missed these cases and thus we were inserting non-uptodate buffers to transaction's list which confuses JBD code and it reports IO errors, aborts a transaction and generally makes users afraid about their data ;-P. This patch fixes the problem by reorganizing ext3_..._write_end() code to first call block_write_end() to mark buffers with valid data uptodate and after that we file only uptodate buffers to transaction's lists. We also fix a problem where we could leave blocks allocated beyond i_size (i_disksize in fact) because of failed write. We now add inode to orphan list when write fails (to be safe in case we crash) and then truncate blocks beyond i_size in a separate transaction. Signed-off-by: Jan Kara Reviewed-by: Aneesh Kumar K.V Cc: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de18f3b2d68c1f3481839be760a5ff93f6a9a5e5 Author: Bryan Donlan Date: Thu Apr 2 16:57:15 2009 -0700 ext3: return -EIO not -ESTALE on directory traversal through deleted inode ext3_iget() returns -ESTALE if invoked on a deleted inode, in order to report errors to NFS properly. However, in ext[234]_lookup(), this -ESTALE can be propagated to userspace if the filesystem is corrupted such that a directory entry references a deleted inode. This leads to a misleading error message - "Stale NFS file handle" - and confusion on the part of the admin. The bug can be easily reproduced by creating a new filesystem, making a link to an unused inode using debugfs, then mounting and attempting to ls -l said link. This patch thus changes ext3_lookup to return -EIO if it receives -ESTALE from ext3_iget(), as ext3 does for other filesystem metadata corruption; and also invokes the appropriate ext*_error functions when this case is detected. Signed-off-by: Bryan Donlan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45f902178022439795a21e14f886b8ccb49a75d2 Author: Wei Yongjun Date: Thu Apr 2 16:57:14 2009 -0700 ext3: use unsigned instead of int for type of blocksize in fs/ext3/namei.c Use unsigned instead of int for the parameter which carries a blocksize. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Wei Yongjun Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecca9af0a98fdacfcdc73979d08481d7b27ff986 Author: Jan Kara Date: Thu Apr 2 16:57:13 2009 -0700 jbd: fix oops in jbd_journal_init_inode() on corrupted fs On 32-bit system with CONFIG_LBD getblk can fail because provided block number is too big. Make JBD gracefully handle that. Signed-off-by: Jan Kara Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 039fd8ce6258e01ec29f1637f9bf1868dd877c55 Author: Cyrus Massoumi Date: Thu Apr 2 16:57:12 2009 -0700 ext3: remove the BKL in ext3/ioctl.c Reformat ext3/ioctl.c to make it look more like ext4/ioctl.c and remove the BKL around ext3_ioctl(). Signed-off-by: Cyrus Massoumi Cc: Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b277c884f7856ce0791b1e72079023a86767981b Author: Erik Ekman Date: Thu Apr 2 16:57:09 2009 -0700 pnpbios: propagate kthread_run() error - Error code from kthread_run() is now returned in pnpbios_thread_init() - Remove variable which always was 0. Signed-off-by: Erik Ekman Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c655918b15691d3a97f4e9a7c3c0a6ac992e297 Author: Erik Ekman Date: Thu Apr 2 16:57:08 2009 -0700 pnpbios: fix warning if CONFIG_HOTPLUG=n drivers/pnp/pnpbios/core.c: In function 'pnpbios_thread_init': drivers/pnp/pnpbios/core.c:578: warning: unused variable 'task' Signed-off-by: Erik Ekman Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfb9bcdbda9a61bca469bf899a589918c60c4c18 Author: Michael Buesch Date: Thu Apr 2 16:57:07 2009 -0700 spi-gpio: allow operation without CS signal Change spi-gpio so that it is possible to drive SPI communications over GPIO without the need for a chipselect signal. This is useful in very small setups where there's only one slave device on the bus. This patch does not affect existing setups. I use this for a tiny communication channel between an embedded device and a microcontroller. There are not enough GPIOs available for chipselect and it's not needed anyway in this case. Signed-off-by: Michael Buesch Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a0cecffeb52363a57257bbbbd58f4c4537a75bb Author: David Brownell Date: Thu Apr 2 16:57:06 2009 -0700 gpio: gpio_{request,free}() now required (feature removal) We want to phase out the GPIO "autorequest" mechanism in gpiolib and require all callers to use gpio_request(). - Update feature-removal-schedule - Update the documentation now - Convert the relevant pr_warning() in gpiolib to a WARN() so folk using this mechanism get a noisy stack dump Some drivers and board init code will probably need to change. Implementations not using gpiolib will still be fine; they are already required to implement gpio_{request,free}() stubs. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 926b663ce8215ba448960e1ff6e58b67a2c3b99b Author: Daniel Silverstone Date: Thu Apr 2 16:57:05 2009 -0700 gpiolib: allow GPIOs to be named Allow GPIOs in GPIOLIB chips to be named. This name is then used when the GPIO is exported to sysfs, although it could be used elsewhere if deemed useful. Signed-off-by: Daniel Silverstone Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f30281f4f7c2a0efcfeddad12277dfdada8f08a7 Author: Daniel Glockner Date: Thu Apr 2 16:57:03 2009 -0700 rtc: add m41t62 support to rtc-m41t80 driver Compared to the other supported chips, the m41t62 uses a different register to set the square wave frequency. Signed-off-by: Daniel Glockner Cc: Chris Zankel Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96615841e170f0108832e64a90d51b469573a472 Author: Mike Rapoport Date: Thu Apr 2 16:57:01 2009 -0700 rtc-v3020: add ability to access v3020 chip with GPIOs The v3020 RTC can be connected to GPIOs as well as to memory-like interface. Add ability to use GPIO bit-bang for v3020 read-write access. [akpm@linux-foundation.org: fix off-by-one in error path] Signed-off-by: Mike Rapoport Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1c490e017b66b31f6559db9cbb51a3ce00cf639 Author: Simon Kitching Date: Thu Apr 2 16:57:00 2009 -0700 initramfs: prevent initramfs printk message being split by messages from other code. initramfs uses printk without a linefeed, then does some work, then uses printk to finish the message off. However if some other code does a printk in between, then the messages get mixed together. Better for each message to be an independent line... Example of problem that this fixes: checking if image is initramfs...<7>Switched to high resolution mode on CPU 1 Switched to high resolution mode on CPU 0 it is Signed-off-by: Simon Kitching Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f2c55b843836d26528c56a0968689accaedbc67 Author: Alexey Dobriyan Date: Thu Apr 2 16:56:59 2009 -0700 Simplify copy_thread() First argument unused since 2.3.11. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14dd1ff0f9e75dd4ae2f1ff8e48becb76d14f4ab Author: David Brownell Date: Thu Apr 2 16:56:58 2009 -0700 memory_accessor: implement the new memory_accessor interfaces for SPI EEPROMs - Define new setup() hook to export the accessor - Implement accessor methods Moves some error checking out of the sysfs interface code into the layer below it, which is now shared by both sysfs and memory access code. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7274ec8bd71e99018642f474528ea7de4bb3ae25 Author: Kevin Hilman Date: Thu Apr 2 16:56:57 2009 -0700 memory_accessor: implement the new memory_accessor interface for I2C EEPROM In the case of at24, the platform code registers a 'setup' callback with the at24_platform_data. When the at24 driver detects an EEPROM, it fills out the read and write functions of the memory_accessor and calls the setup callback passing the memory_accessor struct. The platform code can then use the read/write functions in the memory_accessor struct for reading and writing the EEPROM. Signed-off-by: Kevin Hilman Cc: David Brownell Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06c421ee0d5af95c8c6749ca0ba620cd5010707f Author: Kevin Hilman Date: Thu Apr 2 16:56:56 2009 -0700 memory_accessor: new interface for reading/writing persistent memory Add an interface by which other kernel code can read/write persistent memory such as I2C or SPI EEPROMs, or devices which provide NVRAM. Use cases include storage of board-specific configuration data like Ethernet addresses and sensor calibrations. Original idea, review and improvement suggestions by David Brownell. Acked-by: David Brownell Signed-off-by: Kevin Hilman Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf6aede712334d7338d5c47a5ee5ba3883c82a61 Author: Jean Delvare Date: Thu Apr 2 16:56:54 2009 -0700 workqueue: add to_delayed_work() helper function It is a fairly common operation to have a pointer to a work and to need a pointer to the delayed work it is contained in. In particular, all delayed works which want to rearm themselves will have to do that. So it would seem fair to offer a helper function for this operation. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jean Delvare Acked-by: Ingo Molnar Cc: "David S. Miller" Cc: Herbert Xu Cc: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: Greg KH Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c2ff1cf2d7fc65d0fc6f88bc98338e0212ad52 Author: Miklos Szeredi Date: Thu Apr 2 16:56:53 2009 -0700 uml: fix warnings in kernel_execve Fix the following warnings: arch/um/kernel/syscall.c: In function 'kernel_execve': arch/um/kernel/syscall.c:130: warning: passing argument 1 of 'um_execve' discards qualifiers from pointer target type arch/um/kernel/syscall.c:130: warning: passing argument 2 of 'um_execve' discards qualifiers from pointer target type arch/um/kernel/syscall.c:130: warning: passing argument 3 of 'um_execve' discards qualifiers from pointer target type Signed-off-by: Miklos Szeredi Cc: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7130f2f5528fd9df8f18790730e39dff9136ee33 Author: Miklos Szeredi Date: Thu Apr 2 16:56:51 2009 -0700 uml: fix link error from prefixing of i386 syscalls with ptregs_ Fix the following link error: arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x11c): undefined reference to `ptregs_fork' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x140): undefined reference to `ptregs_execve' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x2cc): undefined reference to `ptregs_iopl' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x2d8): undefined reference to `ptregs_vm86old' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x2f0): undefined reference to `ptregs_sigreturn' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x2f4): undefined reference to `ptregs_clone' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x3ac): undefined reference to `ptregs_vm86' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x3c8): undefined reference to `ptregs_rt_sigreturn' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x3fc): undefined reference to `ptregs_sigaltstack' arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x40c): undefined reference to `ptregs_vfork' This was introduced by commit 253f29a4, "x86: pass in pt_regs pointer for syscalls that need it" Signed-off-by: Miklos Szeredi Cc: Brian Gerst Cc: Tejun Heo Cc: Ingo Molnar Cc: Jeff Dike Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebe28bb41573502518805d0c9b39fc6426008fd1 Author: Miklos Szeredi Date: Thu Apr 2 16:56:49 2009 -0700 uml: fix compile error from net_device_ops conversion Fix the following compile error: arch/um/drivers/net_kern.c: In function 'uml_inetaddr_event': arch/um/drivers/net_kern.c:760: error: 'struct net_device' has no member named 'open' This was introduced by commit 8bb95b39, "uml: convert network device to netdevice ops". Signed-off-by: Miklos Szeredi Cc: Stephen Hemminger Cc: David S. Miller Cc: Jeff Dike Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83f9ef463bcb4ba7b4fee1d6212fac7d277010d3 Author: Scott James Remnant Date: Thu Apr 2 16:56:47 2009 -0700 floppy: provide a PNP device table in the module. The missing device table means that the floppy module is not auto-loaded, even when the appropriate PNP device (0700) is found. We don't actually use the table in the module, since the device doesn't have a struct pnp_driver, but it's sufficient to cause an alias in the module that udev/modprobe will use. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Cc: Bjorn Helgaas Cc: Philippe De Muyter Acked-by: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97f76d3d197f201ac8a8a3ced5b8fef81568e50e Author: Nikanth Karthikesan Date: Thu Apr 2 16:56:46 2009 -0700 vfs: check bh->b_blocknr only if BH_Mapped is set Check bh->b_blocknr only if BH_Mapped is set. akpm: I doubt if b_blocknr is ever uninitialised here, but it could conceivably cause a problem if we're doing a lookup for block zero. Signed-off-by: Nikanth Karthikesan Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a896c9a48ac6704c0ce8ee081b836644d0afe40 Author: Lee Schermerhorn Date: Thu Apr 2 16:56:45 2009 -0700 mm: define a UNIQUE value for AS_UNEVICTABLE flag A new "address_space flag"--AS_MM_ALL_LOCKS--was defined to use the next available AS flag while the Unevictable LRU was under development. The Unevictable LRU was using the same flag and "no one" noticed. Current mainline, since 2.6.28, has same value for two symbolic flag names. So, define a unique flag value for AS_UNEVICTABLE--up close to the other flags, [at the cost of an additional #ifdef] so we'll notice next time. Note that #ifdef is not actually required, if we don't mind having the unused flag value defined. Replace #defines with an enum. Signed-off-by: Lee Schermerhorn Cc: [2.6.28.x, 2.6.29.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e2c3795c78d5c4e2e1f14ce751e9d08decbe9d3 Author: Eric Sandeen Date: Thu Apr 2 16:56:44 2009 -0700 add fiemap.h to header-y Include fiemap.h in header-y; it defines the interface for the FS_IOC_FIEMAP file mapping ioctl. Signed-off-by: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c90bfeb80f00c765a57f17442fea1a57756b9034 Author: Michael Ellerman Date: Thu Apr 2 16:56:43 2009 -0700 MAINTAINERS: add hvc_console Add a MAINTAINERS entry for the hypervisor virtual console driver. Signed-off-by: Michael Ellerman Acked-by: Josh Boyer Cc: Josh Boyer Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58984ce21d315b70df1a43644df7416ea7c9bfd8 Author: Martin Schwidefsky Date: Thu Apr 2 16:56:42 2009 -0700 mm: do_xip_mapping_read: fix length calculation The calculation of the value nr in do_xip_mapping_read is incorrect. If the copy required more than one iteration in the do while loop the copies variable will be non-zero. The maximum length that may be passed to the call to copy_to_user(buf+copied, xip_mem+offset, nr) is len-copied but the check only compares against (nr > len). This bug is the cause for the heap corruption Carsten has been chasing for so long: *** glibc detected *** /bin/bash: free(): invalid next size (normal): 0x00000000800e39f0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x200000b9b44] /lib64/libc.so.6(cfree+0x8e)[0x200000bdade] /bin/bash(free_buffered_stream+0x32)[0x80050e4e] /bin/bash(close_buffered_stream+0x1c)[0x80050ea4] /bin/bash(unset_bash_input+0x2a)[0x8001c366] /bin/bash(make_child+0x1d4)[0x8004115c] /bin/bash[0x8002fc3c] /bin/bash(execute_command_internal+0x656)[0x8003048e] /bin/bash(execute_command+0x5e)[0x80031e1e] /bin/bash(execute_command_internal+0x79a)[0x800305d2] /bin/bash(execute_command+0x5e)[0x80031e1e] /bin/bash(reader_loop+0x270)[0x8001efe0] /bin/bash(main+0x1328)[0x8001e960] /lib64/libc.so.6(__libc_start_main+0x100)[0x200000592a8] /bin/bash(clearerr+0x5e)[0x8001c092] With this bug fix the commit 0e4a9b59282914fe057ab17027f55123964bc2e2 "ext2/xip: refuse to change xip flag during remount with busy inodes" can be removed again. Cc: Carsten Otte Cc: Nick Piggin Cc: Jared Hulbert Cc: Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 417b43d4b728619e9bcc2da4fa246a6350d46667 Author: Anton Blanchard Date: Thu Apr 2 16:56:39 2009 -0700 random: align rekey_work's timer Align rekey_work. Even though it's infrequent, we may as well line it up. Signed-off-by: Anton Blanchard Acked-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98f4ebb290a7dca8c48f27ec1d2cab8fa7982dad Author: Anton Blanchard Date: Thu Apr 2 16:56:39 2009 -0700 mm: align vmstat_work's timer Even though vmstat_work is marked deferrable, there are still benefits to aligning it. For certain applications we want to keep OS jitter as low as possible and aligning timers and work so they occur together can reduce their overall impact. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2caa3c549c74d6476e2c29e13bd4d0e7d21c7fe Author: Jeff Layton Date: Thu Apr 2 16:56:37 2009 -0700 writeback: guard against jiffies wraparound on inode->dirtied_when checks (try #3) The dirtied_when value on an inode is supposed to represent the first time that an inode has one of its pages dirtied. This value is in units of jiffies. It's used in several places in the writeback code to determine when to write out an inode. The problem is that these checks assume that dirtied_when is updated periodically. If an inode is continuously being used for I/O it can be persistently marked as dirty and will continue to age. Once the time compared to is greater than or equal to half the maximum of the jiffies type, the logic of the time_*() macros inverts and the opposite of what is needed is returned. On 32-bit architectures that's just under 25 days (assuming HZ == 1000). As the least-recently dirtied inode, it'll end up being the first one that pdflush will try to write out. sync_sb_inodes does this check: /* Was this inode dirtied after sync_sb_inodes was called? */ if (time_after(inode->dirtied_when, start)) break; ...but now dirtied_when appears to be in the future. sync_sb_inodes bails out without attempting to write any dirty inodes. When this occurs, pdflush will stop writing out inodes for this superblock. Nothing can unwedge it until jiffies moves out of the problematic window. This patch fixes this problem by changing the checks against dirtied_when to also check whether it appears to be in the future. If it does, then we consider the value to be far in the past. This should shrink the problematic window of time to such a small period (30s) as not to matter. Signed-off-by: Jeff Layton Signed-off-by: Wu Fengguang Acked-by: Ian Kent Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 846c151a4de188bb8f7043097518dab2ff5b5c2c Author: Andrew Morton Date: Thu Apr 2 16:56:36 2009 -0700 __tty_open(): use the correct type for saved_flags filp->f_flags is unsigned, so use that type for the local copy. Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6fac63cc1f52ec27f29fe6c6c8494a2ffac33fd Author: Wu Fengguang Date: Thu Apr 2 16:56:34 2009 -0700 vfs: skip I_CLEAR state inodes clear_inode() will switch inode state from I_FREEING to I_CLEAR, and do so _outside_ of inode_lock. So any I_FREEING testing is incomplete without a coupled testing of I_CLEAR. So add I_CLEAR tests to drop_pagecache_sb(), generic_sync_sb_inodes() and add_dquot_ref(). Masayoshi MIZUMA discovered the bug in drop_pagecache_sb() and Jan Kara reminds fixing the other two cases. Masayoshi MIZUMA has a nice panic flow: ===================================================================== [process A] | [process B] | | | prune_icache() | drop_pagecache() | spin_lock(&inode_lock) | drop_pagecache_sb() | inode->i_state |= I_FREEING; | | | spin_unlock(&inode_lock) | V | | | spin_lock(&inode_lock) | V | | | dispose_list() | | | list_del() | | | clear_inode() | | | inode->i_state = I_CLEAR | | | | | V | | | if (inode->i_state & (I_FREEING|I_WILL_FREE)) | | | continue; <==== NOT MATCH | | | | | | (DANGER from here on! Accessing disposing inode!) | | | | | | __iget() | | | list_move() <===== PANIC on poisoned list !! V V | (time) ===================================================================== Reported-by: Masayoshi MIZUMA Reviewed-by: Jan Kara Signed-off-by: Wu Fengguang Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33e5d76979cf01e3834814fe0aea569d1d602c1a Author: David Howells Date: Thu Apr 2 16:56:32 2009 -0700 nommu: fix a number of issues with the per-MM VMA patch Fix a number of issues with the per-MM VMA patch: (1) Make mmap_pages_allocated an atomic_long_t, just in case this is used on a NOMMU system with more than 2G pages. Makes no difference on a 32-bit system. (2) Report vma->vm_pgoff * PAGE_SIZE as a 64-bit value, not a 32-bit value, lest it overflow. (3) Move the allocation of the vm_area_struct slab back for fork.c. (4) Use KMEM_CACHE() for both vm_area_struct and vm_region slabs. (5) Use BUG_ON() rather than if () BUG(). (6) Make the default validate_nommu_regions() a static inline rather than a #define. (7) Make free_page_series()'s objection to pages with a refcount != 1 more informative. (8) Adjust the __put_nommu_region() banner comment to indicate that the semaphore must be held for writing. (9) Limit the number of warnings about munmaps of non-mmapped regions. Reported-by: Andrew Morton Signed-off-by: David Howells Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5482415a5ecc0cd791a5d885cc3db8281401078f Author: Sergey Senozhatsky Date: Thu Apr 2 16:56:30 2009 -0700 fb: nvidiafb recognizes geforcego 7300 chip as mobile nvidiafb recognizes geforcego 7300 chip as mobile Signed-off-by: Sergey Senozhatsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee3b4290aec03022cfb67c9adba9f1b3215245f0 Author: Akinobu Mita Date: Thu Apr 2 16:56:30 2009 -0700 generic debug pagealloc: build fix This fixes a build failure with generic debug pagealloc: mm/debug-pagealloc.c: In function 'set_page_poison': mm/debug-pagealloc.c:8: error: 'struct page' has no member named 'debug_flags' mm/debug-pagealloc.c: In function 'clear_page_poison': mm/debug-pagealloc.c:13: error: 'struct page' has no member named 'debug_flags' mm/debug-pagealloc.c: In function 'page_poison': mm/debug-pagealloc.c:18: error: 'struct page' has no member named 'debug_flags' mm/debug-pagealloc.c: At top level: mm/debug-pagealloc.c:120: error: redefinition of 'kernel_map_pages' include/linux/mm.h:1278: error: previous definition of 'kernel_map_pages' was here mm/debug-pagealloc.c: In function 'kernel_map_pages': mm/debug-pagealloc.c:122: error: 'debug_pagealloc_enabled' undeclared (first use in this function) by fixing - debug_flags should be in struct page - define DEBUG_PAGEALLOC config option for all architectures Signed-off-by: Akinobu Mita Reported-by: Alexander Beregalov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029a2edbd36f5e34ff1aebfba1bca31b5ac9899e Author: Alex Deucher Date: Sun Mar 29 20:44:26 2009 -0400 drm/radeon: load the right microcode on rs780 Copy/paste error. The RV670 microcode should work ok, so it's not a show stopper. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5f3dbedf2770cf6aeb5547b3c56734dee4e5186b Merge: 7a1fb5d... 1055f9d... Author: Dave Airlie Date: Fri Apr 3 10:27:21 2009 +1000 Merge branch 'drm-intel-next' of ../anholt-2.6 into drm-linus commit 7a1fb5d06d3936c0982e2cf8b53b046244a9aad6 Author: Jesse Barnes Date: Fri Mar 27 13:05:19 2009 -0700 drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config Cleanup some leftovers from the X port. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 8c6db1bbf80123839ec87bdd6cb364aea384623d Author: Guennadi Liakhovetski Date: Thu Apr 2 11:36:58 2009 +0200 dma: Add SoF and EoF debugging to ipu_idmac.c, minor cleanup Add Start-of-Frame and End-of-Frame debugging to ipu_idmac.c, in the future it might also be needed for the actual video processing in mx3-camera, at which point, the ISRs will have to be transferred to mx3_camera.c, for which ipu_irq_map() and ipu_irq_unmap() functions will have to be exported. Also simplify a couple of pointer-dereferences. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit 6c8ad3b07f7d9efdc41396db6da0aed906922701 Author: Huang Weiyi Date: Thu Apr 2 05:33:55 2009 +0000 glge: remove unused #include Remove unused #include in drivers/net/qlge/qlge_ethtool. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit 345bec6434433c11ddc63afe861b1af6c8b5f7f9 Author: Huang Weiyi Date: Thu Apr 2 05:33:50 2009 +0000 dnet: remove unused #include Remove unused #include in drivers/net/dnet.c. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit 9eb9362e569062e2f841b7a023e5fcde10ed63b4 Author: Ilpo Järvinen Date: Wed Apr 1 23:18:20 2009 +0000 tcp: miscounts due to tcp_fragment pcount reset It seems that trivial reset of pcount to one was not sufficient in tcp_retransmit_skb. Multiple counters experience a positive miscount when skb's pcount gets lowered without the necessary adjustments (depending on skb's sacked bits which exactly), at worst a packets_out miscount can crash at RTO if the write queue is empty! Triggering this requires mss change, so bidir tcp or mtu probe or like. Signed-off-by: Ilpo Järvinen Reported-by: Markus Trippelsdorf Tested-by: Uwe Bugla Signed-off-by: David S. Miller commit 797108d134a91afca9fa59c572336b279bc66afb Author: Ilpo Järvinen Date: Wed Apr 1 23:15:17 2009 +0000 tcp: add helper for counter tweaking due mid-wq change We need full-scale adjustment to fix a TCP miscount in the next patch, so just move it into a helper and call for that from the other places. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0de8ca597d7b449e9e7ce7af138944acf06c8f05 Author: Jan Dumon Date: Wed Apr 1 22:59:07 2009 +0000 hso: fix for the 'invalid frame length' messages Some devices cannot send very short usb transfers. To get around this the firmware adds a known pattern and flags the driver that it should check for this pattern on short transfers. This flag was not taken into account by the driver. Signed-off-by: Jan Dumon Signed-off-by: David S. Miller commit 3b7d2b319db0ba1f6208ca58b297fb419301f85a Author: Jan Dumon Date: Wed Apr 1 22:57:20 2009 +0000 hso: fix for crash when unplugging the device Changed the order in which things are freed. This fixes an oops when unplugging the device while network traffic is ongoing. Signed-off-by: Jan Dumon Signed-off-by: David S. Miller commit b94ee6528954b6838e88aa8cf74ed75acf8dfcff Author: Jesse Barnes Date: Thu Apr 2 14:56:24 2009 -0700 drm: fix EDID backward compat check EDIDs should be backward compatible, so don't bail if we see a version of 3 (which is out there now) and print a message if we see something newer, but allow it to be parsed. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 6714977b45279c3a0b0ec2bc937284d9f116752f Author: yakui_zhao Date: Thu Apr 2 11:52:12 2009 +0800 drm: sync the mode validation for INTERLACE/DBLSCAN Check whether the INTERLACE/DBLSCAN is supported by output device. If not, the mode containing the flag of INTERLACE/DBLSCAN will be marked as unsupported. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 16456c872e4e3d674dde73f9bdf3f69c0d95e070 Author: Dave Airlie Date: Fri Apr 3 09:10:33 2009 +1000 drm: fix typo in edid vendor parsing. Should be, edid_vendor[2] = (edid->mfg_id[1] & 0x1f) + '@'; Since vendor ID has only two bytes only, I am somewhat surprised why gcc doesn't complain this. Reported-by: Guo, Chaohong Signed-off-by: Dave Airlie commit 3c6fc3521acbee33637e7db803ac3cf3b0e2ff04 Author: Jean Delvare Date: Thu Apr 2 11:52:24 2009 +0200 DRM: drm_crtc_helper.h doesn't actually need i2c.h Remove an include that isn't actually needed to prevent needless rebuilds. Signed-off-by: Jean Delvare Signed-off-by: Dave Airlie commit 522b5cc7cec124e06629c0702ffab1307416aec7 Author: Dave Airlie Date: Tue Mar 31 15:14:39 2009 +1100 drm: fix missing inline function on 32-bit powerpc. The readq/writeq really need to be static inline on the arches which don't provide them. Reported-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit 7e90560c50f754d65884e251e94c1efa2a4b5784 Author: Luca Tettamanti Date: Mon Mar 30 00:01:27 2009 +0200 ACPI: acpi_enforce_resource=strict by default Enforce strict resource checking - disallowing access by native drivers to IO ports and memory regions claimed by ACPI firmware. The patch is mainly aimed to block native hwmon drivers from touching monitoring chips that ACPI thinks it own. If this causes a regression, boot with "acpi_enforce_resources=lax" which was the previous default. http://bugzilla.kernel.org/show_bug.cgi?id=12376 http://bugzilla.kernel.org/show_bug.cgi?id=12541 Signed-off-by: Luca Tettamanti Acked-by: Pavel Machek Acked-by: Jean Delvare Signed-off-by: Len Brown commit 67a52bb90b515c2a96ec51a3571bcd70a2fadb50 Author: Russell King Date: Thu Apr 2 23:23:43 2009 +0100 [ARM] fix build-breaking 7a192ec commit The commit: platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' contains this: -static int __exit pxa2xx_flash_remove(struct device *dev) +static int __exit pxa2xx_flash_remove(struct platform_device *dev) ... - .remove = __exit_p(pxa2xx_flash_remove), + .remove = __devexit_p(pxa2xx_flash_remove), which leads to the following build error: `pxa2xx_flash_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o This is not the only instance of it in this patch - all __exit_p's touched by this patch have been converted to __devexit_p's without regard to the original function. Let's revert this change and, if we are going to convert functions to be __devexit/__devinit, lets have that as a _separate_ patch doing just that change. Signed-off-by: Russell King commit cd02938a828f4b2098a074afb7454f106f2e8df5 Merge: 9d681f3... 172ef27... Author: Russell King Date: Thu Apr 2 23:22:11 2009 +0100 Merge branch 'smsc911x-armplatforms' of git://github.com/steveglen/linux-2.6 commit 1055f9ddad093f54dfd708a0f976582034d4ce1a Author: Jesse Barnes Date: Tue Mar 31 18:22:31 2009 -0700 drm: Use pgprot_writecombine in GEM GTT mapping to get the right bits for !PAT. Otherwise, the PAGE_CACHE_WC would end up getting us a UC-only mapping, and the write performance of GTT maps dropped 10x. Signed-off-by: Jesse Barnes [anholt: cleaned up unused var] Signed-off-by: Eric Anholt commit c293498be69816087746161338de4b81efdf69fc Author: Stoyan Gaydarov Date: Thu Apr 2 17:05:11 2009 -0400 Btrfs: BUG to BUG_ON changes Signed-off-by: Chris Mason commit b6bc978b361bb9da7526a78b0a247bdd34984282 Author: Segher Boessenkool Date: Thu Apr 2 13:57:30 2009 -0700 fsl_pq_mdio: Fix compile failure Add EXPORT_SYMBOL_GPL(fsl_pq_mdio_bus_name) for module builds Signed-off-by: Segher Boessenkool Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit 3e7ad38d20ad113158d1b4c9de0f51c04f50d4f7 Author: Dan Carpenter Date: Thu Apr 2 16:46:06 2009 -0400 Btrfs: remove dead code Remove an unneeded return statement and conditional Signed-off-by: Dan Carpenter Signed-off-by: Chris Mason commit ff0a5836ac48554b9f3b9d3c5f5bce4ddea11f1f Author: Dan Carpenter Date: Thu Apr 2 16:46:06 2009 -0400 Btrfs: remove dead code merge is always NULL at this point. Signed-off-by: Dan Carpenter Signed-off-by: Chris Mason commit d4a789474a6213d1b55b363fb1787b0abf877bba Author: Wu Fengguang Date: Thu Apr 2 16:46:06 2009 -0400 Btrfs: fix typos in comments Signed-off-by: Chris Mason commit 2e966ed22c3c56227f8a7322d7b008945352e6ab Author: Jim Owens Date: Thu Apr 2 17:02:55 2009 -0400 Btrfs: remove unused ftrace include Signed-off-by: jim owens Signed-off-by: Chris Mason commit 93dbfad7ac647d4f00354893fe93e8a55be114d5 Author: Heiko Carstens Date: Fri Apr 3 10:33:45 2009 -0400 Btrfs: fix __ucmpdi2 compile bug on 32 bit builds We get this on 32 builds: fs/built-in.o: In function `extent_fiemap': (.text+0x1019f2): undefined reference to `__ucmpdi2' Happens because of a switch statement with a 64 bit argument. Convert this to an if statement to fix this. Signed-off-by: Heiko Carstens Signed-off-by: Chris Mason commit 09771430f3b46ee27c69daa7ecad82007568e834 Author: Shen Feng Date: Thu Apr 2 16:46:06 2009 -0400 Btrfs: free inode struct when btrfs_new_inode fails btrfs_new_inode doesn't call iput to free the inode when it fails. Signed-off-by: Shen Feng Signed-off-by: Chris Mason commit b5555f77115bfba3630fefff2d4e68140b644171 Author: Amit Gud Date: Thu Apr 2 17:01:27 2009 -0400 Btrfs: fix race in worker_loop Need to check kthread_should_stop after schedule_timeout() before calling schedule(). This causes threads to sleep with potentially no one to wake them up causing mount(2) to hang in btrfs_stop_workers waiting for threads to stop. Signed-off-by: Amit Gud Signed-off-by: Chris Mason commit dccae99995089641fbac452ebc7f0cab18751ddb Author: Sage Weil Date: Thu Apr 2 16:59:01 2009 -0400 Btrfs: add flushoncommit mount option The 'flushoncommit' mount option forces any data dirtied by a write in a prior transaction to commit as part of the current commit. This makes the committed state a fully consistent view of the file system from the application's perspective (i.e., it includes all completed file system operations). This was previously the behavior only when a snapshot is created. This is used by Ceph to ensure that completed writes make it to the platter along with the metadata operations they are bound to (by BTRFS_IOC_TRANS_{START,END}). Signed-off-by: Sage Weil Signed-off-by: Chris Mason commit 3a5e14048a0a81276d284cbda441507a17e26147 Author: Sage Weil Date: Thu Apr 2 16:49:40 2009 -0400 Btrfs: notreelog mount option Add a 'notreelog' mount option to disable the tree log (used by fsync, O_SYNC writes). This is much slower, but the tree logging produces inconsistent views into the FS for ceph. Signed-off-by: Sage Weil Signed-off-by: Chris Mason commit a9572a15a854bd40453a6b7b4dd9d29132f64c64 Author: Eric Paris Date: Thu Apr 2 16:46:06 2009 -0400 Btrfs: introduce btrfs_show_options btrfs options can change at times other than mount, yet /proc/mounts shows the options string used when the fs was mounted (an example would be when btrfs determines that barriers aren't useful and turns them off.) This patch instead outputs the actual options in use by btrfs. Signed-off-by: Eric Paris Signed-off-by: Chris Mason commit fa9c0d795f7b57c76560b7fac703f5d341210e28 Author: Chris Mason Date: Fri Apr 3 09:47:43 2009 -0400 Btrfs: rework allocation clustering Because btrfs is copy-on-write, we end up picking new locations for blocks very often. This makes it fairly difficult to maintain perfect read patterns over time, but we can at least do some optimizations for writes. This is done today by remembering the last place we allocated and trying to find a free space hole big enough to hold more than just one allocation. The end result is that we tend to write sequentially to the drive. This happens all the time for metadata and it happens for data when mounted -o ssd. But, the way we record it is fairly racey and it tends to fragment the free space over time because we are trying to allocate fairly large areas at once. This commit gets rid of the races by adding a free space cluster object with dedicated locking to make sure that only one process at a time is out replacing the cluster. The free space fragmentation is somewhat solved by allowing a cluster to be comprised of smaller free space extents. This part definitely adds some CPU time to the cluster allocations, but it allows the allocator to consume the small holes left behind by cow. Signed-off-by: Chris Mason commit 8e73f275011b3264a87339fd9f1690e944e381c9 Author: Chris Mason Date: Fri Apr 3 10:14:18 2009 -0400 Btrfs: Optimize locking in btrfs_next_leaf() btrfs_next_leaf was using blocking locks when it could have been using faster spinning ones instead. This adds a few extra checks around the pieces that block and switches over to spinning locks. Signed-off-by: Chris Mason commit c8c42864f6193638eed136e0243f426a0b7f4bc2 Author: Chris Mason Date: Fri Apr 3 10:14:18 2009 -0400 Btrfs: break up btrfs_search_slot into smaller pieces btrfs_search_slot was doing too many things at once. This breaks it up into more reasonable units. Signed-off-by: Chris Mason commit 04018de5d41e6490840de9399e029fd30e78576f Author: Josef Bacik Date: Fri Apr 3 10:14:18 2009 -0400 Btrfs: kill the pinned_mutex This patch removes the pinned_mutex. The extent io map has an internal tree lock that protects the tree itself, and since we only copy the extent io map when we are committing the transaction we don't need it there. We also don't need it when caching the block group since searching through the tree is also protected by the internal map spin lock. Signed-off-by: Josef Bacik commit 6226cb0a5ea3f6289883753c15d53f48a6c6bbfb Author: Josef Bacik Date: Fri Apr 3 10:14:18 2009 -0400 Btrfs: kill the block group alloc mutex This patch removes the block group alloc mutex used to protect the free space tree for allocations and replaces it with a spin lock which is used only to protect the free space rb tree. This means we only take the lock when we are directly manipulating the tree, which makes us a touch faster with multi-threaded workloads. This patch also gets rid of btrfs_find_free_space and replaces it with btrfs_find_space_for_alloc, which takes the number of bytes you want to allocate, and empty_size, which is used to indicate how much free space should be at the end of the allocation. It will return an offset for the allocator to use. If we don't end up using it we _must_ call btrfs_add_free_space to put it back. This is the tradeoff to kill the alloc_mutex, since we need to make sure nobody else comes along and takes our space. Signed-off-by: Josef Bacik commit 2552d17e328044d1811cae733087a1fb9aac2eb6 Author: Josef Bacik Date: Fri Apr 3 10:14:19 2009 -0400 Btrfs: clean up find_free_extent I've replaced the strange looping constructs with a list_for_each_entry on space_info->block_groups. If we have a hint we just jump into the loop with the block group and start looking for space. If we don't find anything we start at the beginning and start looking. We never come out of the loop with a ref on the block_group _unless_ we found space to use, then we drop it after we set the trans block_group. Signed-off-by: Josef Bacik commit 70cb074345832b75cf422ed729706345511773b3 Author: Josef Bacik Date: Fri Apr 3 10:14:19 2009 -0400 Btrfs: free space cache cleanups This patch cleans up the free space cache code a bit. It better documents the idiosyncrasies of tree_search_offset and makes the code make a bit more sense. I took out the info allocation at the start of __btrfs_add_free_space and put it where it makes more sense. This was left over cruft from when alloc_mutex existed. Also all of the re-searches we do to make sure we inserted properly. Signed-off-by: Josef Bacik commit bedf762ba3a4b70295661fa70c29c1f18fe0f351 Author: Chris Mason Date: Fri Apr 3 10:32:58 2009 -0400 Btrfs: unplug in the async bio submission threads Btrfs pages being written get set to writeback, and then may go through a number of steps before they hit the block layer. This includes compression, checksumming and async bio submission. The end result is that someone who writes a page and then does wait_on_page_writeback is likely to unplug the queue before the bio they cared about got there. We could fix this by marking bios sync, or by doing more frequent unplugs, but this commit just changes the async bio submission code to unplug after it has processed all the bios for a device. The async bio submission does a fair job of collection bios, so this shouldn't be a huge problem for reducing merging at the elevator. For streaming O_DIRECT writes on a 5 drive array, it boosts performance from 386MB/s to 460MB/s. Thanks to Hisashi Hifumi for helping with this work. Signed-off-by: Chris Mason commit b765ead57da62cccf7fa21e00e6eed65e9df62b0 Author: Chris Mason Date: Fri Apr 3 10:27:10 2009 -0400 Btrfs: keep processing bios for a given bdev if our proc is batching Btrfs uses async helper threads to submit write bios so the checksumming helper threads don't block on the disk. The submit bio threads may process bios for more than one block device, so when they find one device congested they try to move on to other devices instead of blocking in get_request_wait for one device. This does a pretty good job of keeping multiple devices busy, but the congested flag has a number of problems. A congested device may still give you a request, and other procs that aren't backing off the congested device may starve you out. This commit uses the io_context stored in current to decide if our process has been made a batching process by the block layer. If so, it keeps sending IO down for at least one batch. This helps make sure we do a good amount of work each time we visit a bdev, and avoids large IO stalls in multi-device workloads. It's also very ugly. A better solution is in the works with Jens Axboe. Signed-off-by: Chris Mason commit 5b5d9117407e790ade594687010343c5d559a1f4 Author: Rusty Russell Date: Thu Mar 12 09:07:19 2009 +1030 ACPI: simplify module_param namespace Impact: cleanup Rather than overriding MODULE_PARAM_PREFIX, build via acpi.o so KBUILD_MODNAME is set to "acpi". This is the logical way to do it, even though acpi cannot be a module due to these config options being bool. Those parts of ACPI which can be modular are not built into the acpi "module". Signed-off-by: Rusty Russell Signed-off-by: Len Brown commit 99360b4c18f7675b50d283301d46d755affe75fd Author: Mikulas Patocka Date: Thu Apr 2 19:55:39 2009 +0100 dm: set queue ordered mode Set queue ordered mode. It doesn't really matter what we set here because we don't ever put any requests on the queue. But we need to set something other than QUEUE_ORDERED_NONE so that __generic_make_request passes barrier requests to us. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit b44ebeb017b8a5fe5439e1259708b68cf83a8921 Author: Mikulas Patocka Date: Thu Apr 2 19:55:39 2009 +0100 dm: move wait queue declaration Move wait queue declaration and unplug to dm_wait_for_completion. The purpose is to minimize duplicate code in the further patches. The patch reorders functions a little bit. It doesn't change any functionality. For proper non-deadlock operation, add_wait_queue must happen before set_current_state(interruptible) and before the test for !atomic_read(&md->pending). Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 022c261100e15652d720395b17ce76304fb2f97f Author: Mikulas Patocka Date: Thu Apr 2 19:55:39 2009 +0100 dm: merge pushback and deferred bio lists Merge pushback and deferred lists into one list - use deferred list for both deferred and pushed-back bios. This will be needed for proper support of barrier bios: it is impossible to support ordering correctly with two lists because the requests on both lists will be mixed up. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 401600dfd368305e641d79db16d514f55c084544 Author: Mikulas Patocka Date: Thu Apr 2 19:55:38 2009 +0100 dm: allow uninterruptible wait for pending io Allow uninterruptible wait for pending IOs. Add argument "interruptible" to dm_wait_for_completion that specifies either interruptible or uninterruptible waiting. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit ef2085870ea448b3c19160d899cf4f948da6a384 Author: Mikulas Patocka Date: Thu Apr 2 19:55:38 2009 +0100 dm: merge __flush_deferred_io into caller Merge __flush_deferred_io() into the only caller, dm_wq_work(). There's no need to have a function that has only one caller. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit f0b9a4502baa18f8a255a2866bb4e0655fb35974 Author: Mikulas Patocka Date: Thu Apr 2 19:55:38 2009 +0100 dm: move bio_io_error into __split_and_process_bio Move the bio_io_error() calls directly into __split_and_process_bio(). This avoids some code duplication in later patches. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 8a53c28db42853591edbe8103e2ce3c4f2917f42 Author: Mikulas Patocka Date: Thu Apr 2 19:55:37 2009 +0100 dm: rename __split_bio Rename __split_bio() to __split_and_process_bio() because it not only splits the bio to serveral parts, but also submits them to target drivers. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 53d5914f288b67ddc4d594d6a09568fe114bb909 Author: Mikulas Patocka Date: Thu Apr 2 19:55:37 2009 +0100 dm: remove unnecessary struct dm_wq_req Remove struct dm_wq_req and move "work" directly into struct mapped_device. In the revised implementation, the thread will do just one type of work (processing the queue). Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 9a1fb46448cac50e93115322ad28f417936f7852 Author: Mikulas Patocka Date: Thu Apr 2 19:55:36 2009 +0100 dm: remove unnecessary work queue context field Remove the context field from struct dm_wq_req because we will no longer need it. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 143773965b4677bd72dbbf71f52bea0df2ed4e18 Author: Mikulas Patocka Date: Thu Apr 2 19:55:36 2009 +0100 dm: remove unnecessary work queue type field Remove "type" field from struct dm_wq_req because we no longer need it to have more than one value. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 99c75e3130cff0c869c657ee97fb4a68958eeffc Author: Mikulas Patocka Date: Thu Apr 2 19:55:36 2009 +0100 dm: bio list add bio_list_add_head Introduce a function that adds a bio to the head of the list for use by the patch that will support barriers. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit a32079ce17899192a7b98a42753be467605a8b2f Author: Jonathan Brassow Date: Thu Apr 2 19:55:35 2009 +0100 dm snapshot: persistent fix dtr cleanup The persistent exception store destructor does not properly account for all conditions in which it can be called. If it is called after 'ctr' but before 'read_metadata' (e.g. if something else in 'snapshot_ctr' fails) then it will attempt to free areas of memory that haven't been allocated yet. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 1e302a929e2da6e8448e2058e4b07b07252b57fe Author: Jonathan Brassow Date: Thu Apr 2 19:55:35 2009 +0100 dm snapshot: move status to exception store Let the exception store types print out their status through the new API, rather than having the snapshot code do it. Adjust the buffer position to allow for the preceding DMEMIT in the arguments to type->status(). Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit fee1998e9c690f9920671e1e0ef187a48cfbbde4 Author: Jonathan Brassow Date: Thu Apr 2 19:55:34 2009 +0100 dm snapshot: move ctr parsing to exception store First step of having the exception stores parse their own arguments - generalizing the interface. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 2e4a31df2b10cbcaf43c333112f6f7440a035c69 Author: Jonathan Brassow Date: Thu Apr 2 19:55:34 2009 +0100 dm snapshot: use DMEMIT macro for status Use DMEMIT in place of snprintf. This makes it easier later when other modules are helping to populate our status output. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit ccc45ea8aeffec49fa5985efc3649aa67bb4fcb7 Author: Jonathan Brassow Date: Thu Apr 2 19:55:34 2009 +0100 dm snapshot: remove dm_snap header Move some of the last bits from dm-snap.h into dm-snap.c where they belong and remove dm-snap.h. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 71fab00a6bef7fb53119271a8abdbaf40970d28a Author: Jonathan Brassow Date: Thu Apr 2 19:55:33 2009 +0100 dm snapshot: remove dm_snap header use Move useful functions out of dm-snap.h and stop using dm-snap.h. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 49beb2b87a972a994ff77633234ca3bf0d30a1d8 Author: Jonathan Brassow Date: Thu Apr 2 19:55:33 2009 +0100 dm exception store: move cow pointer Move COW device from snapshot to exception store. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit d0216849519bec8dc96301a3cd80316e71243839 Author: Jonathan Brassow Date: Thu Apr 2 19:55:32 2009 +0100 dm exception store: move chunk_fields Move chunk fields from snapshot to exception store. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 0cea9c78270cdf1d2ad74ce0e083d5555a0842e8 Author: Jonathan Brassow Date: Thu Apr 2 19:55:32 2009 +0100 dm exception store: move dm_target pointer Move target pointer from snapshot to exception store. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 493df71c6420b211a68ae82b889c1e8a5fe701be Author: Jonathan Brassow Date: Thu Apr 2 19:55:31 2009 +0100 dm exception store: introduce registry Move exception stores into a registry. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 7513c2a761d69d2a93f17146b3563527d3618ba0 Author: Jonathan Brassow Date: Thu Apr 2 19:55:30 2009 +0100 dm raid1: add is_remote_recovering hook for clusters The logging API needs an extra function to make cluster mirroring possible. This new function allows us to check whether a mirror region is being recovered on another machine in the cluster. This helps us prevent simultaneous recovery I/O and process I/O to the same locations on disk. Cluster-aware log modules will implement this function. Single machine log modules will not. So, there is no performance penalty for single machine mirrors. Signed-off-by: Jonathan Brassow Acked-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit b2a114652940ccf7e9668ad447ca78bf16a31139 Author: Jonathan Brassow Date: Thu Apr 2 19:55:30 2009 +0100 dm exception store: separate type from instance Introduce struct dm_exception_store_type. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit ec44ab9d6681ddf9026b593e866bec9c0e075e1d Author: Mike Snitzer Date: Thu Apr 2 19:55:30 2009 +0100 dm log: remove struct dm_dirty_log_internal Remove the 'dm_dirty_log_internal' structure. The resulting cleanup eliminates extra memory allocations. Therefore exposing the internal list_head to the external 'dm_dirty_log_type' structure is a worthwhile compromise. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit 84e67c9319eb2232757a022c24f6a461291eaee5 Author: Mike Snitzer Date: Thu Apr 2 19:55:29 2009 +0100 dm log: use standard kernel module refcount Avoid private module usage accounting by removing 'use' from dm_dirty_log_internal. The standard module reference counting is sufficient. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit b81d6cf79b57f6123a5d4f7a4932cc359995484d Author: Johannes Weiner Date: Thu Apr 2 19:55:28 2009 +0100 dm crypt: use kzfree Use kzfree() instead of memset() + kfree(). Signed-off-by: Johannes Weiner Reviewed-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit 45194e4f89fbdd97a2b7d2698c05f0b00c19e820 Author: Cheng Renquan Date: Thu Apr 2 19:55:28 2009 +0100 dm target: remove struct tt_internal The tt_internal is really just a list_head to manage registered target_type in a double linked list, Here embed the list_head into target_type directly, 1. to avoid kmalloc/kfree; 2. then tt_internal is really unneeded; Cc: stable@kernel.org Signed-off-by: Cheng Renquan Signed-off-by: Alasdair G Kergon Reviewed-by: Alasdair G Kergon commit 570b9d968bf9b16974252ef7cbce73fa6dac34f3 Author: Alasdair G Kergon Date: Thu Apr 2 19:55:28 2009 +0100 dm table: fix upgrade mode race upgrade_mode() sets bdev to NULL temporarily, and does not have any locking to exclude anything from seeing that NULL. In dm_table_any_congested() bdev_get_queue() can dereference that NULL and cause a reported oops. Fix this by not changing that field during the mode upgrade. Cc: stable@kernel.org Cc: Neil Brown Signed-off-by: Alasdair G Kergon commit aea9058801c0acfa2831af1714da412dfb0018c2 Author: Jun'ichi Nomura Date: Thu Apr 2 19:55:27 2009 +0100 dm: path selector use module refcount directly Fix refcount corruption in dm-path-selector Refcounting with non-atomic ops under shared lock will corrupt the counter in multi-processor system and may trigger BUG_ON(). Use module refcount. # same approach as dm-target-use-module-refcount-directly.patch here # https://www.redhat.com/archives/dm-devel/2008-December/msg00075.html Typical oops: kernel BUG at linux-2.6.29-rc3/drivers/md/dm-path-selector.c:90! Pid: 11148, comm: dmsetup Not tainted 2.6.29-rc3-nm #1 dm_put_path_selector+0x4d/0x61 [dm_multipath] Call Trace: [] free_priority_group+0x33/0xb3 [dm_multipath] [] free_multipath+0x31/0x67 [dm_multipath] [] multipath_dtr+0x2d/0x32 [dm_multipath] [] dm_table_destroy+0x64/0xd8 [dm_mod] [] __unbind+0x46/0x4b [dm_mod] [] dm_swap_table+0x60/0x14d [dm_mod] [] dev_suspend+0xfd/0x177 [dm_mod] [] dm_ctl_ioctl+0x24c/0x29c [dm_mod] [] ? get_page_from_freelist+0x49c/0x61d [] ? dev_suspend+0x0/0x177 [dm_mod] [] vfs_ioctl+0x2a/0x77 [] do_vfs_ioctl+0x448/0x4a0 [] sys_ioctl+0x57/0x7a [] system_call_fastpath+0x16/0x1b Cc: stable@kernel.org Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 5642b8a61a15436231adf27b2b1bd96901b623dd Author: Cheng Renquan Date: Thu Apr 2 19:55:27 2009 +0100 dm target: use module refcount directly The tt_internal's 'use' field is superfluous: the module's refcount can do the work properly. An acceptable side-effect is that this increases the reference counts reported by 'lsmod'. Remove the superfluous test when removing a target module. [Crash possible without this on SMP - agk] Cc: stable@kernel.org Signed-off-by: Cheng Renquan Signed-off-by: Alasdair G Kergon Reviewed-by: Alasdair G Kergon Reviewed-by: Jonathan Brassow commit 35bf659b008e83e725dcd30f542e38461dbb867c Author: Mikulas Patocka Date: Thu Apr 2 19:55:26 2009 +0100 dm snapshot: avoid having two exceptions for the same chunk We need to check if the exception was completed after dropping the lock. After regaining the lock, __find_pending_exception checks if the exception was already placed into &s->pending hash. But we don't check if the exception was already completed and placed into &s->complete hash. If the process waiting in alloc_pending_exception was delayed at this point because of a scheduling latency and the exception was meanwhile completed, we'd miss that and allocate another pending exception for already completed chunk. It would lead to a situation where two records for the same chunk exist and potential data corruption because multiple snapshot I/Os to the affected chunk could be redirected to different locations in the snapshot. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit c66213921c816f6b1b16a84911618ba9a363b134 Author: Mikulas Patocka Date: Thu Apr 2 19:55:25 2009 +0100 dm snapshot: avoid dropping lock in __find_pending_exception It is uncommon and bug-prone to drop a lock in a function that is called with the lock held, so this is moved to the caller. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 2913808eb56a6445a7b277eb8d17651c8defb035 Author: Mikulas Patocka Date: Thu Apr 2 19:55:25 2009 +0100 dm snapshot: refactor __find_pending_exception Move looking-up of a pending exception from __find_pending_exception to another function. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit b64b6bf4fd8b678a9f8477c11773c38a0a246a6d Author: Mikulas Patocka Date: Thu Apr 2 19:55:24 2009 +0100 dm io: make sync_io uninterruptible If someone sends signal to a process performing synchronous dm-io call, the kernel may crash. The function sync_io attempts to exit with -EINTR if it has pending signal, however the structure "io" is allocated on stack, so already submitted io requests end up touching unallocated stack space and corrupting kernel memory. sync_io sets its state to TASK_UNINTERRUPTIBLE, so the signal can't break out of io_schedule() --- however, if the signal was pending before sync_io entered while (1) loop, the corruption of kernel memory will happen. There is no way to cancel in-progress IOs, so the best solution is to ignore signals at this point. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 95f8fac8dc6139fedfb87746e0c8fda9b803cb46 Author: Mikulas Patocka Date: Thu Apr 2 19:55:24 2009 +0100 dm raid1: switch read_record from kmalloc to slab to save memory With my previous patch to save bi_io_vec, the size of dm_raid1_read_record is significantly increased (the vector list takes 3072 bytes on 32-bit machines and 4096 bytes on 64-bit machines). The structure dm_raid1_read_record used to be allocated with kmalloc, but kmalloc aligns the size on the next power-of-two so an object slightly greater than 4096 will allocate 8192 bytes of memory and half of that memory will be wasted. This patch turns kmalloc into a slab cache which doesn't have this padding so it will reduce the memory consumed. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit a920f6b3accc77d9dddbc98a7426be23ee479625 Author: Mikulas Patocka Date: Thu Apr 2 19:55:23 2009 +0100 dm: preserve bi_io_vec when resubmitting bios Device mapper saves and restores various fields in the bio, but it doesn't save bi_io_vec. If the device driver modifies this after a partially successful request, dm-raid1 and dm-multipath may attempt to resubmit a bio that has bi_size inconsistent with the size of vector. To make requests resubmittable in dm-raid1 and dm-multipath, we must save and restore the bio vector as well. To reduce the memory overhead involved in this, we do not save the pages in a vector and use a 16-bit field size if the page size is less than 65536. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 172ef275444efa12d834fb9d1b1acdac92db47f7 Author: Steve Sakoman Date: Mon Feb 2 06:27:49 2009 +0000 ARM: Add SMSC911X support to Overo platform (V2) Gumstix will soon be shipping a variant of their Summit board that includes an SMSC LAN9221 ethernet interface. This patch provides support via the smsc911x driver when enabled in kernel config. The Overo defconfig is not updated since the LAN9221 is an option not present on all systems. Signed-off-by: Steve Sakoman Signed-off-by: Tony Lindgren Acked-by: Steve Glendinning commit 162e8a415f4e6900f1f157c4a2ad68147b0a899c Author: Stanley.Miao Date: Tue Jan 20 17:06:10 2009 +0000 arm: update omap_ldp defconfig to use smsc911x Signed-off-by: Stanley.Miao commit f61eafb3a5441b16c90e100c2cd743be7932fdc9 Author: Steve Glendinning Date: Tue Jan 20 13:23:38 2009 +0000 arm: update realview defconfigs to use smsc911x Signed-off-by: Steve Glendinning commit 96b6938ad94c980e72261c7645722a84e5a295eb Author: Steve Glendinning Date: Tue Jan 20 13:22:48 2009 +0000 arm: update pcm037 defconfig to use smsc911x Signed-off-by: Steve Glendinning Acked-by: Sascha Hauer Tested-by: Sascha Hauer commit 1c0e147eb6d7037957b5c53a96b82c40b75787c2 Author: Steve Glendinning Date: Fri Jan 23 17:09:13 2009 +0000 arm: convert omap ldp platform to use smsc911x from 2.6.29, smc911x isn't maintained anymore. A new driver, smsc911x, will replace it. so convert omap_ldp to use smsc911x driver. Signed-off-by: Stanley.Miao Signed-off-by: Steve Glendinning commit c5142e84f3a39c6396ce2ddde01b1e420a67464a Author: Steve Glendinning Date: Tue Jan 20 13:23:30 2009 +0000 arm: convert realview platform to use smsc911x Signed-off-by: Steve Glendinning commit 4353318ed5fe95debb8a80f289ebf1c03244cf9c Author: Steve Glendinning Date: Tue Jan 20 13:22:29 2009 +0000 arm: convert pcm037 platform to use smsc911x Updated to also specify SMSC911X_FORCE_INTERNAL_PHY, as the external phy detection hardware strap is incorrectly pulled high on this platform. Signed-off-by: Steve Glendinning Acked-by: Sascha Hauer Tested-by: Sascha Hauer commit 9d681f3a1b27fdfc17ea251cf8d5f627dab34670 Author: Santosh Shilimkar Date: Thu Apr 2 15:28:58 2009 +0100 [ARM] 5444/1: ARM: Realview: Fix event-device multiplicators in localtimer.c Set the "mult" to finite value in the local_timer_setup in case of CONFIG_LOCAL_TIMERS not enabled. Othewise this throws warning in the boot log because of detect zero event-device multiplicators. This can cause division-by-zero crashes. Signed-off-by: Santosh Shilimkar Signed-off-by: Russell King commit a7f8c50d90a4e983c456ae75e534b5cd6c03674b Author: Akinobu Mita Date: Thu Apr 2 16:01:26 2009 +0900 x86, mm: fix misuse of debug_kmap_atomic Impact: fix CONFIG_DEBUG_HIGHMEM=y breakage Commit 7ca43e756 ("mm: use debug_kmap_atomic") introduced some debug_kmap_atomic() calls in the wrong places. Signed-off-by: Akinobu Mita Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: <20090402070126.GA3951@localhost.localdomain> Signed-off-by: Ingo Molnar commit 83f2f0ed715eb15a8e13c07df479d65bbc10d8d5 Merge: 3de46fd... 4fe7041... Author: Ingo Molnar Date: Thu Apr 2 16:33:42 2009 +0200 Merge branch 'linus' into x86/urgent Merge needed to go past commit 7ca43e756 (mm: use debug_kmap_atomic) and fix it. Signed-off-by: Ingo Molnar commit 276e79ee6b3ff670dc9c041178da4b61af456a27 Merge: 3b5a536... b9d65c0... Author: Jesper Nilsson Date: Thu Apr 2 16:02:42 2009 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask-for-cris into for-next commit 3b5a53689730bef6cb4dfde1de53e836e5299547 Author: Jesper Nilsson Date: Thu Apr 2 15:57:45 2009 +0200 CRISv32: Remove extraneous space between -I and the path. Fixes build error: LD init/built-in.o LD vmlinux SYSMAP System.map OBJCOPY arch/cris/arch-v32/boot/Image Kernel: arch/cris/arch-v32/boot/Image is ready GZIP arch/cris/arch-v32/boot/compressed/piggy.gz AS arch/cris/arch-v32/boot/compressed/head.o crisv32-axis-linux-gnu-gcc: cannot specify -o with -c or -S and multiple compilations make[3]: *** [arch/cris/arch-v32/boot/compressed/head.o] Error 1 make[2]: *** [arch/cris/arch-v32/boot/compressed/vmlinux] Error 2 make[1]: *** [zImage] Error 2 make: *** [sub-make] Error 2 Signed-off-by: Jesper Nilsson commit 53a52abcf32666819db35d67269e1ed64f7b2b7a Author: Paul Mundt Date: Thu Apr 2 22:02:26 2009 +0900 sh: update defconfigs. Signed-off-by: Paul Mundt commit c01ce82941af2e45c6f760d274bf33b485d60d1e Author: Thomas Gleixner Date: Wed Mar 11 01:46:11 2009 +0100 cris: convert obsolete hw_interrupt_type to struct irq_chip Impact: cleanup Convert the last remaining users to struct irq_chip. Signed-off-by: Thomas Gleixner CC: Mikael Starvik Signed-off-by: Jesper Nilsson commit fc280c9692031ee41545d6bea00bbb7c7dec97a9 Author: Miklos Szeredi Date: Thu Apr 2 14:25:35 2009 +0200 fuse: allow private mappings of "direct_io" files Allow MAP_PRIVATE mmaps of "direct_io" files. This is necessary for execute support. MAP_SHARED mappings require some sort of coherency between the underlying file and the mapping. With "direct_io" it is difficult to provide this, so for the moment just disallow shared (read-write and read-only) mappings altogether. Signed-off-by: Miklos Szeredi commit f4975c67dd9ad8eb47a4c77af0521a2b16ee0197 Author: Miklos Szeredi Date: Thu Apr 2 14:25:34 2009 +0200 fuse: allow kernel to access "direct_io" files Allow the kernel read and write on "direct_io" files. This is necessary for nfs export and execute support. The implementation is simple: if an access from the kernel is detected, don't perform get_user_pages(), just use the kernel address provided by the requester to copy from/to the userspace filesystem. Signed-off-by: Miklos Szeredi commit 59b97760771143a2e4221df1c517f915cdb303f7 Author: Stoyan Gaydarov Date: Tue Mar 10 06:10:40 2009 +0100 BUG to BUG_ON changes Signed-off-by: Stoyan Gaydarov Signed-off-by: Jesper Nilsson commit 146bca72c7e6ba52de82a63b1fce7934dc103dbc Author: Jan Kara Date: Mon Mar 16 18:27:37 2009 +0100 udf: Don't write integrity descriptor too often We update information in logical volume integrity descriptor after each allocation (as LVID contains free space, number of directories and files on disk etc.). If the filesystem is on some phase change media, this leads to its quick degradation as such media is able to handle only 10000 overwrites or so. We solve the problem by writing new information into LVID only on umount, remount-ro and sync. This solves the problem at the price of longer media inconsistency (previously media became consistent after pdflush flushed dirty LVID buffer) but that should be acceptable. Report by and patch written in cooperation with Rich Coe . Signed-off-by: Jan Kara commit 40346005166329bc4b53e0c564aff3968c1ddaa0 Author: Jan Kara Date: Thu Mar 19 16:21:38 2009 +0100 udf: Try anchor in block 256 first Anchor block can be located at several places on the medium. Two of the locations are relative to media end which is problematic to detect. Also some drives report some block as last but are not able to read it or any block nearby before it. So let's first try block 256 and if it is all fine, don't look at other possible locations of anchor blocks to avoid IO errors. This change required a larger reorganization of code but the new code is hopefully more readable and definitely shorter. Signed-off-by: Jan Kara commit 225feded89d447c2ab76e38e67ef56860c5bb60f Author: Jan Kara Date: Wed Mar 11 16:02:04 2009 +0100 udf: Some type fixes and cleanups Make udf_check_valid() return 1 if the validity check passed and 0 otherwise. So far it was the other way around which was a bit confusing. Also make udf_vrs() return loff_t which is really the type it should return (not int). Signed-off-by: Jan Kara commit 1197e4dfcf4ac17d763a59e5de1d4d4b9781a555 Author: Clemens Ladisch Date: Wed Mar 11 15:57:47 2009 +0100 udf: use hardware sector size This patch makes the UDF FS driver use the hardware sector size as the default logical block size, which is required by the UDF specifications. While the previous default of 2048 bytes was correct for optical disks, it was not for hard disks or USB storage devices, and made it impossible to use such a device with the default mount options. (The Linux mkudffs tool uses a default block size of 2048 bytes even on devices with smaller hardware sectors, so this bug is unlikely to be noticed unless UDF-formatted USB storage devices are exchanged with other OSs.) To avoid regressions for people who use loopback optical disk images or who used the (sometimes wrong) defaults of mkudffs, we also try with a block size of 2048 bytes if no anchor was found with the hardware sector size. Signed-off-by: Clemens Ladisch Signed-off-by: Jan Kara commit 4136801aec27b56ae4d06b638b4e9956346b08c8 Author: Clemens Ladisch Date: Fri Mar 6 09:16:49 2009 +0100 udf: fix novrs mount option The novrs mount option was broken due to a missing break. Signed-off-by: Clemens Ladisch Signed-off-by: Jan Kara commit 59285c28d18b77437e6dc7c2abb9aaee10ec3a75 Author: Jan Kara Date: Wed Feb 4 19:46:11 2009 +0100 udf: Fix oops when invalid character in filename occurs Functions udf_CS0toNLS() and udf_NLStoCS0() didn't count with the fact that NLS can return negative length when invalid character is given to it for conversion. Thus interesting things could happen (such as overwriting random memory with the rest of filename). Add appropriate checks. Signed-off-by: Jan Kara commit 557f5a1468394069da2bd6a63e23970ff12aa072 Author: Coly Li Date: Tue Jan 20 01:36:55 2009 +0800 udf: return f_fsid for statfs(2) This patch makes udf return f_fsid info for statfs(2). Signed-off-by: Coly Li Cc: Jan Kara Signed-off-by: Jan Kara commit f90981fed974759b5057c5a04299fe03d9dbf1d2 Author: Jan Kara Date: Wed Dec 3 17:31:39 2008 +0100 udf: Add checks to not underflow sector_t Signed-off-by: Jan Kara commit 87bc730c07a0884d14d6af5c9d49f4669c0a0589 Author: Marcin Slusarz Date: Tue Dec 2 13:40:11 2008 +0100 udf: fix default mode and dmode options handling On x86 (and several other archs) mode_t is defined as "unsigned short" and comparing unsigned shorts to negative ints is broken (because short is promoted to int and then compared). Fix it. Reported-and-tested-by: Laurent Riffard Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit e650b94addfbf072952df762e6f1c6c9e26c4f9c Author: Jan Kara Date: Mon Dec 1 13:06:10 2008 +0100 udf: fix sparse warnings: Fix sparse warnings: fs/udf/balloc.c:843:3: warning: returning void-valued expression fs/udf/balloc.c:847:3: warning: returning void-valued expression fs/udf/balloc.c:851:3: warning: returning void-valued expression fs/udf/balloc.c:855:3: warning: returning void-valued expression Reported-by: Hannes Eder Signed-off-by: Jan Kara commit 30930554f23511645ad9cfb89792219bf398b654 Author: roel kluin Date: Wed Oct 29 17:23:54 2008 -0400 udf: unsigned last[i] cannot be less than 0 unsigned last[i] cannot be less than 0 Signed-off-by: Roel Kluin Signed-off-by: Jan Kara commit 7ac9bcd5da59dd96eb1153d3fc04c3471fa5c09d Author: Marcin Slusarz Date: Sun Nov 16 20:52:19 2008 +0100 udf: implement mode and dmode mounting options "dmode" allows overriding permissions of directories and "mode" allows overriding permissions of files. Signed-off-by: Marcin Slusarz Cc: Jan Kara Signed-off-by: Jan Kara commit 530f1a5e3e93a038a457faf716975ed19f82831d Author: Marcin Slusarz Date: Sun Nov 16 19:02:45 2008 +0100 udf: reduce stack usage of udf_get_filename Allocate strings with kmalloc. Checkstack output: Before: udf_get_filename: 600 After: udf_get_filename: 136 Signed-off-by: Marcin Slusarz Cc: Jan Kara Signed-off-by: Jan Kara commit ba9aadd80c24775e55a93ebe0c2491b4d2899257 Author: Marcin Slusarz Date: Sun Nov 16 19:01:44 2008 +0100 udf: reduce stack usage of udf_load_pvoldesc Allocate strings with kmalloc. Checkstack output: Before: udf_process_sequence: 712 After: udf_process_sequence: 200 Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 97e961fdbf32488b7386c9f1effa2bee97d47929 Author: Pekka Enberg Date: Wed Oct 15 12:29:03 2008 +0200 Fix the udf code not to pass structs on stack where possible. Signed-off-by: Pekka Enberg Signed-off-by: Jan Kara commit 5ca4e4be841e389d7d17833fef7be2359f290163 Author: Pekka Enberg Date: Wed Oct 15 12:28:03 2008 +0200 Remove struct typedefs from fs/udf/ecma_167.h et al. Signed-off-by: Pekka Enberg Signed-off-by: Jan Kara commit 91c39dcb7365ed1ff34ee9b3541304da5c942696 Author: Mike Rapoport Date: Thu Apr 2 10:21:29 2009 +0100 [ARM] 5442/1: pxa/cm-x255: fix reverse RDY gpios in PCMCIA driver fix reverse RDY gpios in PCMCIA driver Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit e8208828dc014dc0193dc5558995556df0fbe3a5 Author: Paul Mundt Date: Thu Apr 2 17:40:16 2009 +0900 sh: Kill off broken direct-mapped cache mode. Forcing direct-mapped worked on certain older 2-way set associative parts, but was always error prone on 4-way parts. As these are the norm these days, there is not much point in continuing to support this mode. Most of the folks that used direct-mapped mode generally just wanted writethrough caching in the first place.. Signed-off-by: Paul Mundt commit edd4070f5d943b35e3e1a2e5e95e4a2eebb11d53 Author: Jesper Dangaard Brouer Date: Tue Mar 31 09:36:48 2009 +0000 Doc: Fix spelling in RCU/rculist_nulls.txt. Doc: Fix spelling in RCU/rculist_nulls.txt. Trival spelling fixes in RCU/rculist_nulls.txt. Reviewed-by: Paul E. McKenney Signed-off-by: Jesper Dangaard Brouer Tested-by: Jarek Poplawski Signed-off-by: David S. Miller commit 3943ac5d99ec024f97442e5f3def1034bb0b1bb0 Author: Jesper Dangaard Brouer Date: Sun Mar 29 23:03:01 2009 +0000 Doc: Fix wrong API example usage of call_rcu(). At some point the API of call_rcu() changed from three parameters to two parameters, correct the documentation. One confusing thing in RCU/listRCU.txt, which is NOT fixed in this patch, is that no reason or explaination is given for using call_rcu() instead of the normal synchronize_rcu() call. Reviewed-by: Paul E. McKenney Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 9ba30d74446dd0629d797ecd038379725d351bc6 Author: Jesper Dangaard Brouer Date: Sun Mar 29 23:02:56 2009 +0000 Doc: Fix missing whitespaces in RCU documentation. Trivial fix while reading through the RCU docs. Reviewed-by: Paul E. McKenney Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 0ac023faa69e54c0c443da360fa2bf8fbd9e3078 Author: Anton Vorontsov Date: Tue Mar 31 08:33:52 2009 +0000 fsl_pq_mdio: Revive UCC MDIO support commit 1577ecef766650a57fceb171acee2b13cbfaf1d3 ("netdev: Merge UCC and gianfar MDIO bus drivers") introduced a regression so that UCC MDIO buses no longer work. This is because fsl_pq_mdio driver wrongly masks all non-TBI PHYs for !fsl,gianfar-mdio buses, while it should do that only for fsl,gianfar-tbi buses. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit da1aa63ec3b4e9b4c5680f06288f57f44caa61b8 Author: Anton Vorontsov Date: Thu Apr 2 01:26:07 2009 -0700 ucc_geth: Pass proper device to DMA routines, otherwise oops happens The driver should pass a device that actually specifies internal DMA ops, but currently it passes netdev's device, which is wrong and that causes following oops: Kernel BUG at c01c4df8 [verbose debug info unavailable] Oops: Exception in kernel mode, sig: 5 [#1] [...] NIP [c01c4df8] get_new_skb+0x7c/0xf8 LR [c01c4da4] get_new_skb+0x28/0xf8 Call Trace: [ef82be00] [c01c4da4] get_new_skb+0x28/0xf8 (unreliable) [ef82be20] [c01c4eb8] rx_bd_buffer_set+0x44/0x98 [ef82be40] [c01c62bc] ucc_geth_startup+0x11b0/0x147c [ef82be80] [c01c6674] ucc_geth_open+0xec/0x2a4 [ef82bea0] [c02288a4] dev_open+0xc0/0x11c [...] Fix this by passing of_device's device that specifies DMA ops in its archdata. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 050cc1f568e896a615110109999ed60ef75edf93 Author: Alan Carvalho de Assis Date: Tue Mar 31 03:36:39 2009 +0000 i.MX31: Fixing cs89x0 network building to i.MX31ADS This is a fix to get cs89x0 network driver working on i.MX31ADS Signed-off-by: Alan Carvalho de Assis Signed-off-by: David S. Miller commit a2c465db9d5577b601e9b5a4bebc87fdea1ccabe Author: Atsushi Nemoto Date: Thu Apr 2 01:17:36 2009 -0700 tc35815: Fix build error if NAPI enabled This driver contains experimental NAPI code disabled by default. The commit bea3348ee ("[NET]: Make NAPI polling independent of struct net_device objects.") converted the NAPI path of this driver but that conversion was not complete. This patch fixes a build error introduced by the commit. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 9961d84270ce1d5f4c662382acf0b418a3ff6a0f Author: Jan Dumon Date: Thu Apr 2 01:16:44 2009 -0700 hso: add Vendor/Product ID's for new devices Add Vendor/Product ID's for new devices. Removed duplicate product ID 0x7361. Signed-off-by: Jan Dumon Signed-off-by: David S. Miller commit 530e2eba0b49ec1d1321dd8ac8bf6b5376e7b684 Author: Kumar Gala Date: Tue Mar 31 03:42:59 2009 +0000 ucc_geth: Remove unused header Now that the driver is exclusively an of_platform driver we no longer use the structs and #defines in fsl_devices.h Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit 53ea219cd18140a8d41d7b1b6d6735ba493a67bb Author: Kumar Gala Date: Tue Mar 31 03:42:58 2009 +0000 gianfar: Remove unused header Now that the driver is exclusively an of_platform driver we no longer use the structs and #defines in fsl_devices.h Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit 4ff61c8f7b5e1e60620a04a64ac0715c0822fdac Author: Larry Finger Date: Thu Apr 2 01:09:43 2009 -0700 kaweth: Fix locking to be SMP-safe On an SMP system, the following message is printed. The patch below gets fixes the problem. ================================= [ INFO: inconsistent lock state ] 2.6.29-Linus-05093-gc31f403 #57 --------------------------------- inconsistent {hardirq-on-W} -> {in-hardirq-W} usage. bash/4105 [HC1[1]:SC0[0]:HE0:SE1] takes: (&kaweth->device_lock){+...}, at: [] kaweth_usb_receive+0x77/0x1af [kaw eth] {hardirq-on-W} state was registered at: [] __lock_acquire+0x753/0x1685 [] lock_acquire+0x55/0x71 [] _spin_lock+0x31/0x3d [] kaweth_start_xmit+0x2b/0x1e1 [kaweth] [] dev_hard_start_xmit+0x22e/0x2ad [] __qdisc_run+0xf2/0x203 [] dev_queue_xmit+0x263/0x39b [] packet_sendmsg_spkt+0x1c4/0x20a [af_packet] [] sock_sendmsg+0xe4/0xfd [] sys_sendto+0xe4/0x10c [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff irq event stamp: 1280 hardirqs last enabled at (1279): [] _spin_unlock_irqrestore+0x44/0x4c hardirqs last disabled at (1280): [] save_args+0x67/0x70 softirqs last enabled at (660): [] __do_softirq+0x14d/0x15d softirqs last disabled at (651): [] call_softirq+0x1c/0x28 Signed-off-by: Larry Finger Signed-off-by: David S. Miller commit f2bde7328633269ee935d9ed96535ade15cc348f Author: Stephen Hemminger Date: Wed Apr 1 11:20:20 2009 +0000 net: allow multiple dev per napi with GRO GRO assumes that there is a one-to-one relationship between NAPI structure and network device. Some devices like sky2 share multiple devices on a single interrupt so only have one NAPI handler. Rather than split GRO from NAPI, just have GRO assume if device changes that it is a different flow. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d78ad8cbfe73ad568de38814a75e9c92ad0a907c Author: Karsten Wiese Date: Thu Apr 2 01:06:01 2009 -0700 r8169: reset IntrStatus after chip reset Original comment (Karsten): On a MSI MS-6702E mainboard, when in rtl8169_init_one() for the first time after BIOS has run, IntrStatus reads 5 after chip has been reset. IntrStatus should equal 0 there, so patch changes IntrStatus reset to happen after chip reset instead of before. Remark (Francois): Assuming that the loglevel of the driver is increased above NETIF_MSG_INTR, the bug reveals itself with a typical "interrupt 0025 in poll" message at startup. In retrospect, the message should had been read as an hint of an unexpected hardware state several months ago :o( Fixes (at least part of) https://bugzilla.redhat.com/show_bug.cgi?id=460747 Signed-off-by: Karsten Wiese Signed-off-by: Francois Romieu Tested-by: Josep Signed-off-by: David S. Miller commit f9ed88549e2ec73922b788e3865282d221233662 Author: Mallikarjuna R Chilakala Date: Tue Mar 31 21:35:24 2009 +0000 ixgbe: Fix potential memory leak/driver panic issue while setting up Tx & Rx ring parameters While setting up the ring parameters using ethtool the driver can panic or leak memory as ixgbe_open tries to setup tx & rx resources. The updated logic will use ixgbe_down/up after successful allocation of tx & rx resources Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher CC: stable@kernel.org Signed-off-by: David S. Miller commit 71fd570b23ee74bca052beb9e88f8f57fb668ac7 Author: Don Skidmore Date: Tue Mar 31 21:35:05 2009 +0000 ixgbe: fix ethtool -A|a behavior We were basicly ignoring ethtool users request for FC autoneg and replying to queries with a "best guess". This patch enables the driver to store if we want to enable/disable autoneg FC and do the correct behavior. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a20a1199a8a7f2bc92bd2a01e212980328e42bc7 Author: Mallikarjuna R Chilakala Date: Tue Mar 31 21:34:44 2009 +0000 ixgbe: Patch to fix driver panic while freeing up tx & rx resources When network interface is made active we were not handling the error scenarios properly to clean up rx & tx resources which might result in a driver panic. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 44df32c592f5a626c9f2ed56642e939788022408 Author: Alexander Duyck Date: Tue Mar 31 21:34:23 2009 +0000 ixgbe: refactor tx buffer processing to use skb_dma_map/unmap This patch resolves an issue with map single being used to map a buffer and then unmap page being used to unmap it. In addition it handles any error conditions that may be detected using skb_dma_map. Signed-off-by: Alexander Duyck Acked-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8be0e4671d6355b2d905cb8fd051393b2cbf9510 Author: PJ Waskiewicz Date: Tue Mar 31 21:34:05 2009 +0000 ixgbe: Fix 82598 MSI-X allocation on systems with more than 8 CPU cores MSI-X allocation broke after the 82599 merge on systems with more than 8 CPU cores. 82598 drops back into MSI mode, which isn't sufficient to run full, efficient 10G line rate. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cd7664f69fe1f3f75b664503ae3e11a2971a4865 Author: Don Skidmore Date: Tue Mar 31 21:33:44 2009 +0000 ixgbe: feature - driver to default with FC on. In the past flow control wasn't enabled by default under the incorrect assumption that this opened up us to a denial of service attack. However since any switch that forwarded flow control would be extremely msiconfigured and/or buggy, this concern no longer out weighs the preformance gains from having FC enabled. Signed-off-by: Don Skidmore Acked-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ea4af4f447ecad42f8bffa4bd2278e183ba5ec9d Author: PJ Waskiewicz Date: Tue Mar 31 21:33:25 2009 +0000 ixgbe: Fix DCB netlink layer for 82599 to enable Priority Flow Control The priority flow control settings from the netlink layer aren't taking effect in the base driver. The boolean pfc_mode_enable in the dcb_config struct isn't being set, so the hardware configuration code is never reached. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7c5b83230a22d0e14375e5f283b8aaf3320ebd86 Author: Don Skidmore Date: Tue Mar 31 21:33:02 2009 +0000 ixgbe: Fix ethtool output with advertised mode. Ethtool tries to get advertised speed from phy.autoneg_advertised. However for copper media this wasn't happening until later do to an other fix which moved mac.ops.setup_link_speed placement in ixgbe_link_config(). This patch will display the default advertised speeds if it can't yet get this information from phy.autoneg_advertised. Signed-off-by: Don Skidmore Acked-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b453368dfd74ba5a49bfaa853251212fa306e70d Author: Alexander Duyck Date: Tue Mar 31 21:32:42 2009 +0000 ixgbe: fix build when DEBUG is defined The ixgbe driver had issues when DEBUG was defined because the hw_dbg macro was incomplete. This patch completes the code based off of the code that already existed in the igb module. Signed-off-by: Alexander Duyck Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3fe7c4c9dca4fbbff92eb61a660690dad7029ec3 Author: Rafael J. Wysocki Date: Tue Mar 31 21:23:50 2009 +0000 net/igb: Fix kexec with igb (rev. 3) Impact: Fix Yinghai Lu found one system with 82575EB where, in the kernel that is kexeced, probe igb failed with -2, the reason being that the adapter could not be brought back from D3 by the kexec kernel, most probably due to quirky hardware (it looks like the same behavior happened on forcedeth). Prevent igb from putting the adapter into D3 during shutdown except when we going to power off the system. For this purpose, seperate igb_shutdown() from igb_suspend() and use the appropriate PCI PM callbacks in both of them. Signed-off-by: "Rafael J. Wysocki" Reported-by: Yinghai Lu Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cdfa9f6444ced9425e8e4fe4c2975a620e664b77 Author: Alexander Duyck Date: Tue Mar 31 20:38:56 2009 +0000 igb: cleanup igb loopback path The code path for setting up phy loopback testing was out of date and was setting bits it didn't need to. This change cleans up the code path and removes some code that has no effect on teh driver. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a6a605691f666482a261d69da7e0cef7048a434b Author: Alexander Duyck Date: Tue Mar 31 20:38:38 2009 +0000 igb: increase delay for copper link setup Increase the delay for copper phy init from 15ms to 100ms. This is to address issues seen in which ethtool -t was failing in some cases on 82576 based adapters. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d1a8c9e1c8a49afccc85dfeccd731ccbec52e724 Author: Alexander Duyck Date: Tue Mar 31 20:38:19 2009 +0000 igb: set num_rx/tx_queues to 0 when queues are freed An issue was seen on suspend in which the system reported a page fault. This was due to the new reg_idx code being called after the queues were freed. This update prevents any for loops from going through the queues by setting the number of queues to 0 when they are freed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 59c3de8944e04799643e6980c3ea6a30860ad39b Author: Alexander Duyck Date: Tue Mar 31 20:38:00 2009 +0000 igb: add support for x2 link width configurations When device is on PCIe link trained as x2 the driver is currently reporting link width as "unknown". The original patch provided by Myron adds the x2 link support and my changes are cosmetic to clean up the readability of the conditional operators. Based on work by: Myron Stowe Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9404c82b5ea3237f43732d8afd4d1c0dc8f0f3ed Author: Grant Likely Date: Tue Mar 31 20:17:03 2009 +0000 net/fec_mpc52xx: Don't dereference phy_device if it is NULL The FEC Ethernet device isn't always attached to a phy. Be careful not to dereference phy_device if it is NULL. Also eliminates an unnecessary extra function from the ioctl path. Reported-by: Henk Stegeman Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit d360009c100766c6f14ea349e8f984a3ad17e140 Author: Henk Stegeman Date: Tue Mar 31 20:16:57 2009 +0000 net/fec_mpc52xx: Migrate to net_device_ops. Since not using net_device_ops gets you shunned out the cool crowd, this patch modifies the fec_mpc52xx Ethernet driver to provide the management hooks via a struct net_device_ops. Reported-by: Henk Stegeman Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 461cadbc62b098b49b55de10605d330c8b494889 Author: Grant Likely Date: Tue Mar 31 20:16:52 2009 +0000 net/fec_mpc52xx: fix BUG on missing dma_ops The driver triggers a BUG_ON() when allocating DMA buffers because the arch/powerpc dma_ops aren't in the net_device's struct device. This patch fixes the problem by using the parent of_device which does have the correct dma_ops set. Signed-off-by: Grant Likely Reviewed-by: Becky Bruce Signed-off-by: David S. Miller commit fa9a86ddc8ecd2830a5e773facc250f110300ae7 Author: Eric Dumazet Date: Thu Apr 2 00:53:49 2009 -0700 netfilter: use rcu_read_bh() in ipt_do_table() Commit 784544739a25c30637397ace5489eeb6e15d7d49 (netfilter: iptables: lock free counters) forgot to disable BH in arpt_do_table(), ipt_do_table() and ip6t_do_table() Use rcu_read_lock_bh() instead of rcu_read_lock() cures the problem. Reported-and-bisected-by: Roman Mindalev Signed-off-by: Eric Dumazet Acked-by: Patrick McHardy Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8cbd9606a6367c221a7bbcc47f3ab1a8c31b6437 Author: Andy Grover Date: Wed Apr 1 08:20:20 2009 +0000 RDS: Use spinlock to protect 64b value update on 32b archs We have a 64bit value that needs to be set atomically. This is easy and quick on all 64bit archs, and can also be done on x86/32 with set_64bit() (uses cmpxchg8b). However other 32b archs don't have this. I actually changed this to the current state in preparation for mainline because the old way (using a spinlock on 32b) resulted in unsightly #ifdefs in the code. But obviously, being correct takes precedence. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 745cbccac3fe8cead529a1b3358e1e86a1505bfa Author: Andy Grover Date: Wed Apr 1 08:20:19 2009 +0000 RDS: Rewrite connection cleanup, fixing oops on rmmod This fixes a bug where a connection was unexpectedly not on *any* list while being destroyed. It also cleans up some code duplication and regularizes some function names. * Grab appropriate lock in conn_free() and explain in comment * Ensure via locking that a conn is never not on either a dev's list or the nodev list * Add rds_xx_remove_conn() to match rds_xx_add_conn() * Make rds_xx_add_conn() return void * Rename remove_{,nodev_}conns() to destroy_{,nodev_}conns() and unify their implementation in a helper function * Document lock ordering as nodev conn_lock before dev_conn_lock Reported-by: Yosef Etigin Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit f1cffcbfcc53b825da7d1d26244aabd8dccb24aa Author: Andy Grover Date: Wed Apr 1 08:20:18 2009 +0000 RDS: Fix m_rs_lock deadlock rs_send_drop_to() is called during socket close. If it takes m_rs_lock without disabling interrupts, then rds_send_remove_from_sock() can run from the rx completion handler and thus deadlock. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit f1782852adb57c8daf76a56146424f6c2f7410b6 Author: Ramkrishna Vepa Date: Wed Apr 1 18:15:24 2009 +0000 Neterion: New driver: Kconfig and Makefile - Kconfig and Makefile related changes for vxge driver. - No changes in current submission. - Changes from previous submission - - Incorporated the following review comments as per Bill Flink: - Add dependancy on INET along with PCI - Remove dependancy on INET_LRO and add GRO support. - Made this patch as last patch as per Ben Hutchings comments. Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 5f548a32814a0e5da4656b4eee1e3542f55fbef1 Author: Ramkrishna Vepa Date: Wed Apr 1 18:15:22 2009 +0000 Neterion: New driver: Driver version - Driver version - Changes from previous submission - - Updated driver version. Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit d26078fe7276e9de4eed7f3edcab41a2e8a045c8 Author: Ramkrishna Vepa Date: Wed Apr 1 18:15:16 2009 +0000 Neterion: New driver: Ethtool related This patch implements all ethtool related entry point functions for the driver. - Changes in this submission - - Removed redundant #include statements - Changes in previous submissions - - Removed unused statistics. - General clean up - removed unused variables and macros. - Incorporated following comments from Ben Hutchings - No need to restart the interface in vxge_ethtool_sset - Do not use #ifdef ADVERTISED_XX - Remove unnecessart intermediate copy in vxge_ethtool_gdrvinfo - Use strlcpy() to ensure null-termination. - Use ethtool_op_get_tso, ethtool_op_set_tx_hw_csum instead of redefining the same code. - Implement get_strings_count instead of deprecated get_stats_count. - Don't report reporting the EEPROM length as we don't supprt get/set eeprom. - Don't set self_test_count as we don't support any self tests. Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 703da5a1a231d8e3da8c7f88a505a4024941193b Author: Ramkrishna Vepa Date: Wed Apr 1 18:15:13 2009 +0000 Neterion: New driver: Main entry points This patch implements all the driver entry point functions. - Definition of all module loadable paramters. - Implementation of all driver entry point functions. - Changes in this submission - - Fixed compilation error when enabling debug statements - Fixed few warnings when CONFIG_PCI_MSI is not defined - Removed unnecessary volatile variables - Removed compare_ether_addr as it causes unaligned memory access on the sparc64 platform. - Changes in previous submissions - - As per Stephen Hemminger's comments removed the following loadable parameters - gro, rx_& tx max_indicate_pkts, exec_mode, rx & tx pause_enable, tx_steering_type and intr_type. - Added Device ID definition in vxge-main.h instead of include/linux/pci_ids.h file - Reported by David Miller - Incorporated following review comments from Ben Hutchings - NAPI is always enabled (no option to turn it OFF). - Loadable parameters rx_steering_type: This loadable option is removed. ring_blocks: This loadable option is removed. The driver default settings work well in most if not all cases. Another patch to configure these parameters with ethtool will be released in the future. - LRO has been deprecated in favour of GRO - Bill Fink & Dave Miller's comment - Fixed sparse warnings - Reported by Andi Kleen - Removed unused variables Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 113241321dcd19f36d53f2af46a4734855ca0cc0 Author: Ramkrishna Vepa Date: Wed Apr 1 18:14:58 2009 +0000 Neterion: New driver: Traffic & alarm handler This patch takes care of trafic handling related APIS. - Interrupt Enable and disable - Mask / Unmask Interrupt - Traffic Interrupt handling. - Alarm Interrupt handling. - Changes in this submission - - General clean up - removed redundant includes, defines and macros. - Changes in previous submissions - - General cleanup - removed unused functions and variables. - Use asserts where necessary - Reported by Andi Kleen - Fixed sparse warnings - Reported by Andi Kleen - Use a prefix, "__vxge" in front of hw functions to make them globally unique - Ben Hutchings Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 40a3a9156dc66f23cc79758981886c1896887341 Author: Ramkrishna Vepa Date: Wed Apr 1 18:14:40 2009 +0000 Neterion: New driver: Hardware init & configuration This patch takes care of Initialization and configuration steps of Neterion Inc's X3100 Series 10GbE PCIe I/O Virtualized Server Adapter. - Device Initialization. - Verification and setting of device config parameters. - Allocation of Tx FIFO and Rx Ring descriptors (DTR). - APIs to get various type of hw stats - APIs to configure RTS (Receive Traffic Steering) - Changes in this submission - - Include vmalloc header without which a compilation error occured on sparc64, ppc64 and IA64 plaforms. - Fixed compilation warning in register_poll, write32_upper, write32_lower and the special write64 functions on ppc64. - General cleanup - removed redundant includes and defines. - Changes in previous submissions - - Add readq/writeq implementation for the driver for 32 bit systems - reported by Dave Miller. - Incorporated following comments from Ben Hutchings - Start a comment with "/**" to make it a kernel-doc comment. - Use prefix, "__vxge" in front of hw functions to make them globally unique. - Fixed unnecessary clearing members of *channel just before freeing - Use backslashes only for macro definitions and not in multi-line statements. - Used pci_find_capability instead of redefining it. - Used device and revision ids that are already in pdev - no need to read them again. - Used pci_save_state() and pci_restore_state() around resets. - Used udelay and mdelay directly instead of wrapper. - In __vxge_hw_device_register_poll() reset i to 0 after the microsecond delay loop to commence the millisecond delay loop. - Corrected spelling "sapper" - should be "swapper" - Remove too much vertical whitespace. - Replaced magic numbers with appropriate macros - Incorporated following comments from Andi Kleen [andi@firstfloor.org] - Reduced the arguments in functions or refactored them into smaller functions. - Allocate page sized memories used in slow path with vmalloc. - Use asserts where necessary. - Use macros instead of magic numbers. - Use the pci layer code instead of defining own functions - Remove driver wrappers such as xge_hw_device_private_set(). - Fixed sparse warnings. Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 66d97fedea68f65d6dd8df832b2c48a714134b5a Author: Ramkrishna Vepa Date: Wed Apr 1 18:14:27 2009 +0000 Neterion: New driver: register set - vxge-reg.h - Complete Register map details of Neterion Inc's X3100 Series 10GbE PCIe I/O Virtualized Server Adapter. - No change from previous submission. - Changes in previous submissions - - Incorporated following comments from Ben Hutchings - Use original macros for endian checks - Remove VXGE_OS_PLATFORM_* macros as they are unused. - Converted multiple bVALX macros into single with additional width parameter and renamed it to vxge_bVALn. - Using __packed instead of pragma pack(1) - Added a comment of the use of a hw swapper so driver code is portable (does not have to change the byte order for register access as well as dma operations) on different ENDIAN platforms. - Using the definitions instead of redefing them. - Using the PCI capabilities registers in instead of redefing them. Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit b136d1cbd4b0eedc4e120b14e6834354f7249c7e Author: Ramkrishna Vepa Date: Wed Apr 1 18:14:25 2009 +0000 Neterion: New driver: Update Maintainer list - update to Maintainer list of S2IO 10GbE drivers (xframe/vxge). Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 5adfb64bdd4eee07e0677cbad12a2f80fecc6715 Author: Ramkrishna Vepa Date: Wed Apr 1 18:14:23 2009 +0000 Neterion: Driver help file - vxge driver help text file. - No change from previous submission. - Changes in previous submissions - Removed the performance tuning section with instructions to disable time stamps and change sysctl settings - Reported by Dave Miller General clean up. - Removed tx/rx_pause, exec_mode, tx_steering_type, rx_steering_type, gro, intr_type, rx & tx max_indicate_pkts and exec_mode loadable parameters. The driver default settings work well in most if not all cases. Another patch to configure these parameters with ethtool will be released in the future - Reported by Stephen Hemminger. - Incorporated following fixes based on comments from Ben Hutchings Removed references to earlier kernel versions. Removed sections that are similar for all drivers - Load/Unload Identifying the adapter/interface Boot time configuration Removed loadable parameter - NAPI - Napi is always enabled. rx_steering_type & ring_blocks - The driver default settings work well in most if not all cases. Another patch to configure these parameters with ethtool will be released in the future. Removed ethtool support section - No need to duplicate ethtool docs here. Removed Known Issue on SUSE 9 - Doesn't apply when using a current kernel. Removed Common Problems section - These don't apply to in-tree modules. Removed Available Downloads section - Not sure this belongs in-tree. Removed Copyright information - This notice doesn't belong in the kernel. Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit b609308e1415efebdf79ebd553f4dd47b0ff2722 Author: Kyle McMartin Date: Sun Mar 15 16:49:55 2009 -0400 parisc: move dereference_function_descriptor to process.c Commit deac93df26b20cf8438339b5935b5f5643bc30c9 fixed up printing of %pF on parisc, but added the dereference_function_descriptor prototype to module.c... this isn't a particularly wise idea as module.c might not always be compiled. Signed-off-by: Kyle McMartin commit bf589a349b9a41ea202ddb8115b18f543b944bfd Author: Kyle McMartin Date: Sun Mar 15 16:44:25 2009 -0400 parisc: Move kernel Elf_Fdesc define to elf.h probably won't be exported to userspace, but play it safe and cram it in a #ifdef __KERNEL__ guard. Signed-off-by: Kyle McMartin commit e869a90ee1235a4f89ecb956e7b7d724d65217c8 Author: Paul Mundt Date: Thu Apr 2 13:08:31 2009 +0900 sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle. cpuidle wants ARCH_HAS_DEFAULT_IDLE defined in order to use the default idle loop. So, make it accessible and enable it for all sh machines. Signed-off-by: Paul Mundt commit 3de46fda4c104deef17ec70f85361f5c6b84ce0e Author: Yinghai Lu Date: Wed Apr 1 00:27:44 2009 -0700 x86: remove duplicated code with pcpu_need_numa() Impact: clean up those code pcpu_need_numa(), should be removed. Signed-off-by: Yinghai Lu Acked-by: Tejun Heo Acked-by: David Miller LKML-Reference: <49D31770.9090502@kernel.org> Signed-off-by: Ingo Molnar commit eb12ce60c81826a99eadbc56401e08ceb37a0cc2 Author: Tejun Heo Date: Wed Apr 1 15:06:33 2009 +0900 x86,percpu: fix inverted NUMA test in setup_pcpu_remap() setup_percpu_remap() is for NUMA machines yet it bailed out with -EINVAL if pcpu_need_numa(). Fix the inverted condition. This problem was reported by David Miller and verified by Yinhai Lu. Reported-by: David Miller Reported-by: Yinghai Lu Signed-off-by: Tejun Heo LKML-Reference: <49D30469.8020006@kernel.org> Signed-off-by: Ingo Molnar commit eeee7853c4ffaf5b9eb58f39708e3c78f66cee15 Author: Paul Mundt Date: Thu Apr 2 12:31:16 2009 +0900 sh: Add a command line option for disabling I/O trapping. This adds a 'noiotrap' kernel command line option to permit disabling of I/O trapping. This is mostly useful for running on emulators where the physical device limitations are not an issue. Signed-off-by: Paul Mundt commit 8dafc34616282c1fd79d42a4353ee5322767d720 Author: Paul Mundt Date: Thu Apr 2 11:56:38 2009 +0900 sh: Select ARCH_HIBERNATION_POSSIBLE. Now that the requisite patches have gone in, this can safely be enabled across the board for all of the 32-bit SH platforms. Signed-off-by: Paul Mundt commit bb7350194130ae6bd3fdec16fe1b7597c1c0bb8d Author: Kyle McMartin Date: Thu Apr 2 02:40:41 2009 +0000 parisc: fix build when ARCH_HAS_KMAP When we build for PA8X00, we define ARCH_HAS_KMAP, which results in the kmap_types.h include in highmem.h getting skipped... In file included from include/linux/pagemap.h:10, from include/linux/mempolicy.h:62, from init/main.c:52: include/linux/highmem.h:196: warning: 'enum km_type' declared inside parameter list include/linux/highmem.h:196: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/highmem.h:196: error: parameter 1 ('type') has incomplete type Signed-off-by: Kyle McMartin commit 64935056f038a222278eb9b4a07176b339d64565 Author: Paul Mundt Date: Thu Apr 2 11:25:12 2009 +0900 sh: migor: Fix up CEU use flags. Follows the same change as per ap325rxa, which was inadvertently omitted. Signed-off-by: Paul Mundt commit 0935ade0bf6baf9c5f23024102737bdaf7075abc Author: Magnus Damm Date: Wed Apr 1 14:49:41 2009 +0000 input: migor_ts: add wakeup support Add wakeup support to the migor_ts driver. If user space has enabled wakeup, use set_irq_wake() during suspend and resume. With this patch the migor_ts driver can be used to wake the system from suspend. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit faa9fa8e448ba4c0a9d61778fd3cda1313bf1533 Author: Magnus Damm Date: Wed Apr 1 14:45:17 2009 +0000 rtc: rtc-sh: use set_irq_wake() Modify the sh_rtc driver to use set_irq_wake() during suspend and resume. These functions are used to enable the rtc interrupts in the interrupt controller so the rtc can be used to wakeup the system from suspend. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4ba50df685e85b9d912a290d9614ffbeb4d9f060 Author: Magnus Damm Date: Wed Apr 1 14:39:20 2009 +0000 input: sh_keysc: use enable/disable_irq_wake() Modify the sh_keysc driver to use enable/disable_irq_wake() during suspend and resume. These functions are used to enable the sh_keysc interrupt in the interrupt controller so the keypad can be used to wakeup the system from suspend. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2dcec7a988a1895540460a0bf5603bab63d5a3ed Author: Magnus Damm Date: Wed Apr 1 14:30:59 2009 +0000 sh: intc: set_irq_wake() support Add set_irq_wake() support to intc using sysdev and suspend. The intc controllers are put on a list at registration time and registered as sysdev devices later on during the boot. The sysdev class suspend callback is used to find irqs with wakeup enabled belonging to our intc controller. Such irqs are simply enabled so wakeup interrupts may reach the cpu. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f7dd2548c471b1c7758611f6cd6393367d7ff649 Author: Magnus Damm Date: Wed Apr 1 14:20:58 2009 +0000 sh: intc: install enable, disable and shutdown callbacks Modify the intc code to install a disable callback. The current solution without a disable callback results in use of the generic default_disable() function. This function is a no-op so suspend_device_irqs() will not disable any intc interrupts at suspend time without this patch. Also, install enable and shutdown callbacks while at it. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3093e78ebab100ada1c724c9f751d9da39602a97 Author: Magnus Damm Date: Wed Apr 1 14:11:07 2009 +0000 clocksource: sh_cmt: use remove_irq() and remove clockevent workaround Update the sh_cmt driver to make use of recent irq and clockevent changes: - use remove_irq() together with setup_irq() - remove mult workaround since WARN_ON() now has been moved Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c4361bb64b81f5b81a7a08d58654493385a2f2b2 Merge: 46368fa... 833bb30... Author: Paul Mundt Date: Thu Apr 2 11:17:41 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 7cec2ef4a298605b010f1c80041de884e777ea67 Merge: 91400ac... 9bc181d... Author: Kyle McMartin Date: Thu Apr 2 01:43:14 2009 +0000 Merge branch 'rusty-cpumask-parisc' into parisc commit 91400ac365da35b18036b46bdda27ddbcee4a663 Author: Helge Deller Date: Wed Feb 18 22:12:21 2009 +0000 parisc: fix "make tar-pkg" Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 0b5f037a4dc495f9c40eed7f076fc6c23af3359b Author: Geert Uytterhoeven Date: Tue Feb 24 14:04:20 2009 +0100 powerpc/ps3: Add rtc-ps3 Create a real RTC driver for PS3, and unhook the deprecated ppc_md.[gs]et_rtc_time. Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo Acked-by: Geoff Levand Signed-off-by: Kyle McMartin commit bcd68a70cb0eee556d86d93133aa150319bd9f53 Author: Geert Uytterhoeven Date: Thu Feb 19 16:50:46 2009 +0100 powerpc: Hook up rtc-generic, and kill rtc-ppc PowerPC has been a long time user of the generic RTC abstraction, so hook up rtc-generic: - Create the "rtc-generic" platform device if ppc_md.get_rtc_time is set, - Kill rtc-ppc, as rtc-generic offers the same functionality in a more generic way, and supports autoloading through udev. Signed-off-by: Geert Uytterhoeven Acked-by: David Woodhouse Acked-by: Alessandro Zummo Acked-by: Benjamin Herrenschmidt Signed-off-by: Kyle McMartin commit 2ceb3ad705aa1abe6656b038bb9f4a6b1201cc35 Author: Geert Uytterhoeven Date: Thu Feb 19 16:50:46 2009 +0100 m68k: Hook up rtc-generic m68k has been a long time user of the generic RTC abstraction, so hook up rtc-generic: - Create the "rtc-generic" platform device if mach_hwclk is set, - Add checks for mach_hwclk, in anticipation of RTC chip drivers being moved to drivers/rtc/. Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo Signed-off-by: Kyle McMartin commit 3afe6d04626f8de87b15150a30b78df492ab68ee Author: Geert Uytterhoeven Date: Thu Feb 19 16:46:49 2009 +0100 parisc: rtc: Rename rtc-parisc to rtc-generic The rtc-parisc driver is not PA-RISC specific at all, as it uses the existing (but deprecated) generic RTC infrastructure ([gs]et_rtc_time()). Rename the driver from rtc-parisc to rtc-generic. Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo Signed-off-by: Kyle McMartin commit 8c534e95d595750d888a7aa8b6151f196d06c75b Author: Geert Uytterhoeven Date: Thu Feb 19 15:50:53 2009 +0100 parisc: rtc: Add missing module alias Make udev autoload the driver Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo Signed-off-by: Kyle McMartin commit 2c83071ead8e2668de69e8659944599c887a12c7 Author: Geert Uytterhoeven Date: Fri Mar 6 15:57:06 2009 +0100 parisc: rtc: platform_driver_probe() fixups When using platform_driver_probe(), it's not needed to setup a .probe function, and .remove should be marked __exit_p(), not __devexit_p(). Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo Cc: dann frazier Signed-off-by: Kyle McMartin commit 55457161fdbdb5fe9eeb5027e720462a3fbdcb57 Author: Geert Uytterhoeven Date: Fri Mar 6 15:54:54 2009 +0100 parisc: rtc: get_rtc_time() returns unsigned int Signed-off-by: Geert Uytterhoeven Acked-by: Alessandro Zummo Signed-off-by: Kyle McMartin commit c18b4608958ff42ce9a1a55b0a6f40b714f47286 Author: Alexander Beregalov Date: Thu Mar 19 10:54:07 2009 +0000 parisc: drivers: fix warnings ccio-dma.c:456: warning: overflow in implicit constant conversion ccio-dma.c:459: warning: overflow in implicit constant conversion ccio-dma.c:1032: warning: unused variable 'j' ccio-dma.c:1031: warning: unused variable 'max' ccio-dma.c:1031: warning: unused variable 'min' ccio-dma.c:1031: warning: unused variable 'avg' ccio-dma.c:1403: warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' ccio-dma.c:1403: warning: format '%08lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t' ccio-dma.c:1554: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' dino.c:822: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t' dino.c:822: warning: format '%lx' expects type 'long unsigned int', but argument 5 has type 'resource_size_t' dino.c:902: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' dino.c:902: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t' asp.c:84: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t' eisa.c:317: warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' eisa_enumerator.c:101: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' eisa_enumerator.c:101: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' eisa_enumerator.c:191: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' eisa_enumerator.c:191: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' Signed-off-by: Alexander Beregalov Signed-off-by: Kyle McMartin commit f67d3c83f3f1e6523325628434bf19e5166b39b3 Author: Kyle McMartin Date: Wed Mar 25 14:09:10 2009 +0000 parisc: select BUG always On Wed, Mar 25, 2009 at 05:02:21PM +0300, Alexander Beregalov wrote: > arch/parisc/kernel/traps.c:321: error: 'PARISC_BUG_BREAK_INSN' > undeclared (first use in this function) > > # CONFIG_BUG is not set > CONFIG_EMBEDDED=y > > Is it a reasonable config? imho, no. Signed-off-by: Kyle McMartin commit d845e1fbf2d48f6556fbfae7ec04adf67ab14bca Author: Alexander Beregalov Date: Wed Apr 1 15:43:40 2009 +0000 parisc: asm/pdc.h should include asm/page.h Fixes this build error: arch/parisc/kernel/pdc_cons.c:117: error: '__PAGE_OFFSET' undeclared Signed-off-by: Alexander Beregalov Signed-off-by: Kyle McMartin commit 1ab2eaa2c16c2467bbd94514ec6c1fe5129546c7 Author: Alexander Beregalov Date: Fri Mar 20 14:55:50 2009 +0000 parisc: led: remove proc_dir_entry::owner proc_dir_entry::owner was removed in 0702c1c1a4 (proc 2/2: remove struct proc_dir_entry::owner) Signed-off-by: Alexander Beregalov Signed-off-by: Kyle McMartin commit 645dae969c3b8651c5bc7c54a1835ec03820f85f Author: Stephen Rothwell Date: Thu Mar 19 15:46:17 2009 +1100 tracing, net: fix net tree and tracing tree merge interaction Today's linux-next build (powerpc ppc64_defconfig) failed like this: In file included from net/core/skbuff.c:69: include/trace/skb.h:4: error: expected ')' before '(' token include/trace/skb.h:4: error: expected ')' before '(' token [...] Caused by commit 2939b0469d04ba9ac791aca9a81625d7eb50662b ("tracing: replace TP with TP_") from the tracing tree interacting with commit 4893d39e865b2897bf9fcd329697d37032d853a1 ("Network Drop Monitor: Add trace declaration for skb frees") from the net tree. Acked-by: David S. Miller Signed-off-by: Ingo Molnar commit a095bdbb136f7bed96b7adf5aa1dd27bb2f839bf Author: Stephen Rothwell Date: Fri Mar 27 23:08:34 2009 +1100 tracing, powerpc: fix powerpc tree and tracing tree interaction Today's linux-next build (powerpc allyesconfig) failed like this: arch/powerpc/kernel/ftrace.c: In function 'prepare_ftrace_return': arch/powerpc/kernel/ftrace.c:612: warning: passing argument 3 of 'ftrace_push_return_trace' makes pointer from integer without a cast arch/powerpc/kernel/ftrace.c:612: error: too many arguments to function 'ftrace_push_return_trace' Caused by commit 5d1a03dc541dc6672e60e57249ed22f40654ca47 ("function-graph: moved the timestamp from arch to generic code") from the tracing tree which (removed an argument from ftrace_push_return_trace()) interacting with commit 6794c78243bfda020ab184d6d578944f8e90d26c ("powerpc64: port of the function graph tracer") from the powerpc tree. Signed-off-by: Stephen Rothwell Cc: Steven Rostedt Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: LKML-Reference: <20090327230834.93d0221d.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit 8302294f43250dc337108c51882a6007f2b1e2e0 Merge: 4fe7041... 2e57289... Author: Ingo Molnar Date: Wed Apr 1 21:54:19 2009 +0200 Merge branch 'tracing/core-v2' into tracing-for-linus Conflicts: include/linux/slub_def.h lib/Kconfig.debug mm/slob.c mm/slub.c commit d9de451989a88a2003ca06e524aca4665c0c7f06 Author: Hans-Christian Egtvedt Date: Wed Apr 1 15:47:02 2009 +0200 dw_dmac: add cyclic API to DW DMA driver This patch adds a cyclic DMA interface to the DW DMA driver. This is very useful if you want to use the DMA controller in combination with a sound device which uses cyclic buffers. Using a DMA channel for cyclic DMA will disable the possibility to use it as a normal DMA engine until the user calls the cyclic free function on the DMA channel. Also a cyclic DMA list can not be prepared if the channel is already active. Signed-off-by: Hans-Christian Egtvedt Acked-by: Haavard Skinnemoen Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit 5e118f4139feafe97e913df67b1f7c1e5083e535 Author: Carl Worth Date: Fri Mar 20 11:54:25 2009 -0700 drm/i915: Add a spinlock to protect the active_list This is a baby-step in the direction of having finer-grained locking than the struct_mutex. Specifically, this will enable new debugging code to read the active list for printing out GPU state when the GPU is wedged, (while the struct_mutex is held, of course). Signed-off-by: Carl Worth [anholt: indentation fix] Signed-off-by: Eric Anholt commit 7026d4ac1fc134566c2c946e6c0d849fc03ba7b7 Author: Zhenyu Wang Date: Tue Mar 24 14:02:43 2009 +0800 drm/i915: Fix SDVO TV support This brings SDVO TV support from 2D driver, including origin fix f1ca56e17d0 and later fix 2fcf4fcccfe. Also fix wrong modeline definitions for SDVO TV. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit e642c6f1d2ebea41b8d7ccc132734b74b5821034 Author: Zhenyu Wang Date: Tue Mar 24 14:02:42 2009 +0800 drm/i915: Fix SDVO CREATE_PREFERRED_INPUT_TIMING command This brings fix commit acde0ef683 from 2D driver. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 171a9e960ec820765e3b8e9dd1e3d8d81233d459 Author: Zhenyu Wang Date: Tue Mar 24 14:02:41 2009 +0800 drm/i915: Fix error in SDVO DTD and modeline convert This brings fix commit 62c0c2f5549a from 2D driver. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 33b5296120da157c90f40fab0ae498799ee29ca1 Author: Zhenyu Wang Date: Tue Mar 24 14:02:40 2009 +0800 drm/i915: Fix SDVO command debug function Fix compile error of intel_sdvo_debug_response(), and explicit use KERN_DEBUG for printk. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 7d6ff7851c23740c3813bdf457be638381774b69 Author: Zhenyu Wang Date: Tue Mar 24 00:45:13 2009 +0800 drm/i915: fix TV mode setting in property change Only set TV DAC in property change seems doesn't work, we have to setup whole crtc pipe which assigned to TV alone. Signed-off-by: Zhenyu Wang [anholt: Note that this should also fix the oops at startup with new 2D] Signed-off-by: Eric Anholt commit ebcc8f2eade76946dbb5d5c545b91f8157051aa8 Author: Zhenyu Wang Date: Mon Mar 23 19:40:57 2009 +0800 drm/i915: only set TV mode when any property changed If there's no real property change, don't need to set TV mode again. Signed-off-by: Zhenyu Wang [anholt: checkpatch.pl fix] Signed-off-by: Eric Anholt commit 580982d399071474c349538b7f5780bc79b54e7f Author: Arjan van de Ven Date: Mon Mar 23 13:36:25 2009 -0700 drm/i915: clean up udelay usage udelay() of 20 milliseconds really ought to just use mdelay(), that avoids the various wrap scenarios and also is more readable Signed-off-by: Arjan van de Ven Signed-off-by: Eric Anholt commit 5ca58282089b11f64b911618036ee7676f12735b Author: Jesse Barnes Date: Tue Mar 31 14:11:15 2009 -0700 drm/i915: add VGA hotplug support for 945+ Add VGA port hotplug detection to the i915 driver. When KMS is enabled, plugging in or removing a VGA cable from the VGA connector will generate a uevent, which indicates to userspace that it should re-probe outputs on this device (to determine modes, etc.). Signed-off-by: Jesse Barnes [anholt: dropped extra PORT_HOTPLUG_STAT clear with ack from jbarnes] Signed-off-by: Eric Anholt commit f36345ff9a4a77f2cc576a2777b6256d5c8798fa Merge: 1aacc06... 8b53ef3... Author: Felix Blyakher Date: Wed Apr 1 16:58:39 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus commit 833bb3046b6cb320e775ea2160ddca87d53260d5 Author: Alexey Dobriyan Date: Thu Apr 2 01:30:04 2009 +0400 serial: fixup /proc/tty/driver/serial after proc_fops conversion "struct tty_driver *" lies in m->private not in v which is SEQ_TOKEN_START which is 1 which is enough to trigger NULL dereference next line: BUG: unable to handle kernel NULL pointer dereference at 000000ad IP: [] uart_proc_show+0xe/0x2b0 Noticed by Linus. Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 7f96b1caac43b34b325ee4acf61ce57d7214409c Author: Ryan Mallon Date: Wed Apr 1 20:33:30 2009 +0100 [ARM] 5441/1: Use pr_err on error paths in at91 pm Change pr_debug to pr_err on error paths in the AT91 power management code. All of the errors will result in the cpu not going into the suspend state. This patch makes it possible to identify problems with suspend when power management debugging is not enabled. Signed-off-by: Ryan Mallon Acked-by: Andrew Victor Signed-off-by: Russell King commit f2255be8126e86142901c61dd482c1c2a5ffdda7 Author: George G. Davis Date: Wed Apr 1 20:27:18 2009 +0100 [ARM] 5440/1: Fix VFP state corruption due to preemption during VFP exceptions We've observed that ARM VFP state can be corrupted during VFP exception handling when PREEMPT is enabled. The exact conditions are difficult to reproduce but appear to occur during VFP exception handling when a task causes a VFP exception which is handled via VFP_bounce and is then preempted by yet another task which in turn causes yet another VFP exception. Since the VFP_bounce code is not preempt safe, VFP state then becomes corrupt. In order to prevent preemption from occuring while handling a VFP exception, this patch disables preemption while handling VFP exceptions. Signed-off-by: George G. Davis Acked-by: Catalin Marinas Signed-off-by: Russell King commit fe68e68f6a379d317a87ae24de050a65b11ea1fb Author: Catalin Marinas Date: Wed Apr 1 13:53:48 2009 +0100 [ARM] 5439/1: Do not clear bit 10 of DFSR during abort handling on ARMv6 Because of an ARM1136 erratum (326103), the current v6_early_abort function needs to set the correct FSR[11] value which determines whether the data abort was caused by a read or write. For legacy reasons (bit 10 not handled by software), bit 10 was also cleared masking out imprecise aborts on ARMv6 CPUs. This patch removes the clearing of bit 10 of FSR. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 01a24d2b9309676ec2e7069cd19f5b1c4a1505e0 Author: Paulius Zaleckas Date: Tue Mar 31 13:55:44 2009 +0100 [ARM] 5437/1: Add documentation for "nohlt" kernel parameter As per discussion in: http://marc.info/?l=linux-arm-kernel&m=123633652517391&w=2 Signed-off-by: Paulius Zaleckas Acked-by: Paul Mundt Signed-off-by: Russell King commit ad19d8d90c7a84c35f4e27e95d41a049efdbdf17 Author: Tony Lindgren Date: Mon Mar 30 22:58:31 2009 +0100 [ARM] 5436/1: ARM: OMAP: Fix compile for rx51 This fixes a compile error caused by a mismerge while rebasing the patch: linux-2.6/arch/arm/mach-omap2/board-rx51-peripherals.c:354: undefined reference to `twl4030_mmc_init' Looks like I need to also update my build scripts, just grepping for error: in the logs is not obviously enough.. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 8b53ef33d9d8fa5f771ae11cc6a6e7bc0182beec Merge: ef5ddd3... 80a03e2... Author: Linus Torvalds Date: Wed Apr 1 13:33:41 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (29 commits) [IA64] BUG to BUG_ON changes [IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c ia64: remove some warnings. ia64/xen: fix the link error. ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops. ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning. ia64/pv_ops/bp/module: support binary patching for kernel module. ia64/pv_ops: implement binary patching optimization for native. ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops. ia64/pv_ops/xen/gate.S: xen gate page paravirtualization ia64/pv_ops: paravirtualize gate.S. ia64/pv_ops: move down __kernel_syscall_via_epc. ia64/pv_ops/xen: define xen specific gate page. ia64/pv_ops: gate page paravirtualization. ia64/pv_ops/xen/pv_time_ops: implement sched_clock. ia64/pv_ops/pv_time_ops: add sched_clock hook. ia64/pv_ops/xen: paravirtualize read/write ar.itc and ar.itm ia64/pv_ops: paravirtualize mov = ar.itc. ia64/pv_ops/pvchecker: support mov = ar.itc paravirtualization ia64/pv_ops: paravirtualize fsys.S. ... commit ef5ddd3d591399f2c722a77bce543d20bef31663 Merge: 972dd43... cd67059... Author: Linus Torvalds Date: Wed Apr 1 12:52:57 2009 -0700 Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx commit 972dd435fb2c5da173a4c8dea44ccb8748e36d35 Author: Linus Torvalds Date: Wed Apr 1 12:46:15 2009 -0700 qeth: properly delete empty files. Commit 64ef8957986f6a04f61e7c95fa6ffeb3a86a6661 ("qeth: remove EDDP") removed the qeth_core_offl.[hc] files, but ended up doing so by just patching them to zero size, rather than removing them properly. Actually remove the files. Reported-by: Andrew Price Cc: Frank Blaschka Cc: David S. Miller Signed-off-by: Linus Torvalds commit eae6c2b6414fc6673ac5415442fe463c01005366 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:26 2009 +0200 remove include from All users that need have been fixed to include it directly. Cc: Christoph Hellwig Signed-off-by: Bartlomiej Zolnierkiewicz commit 4fe6e30645de0b7a179892d83049580bf72bcff2 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:25 2009 +0200 include/linux/hdreg.h: remove unused defines * Move HD_IRQ define to drivers/block/hd.c (only user). * Remove unused *_STAT, *_ERR, HD_*, CD, IO, REL and TAG_MASK defines. Signed-off-by: Bartlomiej Zolnierkiewicz commit fcd3ec6960728ff7b4b598c62a68847aa03a94a5 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:25 2009 +0200 isd200: use ATA_* defines instead of *_STAT and *_ERR ones Acked-by: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit dafd01cc14a38690c87981eb2670d9c95f799ffd Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:25 2009 +0200 include/linux/hdreg.h: cover WIN_* and friends with #ifndef/#endif __KERNEL__ Signed-off-by: Bartlomiej Zolnierkiewicz commit 04b3ab52a000ab7e718efc97e9fdd67d95002d11 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:24 2009 +0200 aoe: WIN_* -> ATA_CMD_* * Use ATA_CMD_* defines instead of WIN_* ones. * Include directly instead of through . Cc: Ed L. Cashin Signed-off-by: Bartlomiej Zolnierkiewicz commit f08f31f7c77b5537c099c2566b490eb8255f4c49 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:24 2009 +0200 isd200: WIN_* -> ATA_CMD_* * Use ATA_CMD_* defines instead of WIN_* ones. Cc: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit 6fd5c665d8fe9da5f2081f0b3ca8054f0f730b1a Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:23 2009 +0200 include/linux/hdreg.h: cover struct hd_driveid with #ifndef/#endif __KERNEL__ Signed-off-by: Bartlomiej Zolnierkiewicz commit 4aaf2fec718f6fbf38668edf733a0ab09a49cab1 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:22 2009 +0200 xsysace: make it 'struct hd_driveid'-free * Change cf_id field in struct ace_device from 'struct hd_driveid *id' to 'u16 *id' and update driver accordingly. * Include directly instead of through . While at it: * Use ata_id_u32() macro. There should be no functional changes caused by this patch. Cc: Grant Likely Signed-off-by: Bartlomiej Zolnierkiewicz commit 73855e13b2bce2bb5cd2a62c270fb07f49353e02 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:21 2009 +0200 ubd_kern: make it 'struct hd_driveid'-free * Change ubd_id in ubd_ioctl() from 'struct hd_driveid *id' to 'u16 *id' and update driver accordingly. * Include directly instead of through . There should be no functional changes caused by this patch. Cc: Jeff Dike Signed-off-by: Bartlomiej Zolnierkiewicz commit d8881cdab5e1810b0a03b480ed16c1e761e68257 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 1 21:42:19 2009 +0200 isd200: make it 'struct hd_driveid'-free * Factor out debug dump of id from isd200_get_inquiry_data() to isd200_dump_driveid(). * Change id field in struct isd200_info from 'struct hd_driveid *id' to 'u16 *id' and update driver accordingly. * Include directly instead of through . While at it: * Use ata_id_u32() and ata_id_has_lba() macros. There should be no functional changes caused by this patch. Cc: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit 4a8df45894d26dc503013ea630927731c24be6b8 Author: Shaohua Li Date: Fri Mar 13 16:22:33 2009 +0800 drm/i915: correctly set IGD device's gtt size for KMS. IGD device only has last 1 page used by GTT. This should match the AGP gart code. Signed-off-by: Shaohua Li Signed-off-by: Eric Anholt commit 6b731a65c86119da808b3687e0bbb8f18ab137ad Author: Ma Ling Date: Wed Mar 11 18:18:29 2009 +0800 drm/i915: avoid hanging on to a stale pointer to raw_edid. drm_get_edid will store edid into raw_edid, so when freeing edid memory, at the same time clean raw_edid pointer. Signed-off-by: Ma Ling [anholt: Note that raw_edid is not currently used anywhere] Signed-off-by: Eric Anholt commit cd670599b7b00d9263f6f11a05c0edeb9cbedaf3 Author: H. Peter Anvin Date: Wed Apr 1 11:35:00 2009 -0700 x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx Impact: BIOS bug safety For pre-ACPI 3 BIOSes, pre-initialize the end of the e820 buffer just in case the BIOS returns an unchanged %ecx but without actually touching the ACPI 3 extended flags field. Signed-off-by: H. Peter Anvin commit 9c9cb14387389a70fe40f9be99f243e2a410b0b7 Merge: 4fe7041... c549e71... Author: Linus Torvalds Date: Wed Apr 1 11:13:31 2009 -0700 Merge branch 'x86/setup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86/setup' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, setup: ACPI 3, BIOS workaround for E820-probing code x86, setup: preemptively save/restore edi and ebp around INT 15 E820 x86, setup: mark %esi as clobbered in E820 BIOS call commit 959b887cf42fd63cf10e28a7f26126f78aa1c0b0 Author: Jesse Barnes Date: Fri Mar 20 14:16:33 2009 -0700 drm/i915: check for -EINVAL from vm_insert_pfn Indicates something is wrong with the mapping; and apparently triggers in current kernels. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 8d7773a32d8aa723030712b0a500a4a402a21c85 Author: Daniel Vetter Date: Sun Mar 29 14:09:41 2009 +0200 drm/i915: fix up tiling/fence reg setup on i8xx class hw This fixes all the tiling problems with the 2d ddx. glxgears still doesn't work. Changes: - fix a copy&paste error in i8xx fence reg setup. It resulted in an at most a 512KB offset of the fence reg window, so was only visible sometimes. - add tests for stride and object size constrains (also for i915 and 1965 class hw). Userspace seems to have an of-by-one bug there, which changes the fence size by at most 512KB due to an overflow. - because i8xx hw is quite old (and therefore not as well-tested) I left 2 debug WARN_ONs in the i8xx fence reg setup code to hopefully catch any further overflows in the bit-fields. Lastly there's one small change to make the alignment checks more consistent. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=20289 Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 4fe70410d9a219dabb47328effccae7e7f2a6e26 Merge: 395d734... cc85906... Author: Linus Torvalds Date: Wed Apr 1 10:58:42 2009 -0700 Merge branch 'for-linus' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'for-linus' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (58 commits) SUNRPC: Ensure IPV6_V6ONLY is set on the socket before binding to a port NSM: Fix unaligned accesses in nsm_init_private() NFS: Simplify logic to compare socket addresses in client.c NFS: Start PF_INET6 callback listener only if IPv6 support is available lockd: Start PF_INET6 listener only if IPv6 support is available SUNRPC: Remove CONFIG_SUNRPC_REGISTER_V4 SUNRPC: rpcb_register() should handle errors silently SUNRPC: Simplify kernel RPC service registration SUNRPC: Simplify svc_unregister() SUNRPC: Allow callers to pass rpcb_v4_register a NULL address SUNRPC: rpcbind actually interprets r_owner string SUNRPC: Clean up address type casts in rpcb_v4_register() SUNRPC: Don't return EPROTONOSUPPORT in svc_register()'s helpers SUNRPC: Use IPv4 loopback for registering AF_INET6 kernel RPC services SUNRPC: Set IPV6ONLY flag on PF_INET6 RPC listener sockets NFS: Revert creation of IPv6 listeners for lockd and NFSv4 callbacks SUNRPC: Remove @family argument from svc_create() and svc_create_pooled() SUNRPC: Change svc_create_xprt() to take a @family argument SUNRPC: svc_setup_socket() gets protocol family from socket SUNRPC: Pass a family argument to svc_register() ... commit 395d73413c5656c6d7706ae91dcb441f9b7e3074 Merge: c226fd6... 06705bf... Author: Linus Torvalds Date: Wed Apr 1 10:57:49 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (33 commits) ext4: Regularize mount options ext4: fix locking typo in mballoc which could cause soft lockup hangs ext4: fix typo which causes a memory leak on error path jbd2: Update locking coments ext4: Rename pa_linear to pa_type ext4: add checks of block references for non-extent inodes ext4: Check for an valid i_mode when reading the inode from disk ext4: Use WRITE_SYNC for commits which are caused by fsync() ext4: Add auto_da_alloc mount option ext4: Use struct flex_groups to calculate get_orlov_stats() ext4: Use atomic_t's in struct flex_groups ext4: remove /proc tuning knobs ext4: Add sysfs support ext4: Track lifetime disk writes ext4: Fix discard of inode prealloc space with delayed allocation. ext4: Automatically allocate delay allocated blocks on rename ext4: Automatically allocate delay allocated blocks on close ext4: add EXT4_IOC_ALLOC_DA_BLKS ioctl ext4: Simplify delalloc code by removing mpage_da_writepages() ext4: Save stack space by removing fake buffer heads ... commit cc85906110e26fe8537c3bdbc08a74ae8110030b Merge: c09bca7... c69da77... Author: Trond Myklebust Date: Wed Apr 1 13:28:15 2009 -0400 Merge branch 'devel' into for-linus commit c69da774b28e01e062e0a3aba7509f2dcfd2a11a Author: Trond Myklebust Date: Mon Mar 30 18:59:17 2009 -0400 SUNRPC: Ensure IPV6_V6ONLY is set on the socket before binding to a port Also ensure that we use the protocol family instead of the address family when calling sock_create_kern(). Signed-off-by: Trond Myklebust commit ad5b365c1266b0c9e8e254a3c1cc4ef66bf33cba Author: Mans Rullgard Date: Sat Mar 28 19:55:20 2009 +0000 NSM: Fix unaligned accesses in nsm_init_private() This fixes unaligned accesses in nsm_init_private() when creating nlm_reboot keys. Signed-off-by: Mans Rullgard Reviewed-by: Chuck Lever Signed-off-by: Trond Myklebust commit c226fd659fa7b6a7b038df5ae6856a68514bacde Merge: c09bca7... d57e62b... Author: Linus Torvalds Date: Wed Apr 1 10:20:44 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: try to free metadata pages when we free btree blocks Btrfs: add extra flushing for renames and truncates Btrfs: make sure btrfs_update_delayed_ref doesn't increase ref_mod Btrfs: optimize fsyncs on old files Btrfs: tree logging unlink/rename fixes Btrfs: Make sure i_nlink doesn't hit zero too soon during log replay Btrfs: limit balancing work while flushing delayed refs Btrfs: readahead checksums during btrfs_finish_ordered_io Btrfs: leave btree locks spinning more often Btrfs: Only let very young transactions grow during commit Btrfs: Check for a blocking lock before taking the spin Btrfs: reduce stack in cow_file_range Btrfs: reduce stalls during transaction commit Btrfs: process the delayed reference queue in clusters Btrfs: try to cleanup delayed refs while freeing extents Btrfs: reduce stack usage in some crucial tree balancing functions Btrfs: do extent allocation and reference count updates in the background Btrfs: don't preallocate metadata blocks during btrfs_search_slot commit c09bca786ff941ed17c5f381c4eca5b106808c51 Merge: e76e5b2... 5b6c942... Author: Linus Torvalds Date: Wed Apr 1 10:02:15 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (59 commits) ide-floppy: do not complete rq's prematurely ide: be able to build pmac driver without IDE built-in ide-pmac: IDE cable detection on Apple PowerBook ide: inline SELECT_DRIVE() ide: turn selectproc() method into dev_select() method (take 5) MAINTAINERS: move old ide-{floppy,tape} entries to CREDITS (take 2) ide: move data register access out of tf_{read|load}() methods (take 2) ide: call {in|out}put_data() methods from tf_{read|load}() methods (take 2) ide-io-std: shorten ide_{in|out}put_data() ide: rename IDE_TFLAG_IN_[HOB_]FEATURE ide: turn set_irq() method into write_devctl() method ide: use ATA_HOB ide-disk: use ATA_ERR ide: add support for CFA specified transfer modes (take 3) ide-iops: only clear DMA words on setting DMA mode ide: identify data word 53 bit 1 doesn't cover words 62 and 63 (take 3) au1xxx-ide: auide_{in|out}sw() should be static ide-floppy: use ide_pio_bytes() ide-{floppy,tape}: fix padding for PIO transfers ide: remove CONFIG_BLK_DEV_IDEDOUBLER config option ... commit 80a03e29164c76b70e6dbb1d10515820cc24487a Author: Stoyan Gaydarov Date: Tue Mar 10 00:10:30 2009 -0500 [IA64] BUG to BUG_ON changes Replace: if (test) BUG(); with BUG_ON(test); Signed-off-by: Stoyan Gaydarov Signed-off-by: Tony Luck commit e76e5b2c663ac74ae6a542ac20795c625e36a5cd Merge: 32527bc... eeafda7... Author: Linus Torvalds Date: Wed Apr 1 09:47:12 2009 -0700 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (88 commits) PCI: fix HT MSI mapping fix PCI: don't enable too much HT MSI mapping x86/PCI: make pci=lastbus=255 work when acpi is on PCI: save and restore PCIe 2.0 registers PCI: update fakephp for bus_id removal PCI: fix kernel oops on bridge removal PCI: fix conflict between SR-IOV and config space sizing powerpc/PCI: include pci.h in powerpc MSI implementation PCI Hotplug: schedule fakephp for feature removal PCI Hotplug: rename legacy_fakephp to fakephp PCI Hotplug: restore fakephp interface with complete reimplementation PCI: Introduce /sys/bus/pci/devices/.../rescan PCI: Introduce /sys/bus/pci/devices/.../remove PCI: Introduce /sys/bus/pci/rescan PCI: Introduce pci_rescan_bus() PCI: do not enable bridges more than once PCI: do not initialize bridges more than once PCI: always scan child buses PCI: pci_scan_slot() returns newly found devices PCI: don't scan existing devices ... Fix trivial append-only conflict in Documentation/feature-removal-schedule.txt commit ebf7649a4c6d37ce24c143001125cf29cc0bcf6a Author: Randy Dunlap Date: Wed Apr 1 09:26:12 2009 -0700 [IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c sn2_ptc_init() has what looks like a cut-n-paste error. Fix it. Signed-off-by: Randy Dunlap Signed-off-by: Tony Luck commit 32527bc0e4b4fa7711ad1c923cf64ae72a7ffd9d Merge: e14a685... 99f6a570... Author: Linus Torvalds Date: Wed Apr 1 09:22:24 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] cio: online_store - trigger recognition for boxed devices [S390] cio: disallow online setting of device in transient state [S390] cio: introduce notifier for boxed state [S390] cio: introduce ccw_device_schedule_sch_unregister [S390] cio: wake up on failed recognition [S390] fix hypfs build failure [PATCH] sysrq: include interrupt.h instead of irq.h commit e14a685dfabf3ceeb366f1db1a22471b8f98a08b Author: Brian Maly Date: Tue Mar 31 15:25:50 2009 -0700 efifb: dmi set video type The current logic for dmi matching in efifb does not allow efifb to load on all hardware that we can dmi match for. For a real world example, boot with elilo (3.7 or 3.8 vanilla) and on a Apple (MacBook) and EFI framebuffer driver will not load (you will have no video). This specific hardware is efi v1.10, so we have UGA and not GOP. Without special bootloader magic (i.e. extra elilo patches for UGA graphics detection) no screen info will be passed to the kernel and as a result efifb will not load. This patch allows the dmi match to happen by moving it to earlier in efifb_init, and sets the video type (in set_system) so that efifb can load when we have a valid dmi match and already know the specifics of the hardware. Without this patch the efifb driver will fail to load in the event screen info is not found and passed in by the bootloader, being that we will never get to look for a dmi match. A primary reason for matching with dmi is because not all bootloaders detect the video info properly. The solution is that in the event of a dmi match, we should set screen_info.orig_video_isVGA. Most bootloaders fail to set screen info on Apple hardware, and this is a big problem for people who use Apple hardware. Tested on a MacBook SantaRosa with elilo-3.8 (vanilla) and resolves the issue, the dmi match now works, EFI framebuffer now loads and video works. Signed-off-by: Brian Maly Acked-by: Huang Ying Cc: Krzysztof Helt Cc: Chandramouli Narayanan Acked-by: Peter Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04645fc337eef283887d3b1204017f1860ed2ff7 Author: Krzysztof Helt Date: Tue Mar 31 15:25:48 2009 -0700 tridentfb: delete acceleration Kconfig option Remove Kconfig option for tridentfb acceleration. The acceleration can be switched off with modules "noaccel" parameter. The acceleration for Trident chips was fixed in the 2.6.27 kernel. Also, add CyberXXX and CyberBlade names to Kconfig option's name. It should make easier to find the tridentfb choice for cyblafb driver's users. The cyblafb driver has been replaced by the tridentfb driver. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f682fae611df642acfb99b5f2fd665f001cd253 Author: Krzysztof Helt Date: Tue Mar 31 15:25:47 2009 -0700 atyfb: speed up Mach64 cursor Save one fifo entry on cursor enabling and disabling. Save another fifo entry for FB_CUR_SETPOS operation by removing redundant one. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84d9077b3391e6966813e380e63b57f53e58e120 Author: Krzysztof Helt Date: Tue Mar 31 15:25:47 2009 -0700 fb: hide hardware cursor in graphics mode (Mach64) A hardware cursor is left enabled in the fb_set_par() which is called when a new console is created. This is inconsistent with software cursor's behaviour. Also, this makes a hardware cursor always visible in the Xfbdev (Xorg kdrive) server. Signed-off-by: Krzysztof Helt Cc: Risto Suominen Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98da329581e3e6a08eba418ba6da64c05bacd029 Author: Alessio Igor Bogani Date: Tue Mar 31 15:25:46 2009 -0700 nvidiafb: remove open_lock mutex Remove mutex from the nvidiafb_open/nvidiafb_release functions as these operations are mutexed at fb layer. Signed-off-by: Alessio Igor Bogani Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18b41f1cd537168a886c43237297692ba8d0a143 Author: Wolfgang Kroener Date: Tue Mar 31 15:25:44 2009 -0700 radeonfb: suspend/resume for ATI Mobility Radeon RV350 Add suspend/resume for the Acer Travelmate 290D/292LMi with the following graphic-chip: 01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10] [1002:4e50] (prog-if 00 [VGA controller]) Subsystem: Acer Incorporated [ALI] TravelMate 290 [1025:005a] Flags: bus master, 66MHz, medium devsel, latency 128, IRQ 10 Memory at a8000000 (32-bit, prefetchable) [size=128M] I/O ports at c100 [size=256] Memory at e0010000 (32-bit, non-prefetchable) [size=64K] [virtual] Expansion ROM at a0000000 [disabled] [size=128K] Capabilities: [58] AGP version 2.0 Capabilities: [50] Power Management version 2 Kernel driver in use: radeonfb Kernel modules: radeonfb Signed-off-by: Wolfgang Kroener Cc: Krzysztof Helt Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c958557eb6e5f0fa15aeda3b6f952051b4179394 Author: Felipe Contreras Date: Tue Mar 31 15:25:42 2009 -0700 omapfb: fix argument of blank operation The blank operation should receive FB_BLANK_POWERDOWN, not VESA_POWERDOWN. Signed-off-by: Felipe Contreras Cc: Krzysztof Helt Cc: Russell King Cc: Andrea Righi Acked-by: Trilok Soni Cc: Imre Deak Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23b736545473ed853b685cbc03883aa6ff3f0e0d Author: Michal Januszewski Date: Tue Mar 31 15:25:41 2009 -0700 uvesafb: fix selecting mode with the vbemode option If the vbemode option is used, uvesafb calls fb_get_mode() without first setting the resolution in info->var. This results in a division by zero in fb_get_mode(), as evidenced e.g. in [1]. Fix this by ensuring the info->var structure is populated before fb_get_mode() is called. [1] http://bugzilla.kernel.org/show_bug.cgi?id=11661#c37 Signed-off-by: Michal Januszewski Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddb53d48da5b0e691f35e703ac29118747f86c99 Author: Krzysztof Helt Date: Tue Mar 31 15:25:40 2009 -0700 fbdev: remove cyblafb driver A tridentfb driver has all the functionality of the cyblafb driver without the bugs of the latter. Changes to the tridentfb driver: - FBINFO_READS_FAST added to the tridentfb. The cyblafb used a blitter for scrolling which is faster than color expansion on Cyberblade chipsets. The blitter is slower on a discrete Blade3D core. Use the blitter for scrolling in the tridentfb only for integrated Blade3D cores. Now, scrolling speed is about equal for the tridentfb and the cyblafb. - a copyright notice addition is done on request of Jani Monoses (the first author of the tridentfb). Tested on AGP Blade3D card and PCChips M787CLR motherboard: VIA C3 cpu + VT8601 north bridge (aka Cyberblade/i1). Signed-off-by: Krzysztof Helt Cc: "Jani Monoses" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec549a0fdc32171b26677f1ef0b5309faa743362 Author: Ben Dooks Date: Tue Mar 31 15:25:39 2009 -0700 fb: add s3c-fb driver for newer Samsung SoC framebuffer devices Add support for the newer Samsung devices, such as found in the S3C2443, S3C6400 or S3C6410 series SoC. It currently does not support all the alpha- or chroma-key options but it will support more exporting more than one framebuffer ready for adding overlay and blending functions. Signed-off-by: Ben Dooks Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c8714310afbaabd94ac30db1e499a90e4a69c4e Author: Herton Ronaldo Krzesinski Date: Tue Mar 31 15:25:37 2009 -0700 n411: add missing Makefile entry There is no entry for n411.c to be built, include one in Makefile. Signed-off-by: Herton Ronaldo Krzesinski Cc: Jaya Kumar Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bd8c47597b2522795f5eb2e61c22dcfec5dfa6a Author: Roel Kluin Date: Tue Mar 31 15:25:36 2009 -0700 viafb: returns 0 two too early Otherwise this will already return 0 if iteration MAXLOOP-2 occurs in the first loop. Signed-off-by: Roel Kluin Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b83734ec0975e1f53420b7a2d454612fc905a9d0 Author: Roel Kluin Date: Tue Mar 31 15:25:36 2009 -0700 vesafb: bitwise OR has higher precedence than ?: Signed-off-by: Roel Kluin Acked-by: Michal Januszewski Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cc9fb6dbf915e5c7e7e59bb7fab10572ddbb349 Author: Roel Kluin Date: Tue Mar 31 15:25:35 2009 -0700 uvesafb: bitwise OR has higher precedence than ?: Signed-off-by: Roel Kluin Acked-by: Michal Januszewski Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b935257b1f98291ec1c8cbf7dbccbe0b20665bf6 Author: Roel Kluin Date: Tue Mar 31 15:25:34 2009 -0700 arkfb: fix misplaced parentheses Signed-off-by: Roel Kluin Acked-by: Ondrej Zajicek Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 032220ba310204be9cb2ddbbf848020fadc63ce6 Author: Andres Salomon Date: Tue Mar 31 15:25:33 2009 -0700 asiliantfb: fix cmap memory leaks - fix cmap leak in removal path - fix cmap leak when register_framebuffer fails - check return value of fb_alloc_cmap - don't continue with driver setup if register_framebuffer fails [krzysztof.h1@wp.pl: spotted missing iounmap] [randy.dunlap@oracle.com: move data declaration before any code] Signed-off-by: Andres Salomon Cc: Krzysztof Helt Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba78289343226773b27dc25e7d1e739d0162b9e8 Author: Roel Kluin Date: Tue Mar 31 15:25:32 2009 -0700 drivers/video/omap/hwa742.c: div reaches max_clk_div With for(div = 0; div < max_clk_div; div++) { ... } div reaches max_clk_div. Signed-off-by: Roel Kluin Cc: Joe Perches Acked-by: Trilok Soni Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afbb9d8d5266b4121cb503b4e097f8e65286a077 Author: Kristoffer Ericson Date: Tue Mar 31 15:25:31 2009 -0700 fbdev: update s1d13xxxfb to differ between revisions and production ids The s1d13xxx chip provides two values of identification value: the Production id (e.g 13506/13505/13806..) and a revision number 0,1,2,3). Together these can help us to differentiate between similiar setups. This patch adds the proper way of grabbing both those values and save them for future reference (in order to decide what functions a card supports, e.g acceleration). We also move away from the concept of all s1d13xxx = s1d13806 when we really support alot more. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: simplify s1d13xxxfb_probe()] Signed-off-by: Kristoffer Ericson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91ad1203535da95bb13072bdb59e1dc3ca76ec5d Author: Roel Kluin Date: Tue Mar 31 15:25:30 2009 -0700 fbdev: newport: newport_*wait() return 0 on timeout With a postfix decrement t reaches -1 on timeout which results in a return of 0. Signed-off-by: Roel Kluin Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb8972b4407f81b07ea6fc71fd91f9fc7a35a81e Author: Andres Salomon Date: Tue Mar 31 15:25:30 2009 -0700 amifb: check fb_alloc_cmap return value and handle failure properly Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 909baf0092545e5c2082b045303e7a4b1d2a0522 Author: Andres Salomon Date: Tue Mar 31 15:25:29 2009 -0700 amba-clcd: fix cmap memory leaks - fix cmap leak in removal path - fix cmap leak when register_framebuffer fails Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e98d9b407c248ba1419bed0823488d3cc71a2c31 Author: Andres Salomon Date: Tue Mar 31 15:25:28 2009 -0700 68328fb: fix cmap memory leaks - fix cmap leak in removal path - fix cmap leak when register_framebuffer fails - check return value of fb_alloc_cmap Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 327fc8752a3c08fc7dc7d382883e65aad2f03bde Author: Andres Salomon Date: Tue Mar 31 15:25:28 2009 -0700 tgafb: fix cmap memory leak Fix cmap leak when register_framebuffer fails. Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc880a715782fe31116284d90e0b5bfb1411535b Author: Andres Salomon Date: Tue Mar 31 15:25:27 2009 -0700 sunxvr500: fix cmap memory leaks - fix cmap leak in removal path - fix cmap leak when register_framebuffer fails Signed-off-by: Andres Salomon Cc: "David S. Miller" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccb121e6958eca5f58938e56523fc589fed36fa8 Author: Andres Salomon Date: Tue Mar 31 15:25:26 2009 -0700 valkyriefb: check fb_alloc_cmap return value and handle failure properly Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 175b39fb7e145e1aa06f6369c1fbea16873dee9e Author: Andres Salomon Date: Tue Mar 31 15:25:26 2009 -0700 stifb: check fb_alloc_cmap return value and handle failure properly Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c23124277e58998703278c26c53b159cea0f9643 Author: Andres Salomon Date: Tue Mar 31 15:25:25 2009 -0700 sstfb: check fb_alloc_cmap return value and handle failure properly Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a5d924e5954e81a905907512f8c7a1cbf81d700 Author: Andres Salomon Date: Tue Mar 31 15:25:24 2009 -0700 sm501fb: check fb_alloc_cmap return value and handle failure properly Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fd853118dd821de59106c5b9a0a2a6f488bc4b5 Author: Andres Salomon Date: Tue Mar 31 15:25:23 2009 -0700 skeletonfb: check fb_alloc_cmap return value and handle failure properly Bad example code, no cookie! Signed-off-by: Andres Salomon Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e266e2e0e19532c1b8e2e2bff1eb6ccf42e478a Author: Andres Salomon Date: Tue Mar 31 15:25:22 2009 -0700 vfb: fix memory leaks in removal path We were leaking the cmap memory. Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07b39b49b402355a7172c113102a8b68aafb17dd Author: Andres Salomon Date: Tue Mar 31 15:25:22 2009 -0700 tridentfb: fix memory leaks in removal path We were leaking the cmap memory. Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 895d72279da7f24f266f9583c239e7b22230127c Author: Andres Salomon Date: Tue Mar 31 15:25:21 2009 -0700 tdfxfb: fix memory leaks in removal path We were leaking the cmap memory. Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4bc4e8af0a4a34c713f8c1a33a78cedffe8e0b7 Author: Andres Salomon Date: Tue Mar 31 15:25:20 2009 -0700 drivers/video/sgivwfb.c: fix memory leaks in removal path We were leaking both the cmap memory and the info struct memory. Signed-off-by: Andres Salomon Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a7f2829b5f8be124e168265f176dbbbea8861a0 Author: Andrew Morton Date: Tue Mar 31 15:25:19 2009 -0700 fbdev: uninline lock_fb_info() Before: text data bss dec hex filename 3648 2910 32 6590 19be drivers/video/backlight/backlight.o 3226 2812 32 6070 17b6 drivers/video/backlight/lcd.o 30990 16688 8480 56158 db5e drivers/video/console/fbcon.o 15488 8400 24 23912 5d68 drivers/video/fbmem.o After: text data bss dec hex filename 3537 2870 32 6439 1927 drivers/video/backlight/backlight.o 3131 2772 32 5935 172f drivers/video/backlight/lcd.o 30876 16648 8480 56004 dac4 drivers/video/console/fbcon.o 15506 8400 24 23930 5d7a drivers/video/fbmem.o Cc: Andrea Righi Cc: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66c1ca019078220dc1bf968f2bb18421100ef147 Author: Andrea Righi Date: Tue Mar 31 15:25:18 2009 -0700 fbmem: fix fb_info->lock and mm->mmap_sem circular locking dependency Fix a circular locking dependency in the frame buffer console driver pushing down the mutex fb_info->lock. Circular locking dependecies occur calling the blocking fb_notifier_call_chain() with fb_info->lock held. Notifier callbacks can try to acquire mm->mmap_sem, while fb_mmap() acquires the locks in the reverse order mm->mmap_sem => fb_info->lock. Tested-by: Andrey Borzenkov Signed-off-by: Andrea Righi Cc: Geert Uytterhoeven Cc: Krzysztof Helt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8636a9240cc93efa6b36f4cfe6253e0574f832c6 Author: Krzysztof Helt Date: Tue Mar 31 15:25:17 2009 -0700 cirrusfb: fix interlaced modes Fix calculations of timings for interlaced modes. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4242a23c9e6b8e2462bb49bf78b76bfdf32158b5 Author: Krzysztof Helt Date: Tue Mar 31 15:25:17 2009 -0700 cirrusfb: fix threshold register mask for Laguna chips Fix threshold register mask for Laguna chips otherwise some 8bpp modes are garbled after selecting a 24bpp mode. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df3aafd57d590d6f3d95310fc3430f3a536d1e59 Author: Krzysztof Helt Date: Tue Mar 31 15:25:16 2009 -0700 cirrusfb: GD5434 (aka SD64) support fixed Fix handling of the Cirrus Logic GD5434 chip. Distinguish this chip from the GD5430. It allows detecting memory size for both models correctly. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f19e15b8ad23e28add5760ed049be2359f39fe8 Author: Krzysztof Helt Date: Tue Mar 31 15:25:15 2009 -0700 cirrusfb: set MCLK in one place A memory clock (MCLK) is set at various places. Move the setting into one place. Set the MCLK only for Zorro cards as the x86 cards should be initialized by BIOS. Improve handling of the GD5434 (SD64). Kill one annoying debug output "virtual offset: ...". Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 614c0dc93284404be2a4d5750c79bb95f2b6c980 Author: Krzysztof Helt Date: Tue Mar 31 15:25:15 2009 -0700 cirrusfb: add accelerator constant Add an accelerator constant so almost all Cirrus are recognized as accelerators by the fbset command. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd14f71cc62dd07b588cc6de935155e6fd3911c9 Author: Krzysztof Helt Date: Tue Mar 31 15:25:14 2009 -0700 cirrusfb: fix clock doubling Cirrus' Alpine and Picasso4 chips uses DAC clock doubling to achieve full range of pixclock frequencies. [akpm@linux-foundation.org: fix spelling, use usual comment layout] Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7cade31cabec33c396b1dfd9c2842e793c2648ef Author: Krzysztof Helt Date: Tue Mar 31 15:25:13 2009 -0700 cirrusfb: use 24bpp instead of 32bpp The 32bpp is supported only on the latest Cirrus Logic chips. Use the 24bpp which is supported at least since Alpine chips (GD543x). Change 32bpp mode setting to 24bpp mode. Change acceleration as well. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 527410ff7fc5d45fe41523c0ba061113dea22017 Author: Krzysztof Helt Date: Tue Mar 31 15:25:13 2009 -0700 cirrusfb: GD5446 fixes Various fixes to make Cirrus GD5446 chip work. Another Cirrus chip works with the cirrusfb. The gd5446 seems very similar to Alpine chips. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc5d8ac02f24d68efe8e267c96dd75c0531009ab Author: Krzysztof Helt Date: Tue Mar 31 15:25:12 2009 -0700 cirrusfb: fix error paths in cirrusfb_xxx_register() Balance iomap and iounmap and alloc and free calls in case of error druing device register (probing). Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e848062533207130667f6eaa748549367ccbedf Author: Krzysztof Helt Date: Tue Mar 31 15:25:11 2009 -0700 cirrusfb: add imageblit function Add hardware color expansion (imageblit) function. It roughly doubles scrolling speed of my Alpine card (GD5430). Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8343c89c4f1aac4fced7bb6919b0bdd0c13edcdc Author: Krzysztof Helt Date: Tue Mar 31 15:25:11 2009 -0700 cirrusfb: acceleration improvements - Fix color expansion for 16bpp and 32bpp modes in the cirrusfb_RectFill(). - Make a function with a common blitter code (cirrusfb_set_blitter). - Add fb_sync function to allow a higher layer synchronize with the blitter. - Kill one redundant blitter reset. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78d780e07247d52d3943b019bf9459bc9e95de1e Author: Krzysztof Helt Date: Tue Mar 31 15:25:10 2009 -0700 cirrusfb: various Laguna fixes - The Laguna GD5465 (AGP) has one register more than non-AGP chips. Recognize the AGP version and write a tile control register only on the AGP version. Tested only on an AGP card. - Bump up RAMDAC frequencies after X11 code. This allow to drive a flat panel resolution 1680x1050 at 16bpp from the 4MB card. - Fix screen start address overflow bits on Laguna cards (CRT1D register). - Fix exit path in the cirrusfb_pci_register() in case of error. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99a4584752bb41330342a427d014482525de7433 Author: Krzysztof Helt Date: Tue Mar 31 15:25:09 2009 -0700 cirrusfb: check_var improvements Break cirrusfb_decode_var() function into two parts: cirrusfb_check_pixclock() which can be called from the cirrusfb_check_var() aand merge rest into the cirrusfb_set_par_foo(). This allows rejecting modes with too high pixclock before before any change to hardware state (and a console is messed up). Also, fix RGB field's lengths for 8bpp modes to correct ones so X11 works with fbdev driver with cirrusfb. Kill some redundant function calls or register loads. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b48cb563d59e03dbf530174f30c0ed3b6fba513 Author: Krzysztof Helt Date: Tue Mar 31 15:25:08 2009 -0700 cirrusfb: Laguna chipset 8bpp fix Fix 8bpp mode by adding handling of the Laguna chipsets to various places and stop trashing a HDR register which probably does not exist on the Laguna. Fix compilation warnings about uninitialized variables also. Finally, all 8bpp, 16bpp and 32bpp modes work on the Laguna chipset. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48c329e906f834711906ab4b0986ea0e857aff16 Author: Krzysztof Helt Date: Tue Mar 31 15:25:08 2009 -0700 cirrusfb: various improvements Various improvements to the code: - kill a structure with only one field: multiplexing and use the field directly - move the cirrusfb_ops structure down the file to kill forward declarations - move cirrusfb_init() to kill forward declaration - kill register loads done already in the init_vgachip() - kill assigments done by higher layer in the cirrusfb_pan_display() - do not overwrite line pitch bit in the CL_CRT1D register - kill btype variables if they were used only once or twice - add cpu_relax() in the busy waiting loop The fix to the CL_CRT1D register handling makess the 1024x768 32bpp mode work. Previously, only lower resolution modes have worked with 32bpp. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4dec3962d6bff26010fcfc61500c1241469a6e0 Author: Krzysztof Helt Date: Tue Mar 31 15:25:07 2009 -0700 cirrusfb: use 5-6-5 RGB for 16bpp mode Use the 5-6-5 RGB mode instead of the 5-5-5 mode at 16bpp depth. It fixes colors in the 16bpp modes on Cirrus Laguna chips. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Cc: Arthur Marsh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6683e01e2c950f635a6c0e2bbc80db1b1838311f Author: Krzysztof Helt Date: Tue Mar 31 15:25:06 2009 -0700 cirrusfb: do not calculate line length twice A line length is calculated twice: first in the cirrusfb_decode_var() then in the cirrusfb_set_par_foo(). Use the first calculated value. A nice side effect is that 32bpp mode works now. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Cc: Arthur Marsh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e30fc086d000d15abfe5550cc8b286335f7e132 Author: Krzysztof Helt Date: Tue Mar 31 15:25:05 2009 -0700 cirrusfb: add mmio registers for Laguna chipsets The Laguna chipsets use special registers which are available through the mmio area. The cirrusfb driver does not use memory mapped registers for the PCI cards. Add the memory mapped area for Laguna chipsets and add basic usage of the special Laguna registers after SVGALIB code. This gives readable console at 16bpp on the GD-5465 (Laguna AGP). The 8bpp and 32bpp depths are still broken. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 213d4bdd8cd405d9ba59ee78165b8c870f83a018 Author: Krzysztof Helt Date: Tue Mar 31 15:25:04 2009 -0700 cirrusfb: add Laguna additional overflow register Add additional overflow register setting for Laguna chips. Also, simplify some code in the cirrusfb_pan_display() and cirrusfb_blank(). Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a4ea6ab0fff0c02f101a60d2ba4f1794990499 Author: Krzysztof Helt Date: Tue Mar 31 15:25:04 2009 -0700 cirrusfb: fix Laguna chipset memory detection and clock setting Fix memory detection and clock setting for Cirrus Laguna chipsets (GD5464/GD5465). The changes are done after the Xorg code. The driver still does not display anything on the GD5465 but it switches resolutions correctly at least. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75ed3a17a5bc0ecff5c256cfb81ed06f8a6fbb54 Author: Krzysztof Helt Date: Tue Mar 31 15:25:03 2009 -0700 cirrusfb: convert printks to dev_foo Convert all printks to dev_dbg, dev_info or dev_err. Kill some excessive debug information and code in the process. [akpm@linux-foundation.org: printk fixes] [akpm@linux-foundation.org: cleanups] Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5cb78feee7b6631f578e12bda1e86eea7923637 Author: Randy Dunlap Date: Tue Mar 31 15:25:02 2009 -0700 atyfb: fix header file trailing whitespace Fix trailing whitespace because quilt complained about it. Signed-off-by: Randy Dunlap Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e6fe42227e23a379d3c70f6ff257131399e4075 Author: Andrew Morton Date: Tue Mar 31 15:25:01 2009 -0700 drivers/video/uvesafb.c: don't use gfp_any() GFP_KERNEL is legal here - we don't need to use gfp_any(). Cc: Evgeniy Polyakov Cc: "David S. Miller" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa7af8b1bb6dfca7a0c8541683a9bfffbc8dd345 Author: Roel Kluin Date: Tue Mar 31 15:25:00 2009 -0700 rtc: test before subtraction on unsigned new_alarm is unsigned so test before the subtraction. [akpm@linux-foundation.org: time-wrapping fix] Signed-off-by: Roel Kluin Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c08cf9daf66844c60ebe9f89885d3a3e1893e61f Author: Mike Rapoport Date: Tue Mar 31 15:24:59 2009 -0700 rtc-v3020: coding style cleanup Signed-off-by: Mike Rapoport Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62da659a7057f7227a99a42eea6aa606b09c1e8c Author: Roel Kluin Date: Tue Mar 31 15:24:59 2009 -0700 rtc-wm8350: retries will reach -1 With a postfix decrement retries will reach -1 rather than 0, so the warning and error-out will not occur. Signed-off-by: Roel Kluin Acked-by: Mark Brown Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a216685818a54b4f15235068b53908f954850251 Author: Matthias Fuchs Date: Tue Mar 31 15:24:58 2009 -0700 rtc: add EPSON RX8025 support to DS1307 RTC driver Add support for the EPSON RX8025 RTC. The date/time registers of this chip are compatible with the DS1307. Signed-off-by: Matthias Fuchs Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30e7b039b1f9a6d5a4e50df5469a4f347ea1aa77 Author: Ed Swierk Date: Tue Mar 31 15:24:56 2009 -0700 rtc-ds1307: true SMBus compatibility Allow the rtc-ds1307 driver to work with SMBus controllers like nforce2 that do not support i2c block transfers. Signed-off-by: Ed Swierk Acked-by: Jean Delvare Acked-by: David Brownell Cc: Alessandro Zummo Cc: BARRE Sebastien Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b250c96ea9d7bc0b9ac3ff6e878b254b0b0b6abc Author: dann frazier Date: Tue Mar 31 15:24:55 2009 -0700 rtc-parisc: rename p pointer to rtc Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8c20cd3f7e2e223898c53adfb74420db5d9ac47 Author: dann frazier Date: Tue Mar 31 15:24:55 2009 -0700 rtc-parisc: remove a couple unnecessary variables Signed-off-by: dann frazier Reviewed-by: Grant Grundler Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd875d4767f821dabd0feb668623a42e9d48158a Author: dann frazier Date: Tue Mar 31 15:24:54 2009 -0700 rtc-parisc: remove unnecessary ret variable Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d09c091b6a8b2b73381e514d68c73580f2294b03 Author: dann frazier Date: Tue Mar 31 15:24:53 2009 -0700 rtc-parisc: declare rtc_parisc_dev as static Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b93cff4dc184bf7b4858dc7a9bd2e8d33c1a3eb Author: dann frazier Date: Tue Mar 31 15:24:52 2009 -0700 rtc-parisc: use platform_driver_probe This isn't a hotpluggable device, so call platform_driver_probe directly in parisc_rtc_init Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f62bacd4d48a1a6b8931a0140fb2324a06dd89fe Author: dann frazier Date: Tue Mar 31 15:24:52 2009 -0700 rtc-parisc: use rtc_valid_tm() in parisc_get_time Use the return value of rtc_valid_tm() instead of just returning 0. Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b318f66dca829a72c974083cc10fd5556eec6f1 Author: dann frazier Date: Tue Mar 31 15:24:51 2009 -0700 rtc-parisc: remove struct parisc_rtc parisc_rtc now only includes an rtc_device pointer, so let's just use the rtc_device type directly. Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05439f1f89aebbdb791c49e980f0f31652e4055b Author: dann frazier Date: Tue Mar 31 15:24:50 2009 -0700 rtc-parisc: remove redundant locking The RTC subsystem proides ops locking, no need to implement our own Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93d456d9802a40859ecc3d67be8c759b03aa487d Author: dann frazier Date: Tue Mar 31 15:24:49 2009 -0700 rtc-parisc: add a missing include for linux/rtc.h Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e3fd9e5810f141c9c70c36992d4ed72b3aa1fed Author: dann frazier Date: Tue Mar 31 15:24:48 2009 -0700 rtc: add platform driver for EFI Munge Stephane Eranian's efirtc.c code into an rtc platform driver [akpm@linux-foundation.org: use is_leap_year()] Signed-off-by: dann frazier Cc: Alessandro Zummo Cc: stephane eranian Cc: "Luck, Tony" Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78d89ef40c2ff7265df077e20c4d76be7d415204 Author: Andrew Morton Date: Tue Mar 31 15:24:48 2009 -0700 rtc: convert LEAP_YEAR into an inline - the LEAP_YEAR macro is buggy - it references its arg multiple times. Fix this by turning it into a C function. - give it a more approriate name - Move it to rtc.h so that other .c files can use it, instead of copying it. Cc: dann frazier Acked-by: Alessandro Zummo Cc: stephane eranian Cc: "Luck, Tony" Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47367a3ba425d70467af0009782098235ddbf204 Author: Mark Brown Date: Tue Mar 31 15:24:46 2009 -0700 rtc: convert wm8350 use new alarm and update operations These are the only two ioctls so the ioctl() function is also removed. Signed-off-by: Mark Brown Cc: Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79955898f961a870cbcc58f6ae13f3741a909da5 Author: Ian Kent Date: Tue Mar 31 15:24:45 2009 -0700 autofs4: fix kernel includes autofs_dev-ioctl.h is included by both the kernel module and user space tools and it includes two kernel header files. Compiles work if the kernel headers are installed but fail otherwise. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f63aaa8b9239475fc580d4450f1141496655305 Author: Ian Kent Date: Tue Mar 31 15:24:45 2009 -0700 autofs4: fix lookup deadlock A deadlock can occur when user space uses a signal (autofs version 4 uses SIGCHLD for this) to effect expire completion. The order of events is: Expire process completes, but before being able to send SIGCHLD to it's parent ... Another process walks onto a different mount point and drops the directory inode semaphore prior to sending the request to the daemon as it must ... A third process does an lstat on on the expired mount point causing it to wait on expire completion (unfortunately) holding the directory semaphore. The mount request then arrives at the daemon which does an lstat and, deadlock. For some time I was concerned about releasing the directory semaphore around the expire wait in autofs4_lookup as well as for the mount call back. I finally realized that the last round of changes in this function made the expiring dentry and the lookup dentry separate and distinct so the check and possible wait can be done anywhere prior to the mount call back. This patch moves the check to just before the mount call back and inside the directory inode mutex release. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56fcef75117a153f298b3fe54af31053f53997dd Author: Ian Kent Date: Tue Mar 31 15:24:43 2009 -0700 autofs4: cleanup expire code duplication A significant portion of the autofs_dev_ioctl_expire() and autofs4_expire_multi() functions is duplicated code. This patch cleans that up. Signed-off-by: Ian Kent Signed-off-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00fcf2cb6f6bb421851c3ba062c0a36760ea6e53 Author: Johannes Weiner Date: Tue Mar 31 15:24:42 2009 -0700 ecryptfs: use kzfree() Use kzfree() instead of memset() + kfree(). Signed-off-by: Johannes Weiner Reviewed-by: Pekka Enberg Acked-by: Tyler Hicks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2801806de1c9c1d03b7d1bfcb2e01dd4d389e80 Author: Anton Vorontsov Date: Tue Mar 31 15:24:40 2009 -0700 powerpc/fsl_soc: isolate legacy fsl_spi support to mpc832x_rdb boards The advantages of this: - Don't encourage legacy support; - Less external symbols, less code to compile-in for !MPC832x_RDB platforms. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 754582853120a9ec8b8293b5147b605b1c6a39f1 Author: Anton Vorontsov Date: Tue Mar 31 15:24:39 2009 -0700 powerpc/83xx: add mmc-spi support via the device tree for MPC8323E-RDB - Add gpio-controller node to manage QE GPIO Bank D; - Add mmc-spi node; - Modify board file so that it won't use legacy SPI support with the new device trees. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f1c6ebf57b815ad709e89291e446935fee78f75 Author: Anton Vorontsov Date: Tue Mar 31 15:24:38 2009 -0700 powerpc: add mmc-spi-slot bindings The bindings describes a case where MMC/SD/SDIO slot directly connected to a SPI bus. Such setups are widely used on embedded PowerPC boards. The patch also adds the mmc-spi-slot entry to the OpenFirmware modalias table. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35b4b3c0c1265f1a7342574be393c157601401f0 Author: Anton Vorontsov Date: Tue Mar 31 15:24:37 2009 -0700 spi_mpc83xx: add OF platform driver bindings Implement full support for OF SPI bindings. Now the driver can manage its own chip selects without any help from the board files and/or fsl_soc constructors. The "legacy" code is well isolated and could be removed as time goes by. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 364fdbc00fbdd409ade63500710123fe323aa164 Author: Anton Vorontsov Date: Tue Mar 31 15:24:36 2009 -0700 spi_mpc83xx: rework chip selects handling The main purpose of this patch is to pass 'struct spi_device' to the chip select handling routines. This is needed so that we could implement full-fledged OpenFirmware support for this driver. While at it, also: - Replace two {de,activate}_cs routines by single cs_contol(). - Don't duplicate platform data callbacks in mpc83xx_spi struct. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34c8a20c6ee6af25ee35da9ca15ba81faacfc73d Author: Anton Vorontsov Date: Tue Mar 31 15:24:35 2009 -0700 spi_mpc83xx: fix sparse warnings The patch fixes following sparse warnings: CHECK spi_mpc83xx.c spi_mpc83xx.c:145:1: warning: symbol 'mpc83xx_spi_rx_buf_u8' was not declared. Should it be static? spi_mpc83xx.c:146:1: warning: symbol 'mpc83xx_spi_rx_buf_u16' was not declared. Should it be static? spi_mpc83xx.c:147:1: warning: symbol 'mpc83xx_spi_rx_buf_u32' was not declared. Should it be static? spi_mpc83xx.c:148:1: warning: symbol 'mpc83xx_spi_tx_buf_u8' was not declared. Should it be static? spi_mpc83xx.c:149:1: warning: symbol 'mpc83xx_spi_tx_buf_u16' was not declared. Should it be static? spi_mpc83xx.c:150:1: warning: symbol 'mpc83xx_spi_tx_buf_u32' was not declared. Should it be static? spi_mpc83xx.c:175:32: warning: incorrect type in initializer (different address spaces) spi_mpc83xx.c:175:32: expected void *tmp_ptr spi_mpc83xx.c:175:32: got unsigned int [noderef] * spi_mpc83xx.c:183:26: warning: incorrect type in argument 1 (different address spaces) spi_mpc83xx.c:183:26: expected unsigned int [noderef] [usertype] *reg spi_mpc83xx.c:183:26: got void *tmp_ptr spi_mpc83xx.c:184:26: warning: incorrect type in argument 1 (different address spaces) spi_mpc83xx.c:184:26: expected unsigned int [noderef] [usertype] *reg spi_mpc83xx.c:184:26: got void *tmp_ptr spi_mpc83xx.c:287:31: warning: incorrect type in initializer (different address spaces) spi_mpc83xx.c:287:31: expected void *tmp_ptr spi_mpc83xx.c:287:31: got unsigned int [noderef] * spi_mpc83xx.c:295:25: warning: incorrect type in argument 1 (different address spaces) spi_mpc83xx.c:295:25: expected unsigned int [noderef] [usertype] *reg spi_mpc83xx.c:295:25: got void *tmp_ptr spi_mpc83xx.c:296:25: warning: incorrect type in argument 1 (different address spaces) spi_mpc83xx.c:296:25: expected unsigned int [noderef] [usertype] *reg spi_mpc83xx.c:296:25: got void *tmp_ptr spi_mpc83xx.c:486:13: warning: symbol 'mpc83xx_spi_irq' was not declared. Should it be static? Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3b1b1cbf002e65a3cabd479e68b5f35886a26db Author: Wu Fengguang Date: Tue Mar 31 15:24:34 2009 -0700 ramfs: add support for "mode=" mount option Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12843 "I use ramfs instead of tmpfs for /tmp because I don't use swap on my laptop. Some apps need 1777 mode for /tmp directory, but ramfs does not support 'mode=' mount option." Reported-by: Avan Anishchuk Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb233fdfc7b7cefe45bfa2e8d1b24e79c60a48e5 Author: Daniel Mack Date: Tue Mar 31 15:24:33 2009 -0700 lis3: SPI transport layer Make use of the new abstraction layer and add a new transport layer for spi. Works fine on a PXA based board. Signed-off-by: Daniel Mack Acked-by: Pavel Machek Acked-by: Eric Piel Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a38da2ed74f628c1f3e907c772be21a66eccab9c Author: Daniel Mack Date: Tue Mar 31 15:24:32 2009 -0700 lis3: solve dependency between core and ACPI This solves the dependency between lis3lv02d.[ch] and ACPI specific methods. It introduces a ->bus_priv pointer to the device struct which is casted to 'struct acpi_device' in the ACIP layer. Changed hp_accel.c accordingly. Signed-off-by: Daniel Mack Acked-by: Pavel Machek Acked-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab337a632783c251a3c3852aec0ead8a0281cbdd Author: Daniel Mack Date: Tue Mar 31 15:24:31 2009 -0700 lis3: reorder functions to make forward decl obsolete Move lis3lv02d_init_device() down so that the forward declaration of lis3lv02d_add_fs() becomes unnecessary. Signed-off-by: Daniel Mack Acked-by: Pavel Machek Acked-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12a324b6a3758f04a952b99d75a625732d767585 Author: Luca Cappa Date: Tue Mar 31 15:24:31 2009 -0700 hp_accel: axis conversion for hp compaq 8710w I have a laptop HP Compaq 8710W, I compiled into my kernel the LIS3LV02DL and HP_ACCEL module drivers. While loading it cannot recognize the laptop model, so i am sending the necessary information to update the database of axis orientations. >When the laptop is horizontal the position reported is about 0 for X and Y >and a positive value for Z Yes, it is about 0,0,1000, the actual reading says: (-17,-26,1018); > If the left side is elevated, X increases (becomes positive) Yes, X goes toward to positive 1000. >If the front side (where the touchpad is) is elevated, Y decreases (becomes negative) No, Y goes toward to positive 1000. >If the laptop is put upside-down, Z becomes negative Yes, the laptop on a table Z gives 1000, and if upsidedown the Z reads -1000. So in few words the Y axis is inverted. Cc: Eric Piel Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d7639d33a348d5637daa50bba27497e9f5dac64 Author: Pavel Machek Date: Tue Mar 31 15:24:29 2009 -0700 hp_accel: add two more axis information Add two more laptops to whitelist. Signed-off-by: Michal Marek Signed-off-by: Pavel Machek Cc: Daniel Mack Cc: Eric Piel Cc: Vladimir Botka Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72f5de92e199f96cfcea125aefc76c138d8c553c Author: Ira Snyder Date: Tue Mar 31 15:24:29 2009 -0700 hwmon: Add LTC4215 driver Add Linux support for the Linear Technology LTC4215 Hot Swap controller I2C monitoring interface. I have tested the driver with my board, and it appears to work fine. With the power supplies disabled, it reads 11.93V input, 1.93V output, no current and no power. With the supplies enabled, it reads 11.93V input, 11.98V output, no current, no power. I'm not drawing any current at the moment, so this is reasonable. The value in the sense register never reads anything except 0, so I expect to get zero from the current and power calculations. I didn't attempt to support changing any of the chip's settings or enabling the FET. I'm not sure even how to do that and still fit within the hwmon framework. :) Signed-off-by: Ira W. Snyder Cc: Jean Delvare Cc: "Mark M. Hoffman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 061603275814544842e7df77d1157eff18565997 Author: Davide Rizzo Date: Tue Mar 31 15:24:27 2009 -0700 hwmon: LM95241 driver An hwmon driver for the National Semiconductor LM95241 triple temperature sensors chip Signed-off-by: Davide Rizzo Cc: Jean Delvare Cc: "Mark M. Hoffman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be84cfc588b19f14764d78556dc7b630ee8c914c Author: Pavel Machek Date: Tue Mar 31 15:24:26 2009 -0700 hp_accel: adev is poor name of exported symbol As Andrew noted, adev is pretty poor name for symbol being exported. Rename it to lis3. Signed-off-by: Pavel Machek Cc: Eric Piel Cc: Vladimir Botka Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b872903c5d66bccdf4306a35e3e94d4da8555d3 Author: Pavel Machek Date: Tue Mar 31 15:24:25 2009 -0700 hp_accel: small documentation updates Fix english in Documentation, add "how to test" description. Signed-off-by: Pavel Machek Cc: Eric Piel Cc: Vladimir Botka Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b19449db074eec86ae31a96d3cdca4aa7f138ab Author: Davide Libenzi Date: Tue Mar 31 15:24:24 2009 -0700 epoll keyed wakeups: make tty use keyed wakeups Introduce keyed event wakeups inside the TTY code. Signed-off-by: Davide Libenzi Cc: Alan Cox Cc: Ingo Molnar Cc: David Miller Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 395108880efff4a4ffa1ffa554477f7f5ba6a031 Author: Davide Libenzi Date: Tue Mar 31 15:24:23 2009 -0700 epoll keyed wakeups: make eventfd use keyed wakeups Introduce keyed event wakeups inside the eventfd code. Signed-off-by: Davide Libenzi Cc: Alan Cox Cc: Ingo Molnar Cc: David Miller Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dfa4eeab0fc7e8633974f2770945311b31eedf6 Author: Davide Libenzi Date: Tue Mar 31 15:24:22 2009 -0700 epoll keyed wakeups: teach epoll about hints coming with the wakeup key Use the events hint now sent by some devices, to avoid unnecessary wakeups for events that are of no interest for the caller. This code handles both devices that are sending keyed events, and the ones that are not (and event the ones that sometimes send events, and sometimes don't). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Davide Libenzi Cc: Alan Cox Cc: Ingo Molnar Cc: David Miller Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37e5540b3c9d838eb20f2ca8ea2eb8072271e403 Author: Davide Libenzi Date: Tue Mar 31 15:24:21 2009 -0700 epoll keyed wakeups: make sockets use keyed wakeups Add support for event-aware wakeups to the sockets code. Events are delivered to the wakeup target, so that epoll can avoid spurious wakeups for non-interesting events. Signed-off-by: Davide Libenzi Acked-by: Alan Cox Cc: Ingo Molnar Cc: David Miller Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0da37753695e010776ccf2200a5731e0f88a9f3 Author: Davide Libenzi Date: Tue Mar 31 15:24:20 2009 -0700 epoll keyed wakeups: introduce new *_poll() wakeup macros Introduce new wakeup macros that allow passing an event mask to the wakeup targets. They exactly mimic their non-_poll() counterpart, with the added event mask passing capability. I did add only the ones currently requested, avoiding the _nr() and _all() for the moment. Signed-off-by: Davide Libenzi Cc: Alan Cox Cc: Ingo Molnar Cc: David Miller Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ede816ac36e027db5fe0051ad9c73f76db63772 Author: Davide Libenzi Date: Tue Mar 31 15:24:20 2009 -0700 epoll keyed wakeups: add __wake_up_locked_key() and __wake_up_sync_key() This patchset introduces wakeup hints for some of the most popular (from epoll POV) devices, so that epoll code can avoid spurious wakeups on its waiters. The problem with epoll is that the callback-based wakeups do not, ATM, carry any information about the events the wakeup is related to. So the only choice epoll has (not being able to call f_op->poll() from inside the callback), is to add the file* to a ready-list and resolve the real events later on, at epoll_wait() (or its own f_op->poll()) time. This can cause spurious wakeups, since the wake_up() itself might be for an event the caller is not interested into. The rate of these spurious wakeup can be pretty high in case of many network sockets being monitored. By allowing devices to report the events the wakeups refer to (at least the two major classes - POLLIN/POLLOUT), we are able to spare useless wakeups by proper handling inside the epoll's poll callback. Epoll will have in any case to call f_op->poll() on the file* later on, since the change to be done in order to have the full event set sent via wakeup, is too invasive for the way our f_op->poll() system works (the full event set is calculated inside the poll function - there are too many of them to even start thinking the change - also poll/select would need change too). Epoll is changed in a way that both devices which send event hints, and the ones that don't, are correctly handled. The former will gain some efficiency though. As a general rule for devices, would be to add an event mask by using key-aware wakeup macros, when making up poll wait queues. I tested it (together with the epoll's poll fix patch Andrew has in -mm) and wakeups for the supported devices are correctly filtered. Test program available here: http://www.xmailserver.org/epoll_test.c This patch: Nothing revolutionary here. Just using the available "key" that our wakeup core already support. The __wake_up_locked_key() was no brainer, since both __wake_up_locked() and __wake_up_locked_key() are thin wrappers around __wake_up_common(). The __wake_up_sync() function had a body, so the choice was between borrowing the body for __wake_up_sync_key() and calling it from __wake_up_sync(), or make an inline and calling it from both. I chose the former since in most archs it all resolves to "mov $0, REG; jmp ADDR". Signed-off-by: Davide Libenzi Cc: Alan Cox Cc: Ingo Molnar Cc: David Miller Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcd0b235bf3808dec5115c381cd55568f63b85f0 Author: Davide Libenzi Date: Tue Mar 31 15:24:18 2009 -0700 eventfd: improve support for semaphore-like behavior People started using eventfd in a semaphore-like way where before they were using pipes. That is, counter-based resource access. Where a "wait()" returns immediately by decrementing the counter by one, if counter is greater than zero. Otherwise will wait. And where a "post(count)" will add count to the counter releasing the appropriate amount of waiters. If eventfd the "post" (write) part is fine, while the "wait" (read) does not dequeue 1, but the whole counter value. The problem with eventfd is that a read() on the fd returns and wipes the whole counter, making the use of it as semaphore a little bit more cumbersome. You can do a read() followed by a write() of COUNTER-1, but IMO it's pretty easy and cheap to make this work w/out extra steps. This patch introduces a new eventfd flag that tells eventfd to only dequeue 1 from the counter, allowing simple read/write to make it behave like a semaphore. Simple test here: http://www.xmailserver.org/eventfd-sem.c To be back-compatible with earlier kernels, userspace applications should probe for the availability of this feature via #ifdef EFD_SEMAPHORE fd = eventfd2 (CNT, EFD_SEMAPHORE); if (fd == -1 && errno == EINVAL) #else #endif Signed-off-by: Davide Libenzi Cc: Tested-by: Michael Kerrisk Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f0989dbfa8d18dd17c32120aac1eb3e906a62a2 Author: Tony Battersby Date: Tue Mar 31 15:24:16 2009 -0700 epoll: use real type instead of void * eventpoll.c uses void * in one place for no obvious reason; change it to use the real type instead. Signed-off-by: Tony Battersby Acked-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e057e15ff66a620eda4c407486cbb8f8fbb7d878 Author: Tony Battersby Date: Tue Mar 31 15:24:15 2009 -0700 epoll: clean up ep_modify ep_modify() doesn't need to set event.data from within the ep->lock spinlock as the comment suggests. The only place event.data is used is ep_send_events_proc(), and this is protected by ep->mtx instead of ep->lock. Also update the comment for mutex_lock() at the top of ep_scan_ready_list(), which mentions epoll_ctl(EPOLL_CTL_DEL) but not epoll_ctl(EPOLL_CTL_MOD). ep_modify() can also use spin_lock_irq() instead of spin_lock_irqsave(). Signed-off-by: Tony Battersby Acked-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1bc90dd5d037079f96b3327f943eb6ae8ef7491 Author: Tony Battersby Date: Tue Mar 31 15:24:15 2009 -0700 epoll: remove unnecessary xchg xchg in ep_unregister_pollwait() is unnecessary because it is protected by either epmutex or ep->mtx (the same protection as ep_remove()). If xchg was necessary, it would be insufficient to protect against problems: if multiple concurrent calls to ep_unregister_pollwait() were possible then a second caller that returns without doing anything because nwait == 0 could return before the waitqueues are removed by the first caller, which looks like it could lead to problematic races with ep_poll_callback(). So remove xchg and add comments about the locking. Signed-off-by: Tony Battersby Acked-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0305882825784e74f68a56eee6c3a812a99f235 Author: Tony Battersby Date: Tue Mar 31 15:24:14 2009 -0700 epoll: remember the event if epoll_wait returns -EFAULT If epoll_wait returns -EFAULT, the event that was being returned when the fault was encountered will be forgotten. This is not a big deal since EFAULT will happen only if a buggy userspace program passes in a bad address, in which case what happens later usually doesn't matter. However, it is easy to remember the event for later, and this patch makes a simple change to do that. Signed-off-by: Tony Battersby Acked-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abff55cee1039b5a3b96f7a5eb6e65b9f247a274 Author: Tony Battersby Date: Tue Mar 31 15:24:13 2009 -0700 epoll: don't use current in irq context ep_call_nested() (formerly ep_poll_safewake()) uses "current" (without dereferencing it) to detect callback recursion, but it may be called from irq context where the use of current is generally discouraged. It would be better to use get_cpu() and put_cpu() to detect the callback recursion. Signed-off-by: Tony Battersby Acked-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb57c3edcd2fc51d95914c39448f36e43af9d6af Author: Davide Libenzi Date: Tue Mar 31 15:24:12 2009 -0700 epoll: remove debugging code Remove debugging code from epoll. There's no need for it to be included into mainline code. Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 296e236e96dddef351a1809c0d414bcddfcf3800 Author: Davide Libenzi Date: Tue Mar 31 15:24:11 2009 -0700 epoll: fix epoll's own poll (update) Signed-off-by: Davide Libenzi Cc: Pavel Pisa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5071f97ec6d74f006072de0ce89b67c8792fe5a1 Author: Davide Libenzi Date: Tue Mar 31 15:24:10 2009 -0700 epoll: fix epoll's own poll Fix a bug inside the epoll's f_op->poll() code, that returns POLLIN even though there are no actual ready monitored fds. The bug shows up if you add an epoll fd inside another fd container (poll, select, epoll). The problem is that callback-based wake ups used by epoll does not carry (patches will follow, to fix this) any information about the events that actually happened. So the callback code, since it can't call the file* ->poll() inside the callback, chains the file* into a ready-list. So, suppose you added an fd with EPOLLOUT only, and some data shows up on the fd, the file* mapped by the fd will be added into the ready-list (via wakeup callback). During normal epoll_wait() use, this condition is sorted out at the time we're actually able to call the file*'s f_op->poll(). Inside the old epoll's f_op->poll() though, only a quick check !list_empty(ready-list) was performed, and this could have led to reporting POLLIN even though no ready fds would show up at a following epoll_wait(). In order to correctly report the ready status for an epoll fd, the ready-list must be checked to see if any really available fd+event would be ready in a following epoll_wait(). Operation (calling f_op->poll() from inside f_op->poll()) that, like wake ups, must be handled with care because of the fact that epoll fds can be added to other epoll fds. Test code: /* * epoll_test by Davide Libenzi (Simple code to test epoll internals) * Copyright (C) 2008 Davide Libenzi * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Davide Libenzi * */ #include #include #include #include #include #include #include #include #include #include #include #define EPWAIT_TIMEO (1 * 1000) #ifndef POLLRDHUP #define POLLRDHUP 0x2000 #endif #define EPOLL_MAX_CHAIN 100L #define EPOLL_TF_LOOP (1 << 0) struct epoll_test_cfg { long size; long flags; }; static int xepoll_create(int n) { int epfd; if ((epfd = epoll_create(n)) == -1) { perror("epoll_create"); exit(2); } return epfd; } static void xepoll_ctl(int epfd, int cmd, int fd, struct epoll_event *evt) { if (epoll_ctl(epfd, cmd, fd, evt) < 0) { perror("epoll_ctl"); exit(3); } } static void xpipe(int *fds) { if (pipe(fds)) { perror("pipe"); exit(4); } } static pid_t xfork(void) { pid_t pid; if ((pid = fork()) == (pid_t) -1) { perror("pipe"); exit(5); } return pid; } static int run_forked_proc(int (*proc)(void *), void *data) { int status; pid_t pid; if ((pid = xfork()) == 0) exit((*proc)(data)); if (waitpid(pid, &status, 0) != pid) { perror("waitpid"); return -1; } return WIFEXITED(status) ? WEXITSTATUS(status): -2; } static int check_events(int fd, int timeo) { struct pollfd pfd; fprintf(stdout, "Checking events for fd %d\n", fd); memset(&pfd, 0, sizeof(pfd)); pfd.fd = fd; pfd.events = POLLIN | POLLOUT; if (poll(&pfd, 1, timeo) < 0) { perror("poll()"); return 0; } if (pfd.revents & POLLIN) fprintf(stdout, "\tPOLLIN\n"); if (pfd.revents & POLLOUT) fprintf(stdout, "\tPOLLOUT\n"); if (pfd.revents & POLLERR) fprintf(stdout, "\tPOLLERR\n"); if (pfd.revents & POLLHUP) fprintf(stdout, "\tPOLLHUP\n"); if (pfd.revents & POLLRDHUP) fprintf(stdout, "\tPOLLRDHUP\n"); return pfd.revents; } static int epoll_test_tty(void *data) { int epfd, ifd = fileno(stdin), res; struct epoll_event evt; if (check_events(ifd, 0) != POLLOUT) { fprintf(stderr, "Something is cooking on STDIN (%d)\n", ifd); return 1; } epfd = xepoll_create(1); fprintf(stdout, "Created epoll fd (%d)\n", epfd); memset(&evt, 0, sizeof(evt)); evt.events = EPOLLIN; xepoll_ctl(epfd, EPOLL_CTL_ADD, ifd, &evt); if (check_events(epfd, 0) & POLLIN) { res = epoll_wait(epfd, &evt, 1, 0); if (res == 0) { fprintf(stderr, "Epoll fd (%d) is ready when it shouldn't!\n", epfd); return 2; } } return 0; } static int epoll_wakeup_chain(void *data) { struct epoll_test_cfg *tcfg = data; int i, res, epfd, bfd, nfd, pfds[2]; pid_t pid; struct epoll_event evt; memset(&evt, 0, sizeof(evt)); evt.events = EPOLLIN; epfd = bfd = xepoll_create(1); for (i = 0; i < tcfg->size; i++) { nfd = xepoll_create(1); xepoll_ctl(bfd, EPOLL_CTL_ADD, nfd, &evt); bfd = nfd; } xpipe(pfds); if (tcfg->flags & EPOLL_TF_LOOP) { xepoll_ctl(bfd, EPOLL_CTL_ADD, epfd, &evt); /* * If we're testing for loop, we want that the wakeup * triggered by the write to the pipe done in the child * process, triggers a fake event. So we add the pipe * read size with EPOLLOUT events. This will trigger * an addition to the ready-list, but no real events * will be there. The the epoll kernel code will proceed * in calling f_op->poll() of the epfd, triggering the * loop we want to test. */ evt.events = EPOLLOUT; } xepoll_ctl(bfd, EPOLL_CTL_ADD, pfds[0], &evt); /* * The pipe write must come after the poll(2) call inside * check_events(). This tests the nested wakeup code in * fs/eventpoll.c:ep_poll_safewake() * By having the check_events() (hence poll(2)) happens first, * we have poll wait queue filled up, and the write(2) in the * child will trigger the wakeup chain. */ if ((pid = xfork()) == 0) { sleep(1); write(pfds[1], "w", 1); exit(0); } res = check_events(epfd, 2000) & POLLIN; if (waitpid(pid, NULL, 0) != pid) { perror("waitpid"); return -1; } return res; } static int epoll_poll_chain(void *data) { struct epoll_test_cfg *tcfg = data; int i, res, epfd, bfd, nfd, pfds[2]; pid_t pid; struct epoll_event evt; memset(&evt, 0, sizeof(evt)); evt.events = EPOLLIN; epfd = bfd = xepoll_create(1); for (i = 0; i < tcfg->size; i++) { nfd = xepoll_create(1); xepoll_ctl(bfd, EPOLL_CTL_ADD, nfd, &evt); bfd = nfd; } xpipe(pfds); if (tcfg->flags & EPOLL_TF_LOOP) { xepoll_ctl(bfd, EPOLL_CTL_ADD, epfd, &evt); /* * If we're testing for loop, we want that the wakeup * triggered by the write to the pipe done in the child * process, triggers a fake event. So we add the pipe * read size with EPOLLOUT events. This will trigger * an addition to the ready-list, but no real events * will be there. The the epoll kernel code will proceed * in calling f_op->poll() of the epfd, triggering the * loop we want to test. */ evt.events = EPOLLOUT; } xepoll_ctl(bfd, EPOLL_CTL_ADD, pfds[0], &evt); /* * The pipe write mush come before the poll(2) call inside * check_events(). This tests the nested f_op->poll calls code in * fs/eventpoll.c:ep_eventpoll_poll() * By having the pipe write(2) happen first, we make the kernel * epoll code to load the ready lists, and the following poll(2) * done inside check_events() will test nested poll code in * ep_eventpoll_poll(). */ if ((pid = xfork()) == 0) { write(pfds[1], "w", 1); exit(0); } sleep(1); res = check_events(epfd, 1000) & POLLIN; if (waitpid(pid, NULL, 0) != pid) { perror("waitpid"); return -1; } return res; } int main(int ac, char **av) { int error; struct epoll_test_cfg tcfg; fprintf(stdout, "\n********** Testing TTY events\n"); error = run_forked_proc(epoll_test_tty, NULL); fprintf(stdout, error == 0 ? "********** OK\n": "********** FAIL (%d)\n", error); tcfg.size = 3; tcfg.flags = 0; fprintf(stdout, "\n********** Testing short wakeup chain\n"); error = run_forked_proc(epoll_wakeup_chain, &tcfg); fprintf(stdout, error == POLLIN ? "********** OK\n": "********** FAIL (%d)\n", error); tcfg.size = EPOLL_MAX_CHAIN; tcfg.flags = 0; fprintf(stdout, "\n********** Testing long wakeup chain (HOLD ON)\n"); error = run_forked_proc(epoll_wakeup_chain, &tcfg); fprintf(stdout, error == 0 ? "********** OK\n": "********** FAIL (%d)\n", error); tcfg.size = 3; tcfg.flags = 0; fprintf(stdout, "\n********** Testing short poll chain\n"); error = run_forked_proc(epoll_poll_chain, &tcfg); fprintf(stdout, error == POLLIN ? "********** OK\n": "********** FAIL (%d)\n", error); tcfg.size = EPOLL_MAX_CHAIN; tcfg.flags = 0; fprintf(stdout, "\n********** Testing long poll chain (HOLD ON)\n"); error = run_forked_proc(epoll_poll_chain, &tcfg); fprintf(stdout, error == 0 ? "********** OK\n": "********** FAIL (%d)\n", error); tcfg.size = 3; tcfg.flags = EPOLL_TF_LOOP; fprintf(stdout, "\n********** Testing loopy wakeup chain (HOLD ON)\n"); error = run_forked_proc(epoll_wakeup_chain, &tcfg); fprintf(stdout, error == 0 ? "********** OK\n": "********** FAIL (%d)\n", error); tcfg.size = 3; tcfg.flags = EPOLL_TF_LOOP; fprintf(stdout, "\n********** Testing loopy poll chain (HOLD ON)\n"); error = run_forked_proc(epoll_poll_chain, &tcfg); fprintf(stdout, error == 0 ? "********** OK\n": "********** FAIL (%d)\n", error); return 0; } Signed-off-by: Davide Libenzi Cc: Pavel Pisa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cdbbeebb77348176bd6a03fd86e11bc281c529e Author: Daniel Mack Date: Tue Mar 31 15:23:53 2009 -0700 drivers/misc/isl29003.c: driver for the ISL29003 ambient light sensor Add a driver for Intersil's ISL29003 ambient light sensor device plus some documentation. Inspired by tsl2550.c, a driver for a similar device. It is put in drivers/misc for now until the industrial I/O framework gets merged. Signed-off-by: Daniel Mack Acked-by: Jonathan Cameron Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 891f7d73ea30f925596b90bcf21020bfc5d90f3f Author: David Altobelli Date: Tue Mar 31 15:23:53 2009 -0700 hpilo: reduce frequency of IO operations Change hpilo open and close logic to spin for 10usec between checking device, rather than every usec. Because the loop is coded to take up to 10ms, it seemed prudent to increase the interval between polling the device, to reduce the load on the system and allow more other work to happen. Signed-off-by: David Altobelli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63cd885426872254e82dac2d9e13ea4f720c21dc Author: Harvey Harrison Date: Tue Mar 31 15:23:52 2009 -0700 ntfs: remove private wrapper of endian helpers The base versions handle constant folding now and are shorter than these private wrappers, use them directly. Signed-off-by: Harvey Harrison Cc: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 311d07611e8b354cc1ee6546e4c574c01111adc8 Author: Cyrill Gorcunov Date: Tue Mar 31 15:23:51 2009 -0700 introduce pr_cont() macro We cover all log-levels by pr_... macros except KERN_CONT one. Add it for convenience. Signed-off-by: Cyrill Gorcunov Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acdd052a285a7b4cc7da4fa7d34ef9fd0a67b2f8 Author: Hannes Eder Date: Tue Mar 31 15:23:50 2009 -0700 init/main.c: fix sparse warnings: context imbalance Impact: Attribute function 'init_post' with __releases(...). Fix these sparse warnings: init/main.c:805:21: warning: context imbalance in 'init_post' - unexpected unlock init/main.c:899:9: warning: context imbalance in 'kernel_init' - wrong count at exit Signed-off-by: Hannes Eder Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0f7ad5f4f5056b20914a35d31abcf29036ca364 Author: Michael Buesch Date: Tue Mar 31 15:23:49 2009 -0700 bcm47xx: fix GPIO API return codes The GPIO API is supposed to return 0 or a negative error code, but the SSB GPIO functions return the bitmask of the GPIO register. Fix this by ignoring the bitmask and always returning 0. The SSB GPIO functions can't fail. Signed-off-by: Michael Buesch Cc: Ralf Baechle Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0aa24ba8962bd1db98938fb2f3773f870896036 Author: H Hartley Sweeten Date: Tue Mar 31 15:23:48 2009 -0700 auxdisplay: remove PARPORT dependency Remove PARPORT dependency for Auxiliary Display support. This is not needed since the dependency for the KS0108 driver is PARPORT_PC. Signed-off-by: H Hartley Sweeten Cc: Miguel Ojeda Sandonis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcd5e16286024360340eda61da4e2f5ec152b087 Author: FUJITA Tomonori Date: Tue Mar 31 15:23:47 2009 -0700 remove unused include/asm-generic/dma-mapping.h Signed-off-by: FUJITA Tomonori Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2d7543851849a6923680cdd7e1047ed1a84a1c5 Author: Eric Sandeen Date: Tue Mar 31 15:23:46 2009 -0700 filesystem freeze: allow SysRq emergency thaw to thaw frozen filesystems Now that the filesystem freeze operation has been elevated to the VFS, and is just an ioctl away, some sort of safety net for unintentionally frozen root filesystems may be in order. The timeout thaw originally proposed did not get merged, but perhaps something like this would be useful in emergencies. For example, freeze /path/to/mountpoint may freeze your root filesystem if you forgot that you had that unmounted. I chose 'j' as the last remaining character other than 'h' which is sort of reserved for help (because help is generated on any unknown character). I've tested this on a non-root fs with multiple (nested) freezers, as well as on a system rendered unresponsive due to a frozen root fs. [randy.dunlap@oracle.com: emergency thaw only if CONFIG_BLOCK enabled] Signed-off-by: Eric Sandeen Cc: Takashi Sato Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a63998b8967615a15e2211ba0ff3a84a565824 Author: Wolfram Strepp Date: Tue Mar 31 15:23:45 2009 -0700 lib/rbtree.c: optimize rb_erase() Tfour 4 redundant if-conditions in function __rb_erase_color() in lib/rbtree.c are removed. In pseudo-source-code, the structure of the code is as follows: if ((!A || B) && (!C || D)) { . . . } else { if (!C || D) {//if this is true, it implies: (A == true) && (B == false) if (A) {//hence this always evaluates to 'true'... . } . //at this point, C always becomes true, because of: __rb_rotate_right/left(); //and: other = parent->rb_right/left; } . . if (C) {//...and this too ! . } } Signed-off-by: Wolfram Strepp Acked-by: Peter Zijlstra Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53d6660836f233df66490707365ab177e5fb2bb4 Author: J. R. Okajima Date: Tue Mar 31 15:23:43 2009 -0700 loop: add ioctl to resize a loop device Add the ability to 'resize' the loop device on the fly. One practical application is a loop file with XFS filesystem, already mounted: You can easily enlarge the file (append some bytes) and then call ioctl(fd, LOOP_SET_CAPACITY, new); The loop driver will learn about the new size and you can use xfs_growfs later on, which will allow you to use full capacity of the loop file without the need to unmount. Test app: #include #include #include #include #include #include #include #include #include #include #include #define _GNU_SOURCE #include char *me; void usage(FILE *f) { fprintf(f, "%s [options] loop_dev [backend_file]\n" "-s, --set new_size_in_bytes\n" "\twhen backend_file is given, " "it will be expanded too while keeping the original contents\n", me); } struct option opts[] = { { .name = "set", .has_arg = 1, .flag = NULL, .val = 's' }, { .name = "help", .has_arg = 0, .flag = NULL, .val = 'h' } }; void err_size(char *name, __u64 old) { fprintf(stderr, "size must be larger than current %s (%llu)\n", name, old); } int main(int argc, char *argv[]) { int fd, err, c, i, bfd; ssize_t ssz; size_t sz; __u64 old, new, append; char a[BUFSIZ]; struct stat st; FILE *out; char *backend, *dev; err = EINVAL; out = stderr; me = argv[0]; new = 0; while ((c = getopt_long(argc, argv, "s:h", opts, &i)) != -1) { switch (c) { case 's': errno = 0; new = strtoull(optarg, NULL, 0); if (errno) { err = errno; perror(argv[i]); goto out; } break; case 'h': err = 0; out = stdout; goto err; default: perror(argv[i]); goto err; } } if (optind < argc) dev = argv[optind++]; else goto err; fd = open(dev, O_RDONLY); if (fd < 0) { err = errno; perror(dev); goto out; } err = ioctl(fd, BLKGETSIZE64, &old); if (err) { err = errno; perror("ioctl BLKGETSIZE64"); goto out; } if (!new) { printf("%llu\n", old); goto out; } if (new < old) { err = EINVAL; err_size(dev, old); goto out; } if (optind < argc) { backend = argv[optind++]; bfd = open(backend, O_WRONLY|O_APPEND); if (bfd < 0) { err = errno; perror(backend); goto out; } err = fstat(bfd, &st); if (err) { err = errno; perror(backend); goto out; } if (new < st.st_size) { err = EINVAL; err_size(backend, st.st_size); goto out; } append = new - st.st_size; sz = sizeof(a); while (append > 0) { if (append < sz) sz = append; ssz = write(bfd, a, sz); if (ssz != sz) { err = errno; perror(backend); goto out; } append -= sz; } err = fsync(bfd); if (err) { err = errno; perror(backend); goto out; } } err = ioctl(fd, LOOP_SET_CAPACITY, new); if (err) { err = errno; perror("ioctl LOOP_SET_CAPACITY"); } goto out; err: usage(out); out: return err; } Signed-off-by: J. R. Okajima Signed-off-by: Tomas Matejicek Cc: Cc: Karel Zak Cc: Jens Axboe Cc: Al Viro Cc: Christoph Hellwig Cc: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65bd6a9bc7be3f5841dad12f77ce4b3210bd82c5 Author: WANG Cong Date: Tue Mar 31 15:23:41 2009 -0700 uml: remove useless comments These comments are useless now, remove them. Signed-off-by: WANG Cong Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5062910a06ee979002edbf58ab65481c81242df4 Author: WANG Cong Date: Tue Mar 31 15:23:41 2009 -0700 uml: improve error messages These error messages are from check_sysemu(), not check_ptrace(). Signed-off-by: WANG Cong Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc71768742b39bca298e9ca6c91e575cd4b140e6 Author: WANG Cong Date: Tue Mar 31 15:23:40 2009 -0700 uml: don't use a too long string literal uml uses a concatenated string literal to store the contents of .config, but .config file content is varaible, it can be very long. Use an array of string literals instead. Signed-off-by: WANG Cong Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 792dd4fc317e1f94a6af111a0979c1c0d8c14453 Author: Christoph Hellwig Date: Tue Mar 31 15:23:39 2009 -0700 ubd: stop defintining MAJOR_NR MAJOR_NR isn't needed anymore since very early 2.5 kernels. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Christoph Hellwig Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf9ed57d35d64dac5d5651478b5530a89b20ea1e Author: Magnus Damm Date: Tue Mar 31 15:23:38 2009 -0700 pm: cleanup includes Remove unused/duplicate cruft from asm/suspend.h: - x86_32: remove unused acpi code - powerpc: remove duplicate prototypes, see linux/suspend.h Signed-off-by: Magnus Damm Cc: Paul Mundt Acked-by: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8af78982ff4c0b3731527b0217d286a343a3089 Author: Magnus Damm Date: Tue Mar 31 15:23:37 2009 -0700 pm: rework includes, remove arch ifdefs Make the following header file changes: - remove arch ifdefs and asm/suspend.h from linux/suspend.h - add asm/suspend.h to disk.c (for arch_prepare_suspend()) - add linux/io.h to swsusp.c (for ioremap()) - x86 32/64 bit compile fixes Signed-off-by: Magnus Damm Cc: Paul Mundt Acked-by: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f0e3da6e186598bbd2569410ab60fa645ba00c9 Author: Randy Dunlap Date: Tue Mar 31 15:23:36 2009 -0700 alpha: convert u64 to unsigned long long Convert alpha architecture to use u64 as unsigned long long. This is being done so that (a) all arches use u64 as unsigned long long and (b) printk of a u64 as %ll[ux] will not generate format warnings by gcc. The only gcc cross-compiler that I have is 4.0.2, which generates errors about miscompiling __weak references, so I have commented out that line in compiler-gcc4.h so that most of these compile, but more builds and real machine testing would be Real Good. [akpm@linux-foundation.org: fix warning] [akpm@linux-foundation.org: fix build] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Randy Dunlap Cc: Richard Henderson Cc: Ivan Kokshaysky From: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6209d6d71f2ab8c63cc1587ef65490d83022baf Author: Ivan Kokshaysky Date: Tue Mar 31 15:23:35 2009 -0700 alpha: xchg/cmpxchg cleanup and fixes - "_local" versions of xchg/cmpxchg functions duplicate code of non-local ones (quite a few pages of assembler), except memory barriers. We can generate these two variants from a single header file using simple macros; - convert xchg macro back to inline function using always_inline attribute; - use proper argument types for cmpxchg_u8/u16 functions to fix a problem with negative arguments. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a94066992b3050a7bd9a82bf73bf19f6052d2f82 Author: Cheng Renquan Date: Tue Mar 31 15:23:35 2009 -0700 MAINTAINERS: add the missing linux alpha port mailling list Signed-off-by: Cheng Renquan Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b42afd0a3051952924ed373dcda61beb23fcb58 Author: Roel Kluin Date: Tue Mar 31 15:23:34 2009 -0700 alpha: fix macros When this macros isn't called with 'fixup', e.g. with foo this will incorectly expand to foo->foo.bits.errreg Signed-off-by: Roel Kluin Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fab5619bdd7f84cdd22cc760778f759f9819a33 Author: Hugh Dickins Date: Tue Mar 31 15:23:33 2009 -0700 shmem: writepage directly to swap Synopsis: if shmem_writepage calls swap_writepage directly, most shmem swap loads benefit, and a catastrophic interaction between SLUB and some flash storage is avoided. shmem_writepage() has always been peculiar in making no attempt to write: it has just transferred a shmem page from file cache to swap cache, then let that page make its way around the LRU again before being written and freed. The idea was that people use tmpfs because they want those pages to stay in RAM; so although we give it an overflow to swap, we should resist writing too soon, giving those pages a second chance before they can be reclaimed. That was always questionable, and I've toyed with this patch for years; but never had a clear justification to depart from the original design. It became more questionable in 2.6.28, when the split LRU patches classed shmem and tmpfs pages as SwapBacked rather than as file_cache: that in itself gives them more resistance to reclaim than normal file pages. I prepared this patch for 2.6.29, but the merge window arrived before I'd completed gathering statistics to justify sending it in. Then while comparing SLQB against SLUB, running SLUB on a laptop I'd habitually used with SLAB, I found SLUB to run my tmpfs kbuild swapping tests five times slower than SLAB or SLQB - other machines slower too, but nowhere near so bad. Simpler "cp -a" swapping tests showed the same. slub_max_order=0 brings sanity to all, but heavy swapping is too far from normal to justify such a tuning. The crucial factor on that laptop turns out to be that I'm using an SD card for swap. What happens is this: By default, SLUB uses order-2 pages for shmem_inode_cache (and many other fs inodes), so creating tmpfs files under memory pressure brings lumpy reclaim into play. One subpage of the order is chosen from the bottom of the LRU as usual, then the other three picked out from their random positions on the LRUs. In a tmpfs load, many of these pages will be ones which already passed through shmem_writepage, so already have swap allocated. And though their offsets on swap were probably allocated sequentially, now that the pages are picked off at random, their swap offsets are scattered. But the flash storage on the SD card is very sensitive to having its writes merged: once swap is written at scattered offsets, performance falls apart. Rotating disk seeks increase too, but less disastrously. So: stop giving shmem/tmpfs pages a second pass around the LRU, write them out to swap as soon as their swap has been allocated. It's surely possible to devise an artificial load which runs faster the old way, one whose sizing is such that the tmpfs pages on their second pass are the ones that are wanted again, and other pages not. But I've not yet found such a load: on all machines, under the loads I've tried, immediate swap_writepage speeds up shmem swapping: especially when using the SLUB allocator (and more effectively than slub_max_order=0), but also with the others; and it also reduces the variance between runs. How much faster varies widely: a factor of five is rare, 5% is common. One load which might have suffered: imagine a swapping shmem load in a limited mem_cgroup on a machine with plenty of memory. Before 2.6.29 the swapcache was not charged, and such a load would have run quickest with the shmem swapcache never written to swap. But now swapcache is charged, so even this load benefits from shmem_writepage directly to swap. Apologies for the #ifndef CONFIG_SWAP swap_writepage() stub in swap.h: it's silly because that will never get called; but refactoring shmem.c sensibly according to CONFIG_SWAP will be a separate task. Signed-off-by: Hugh Dickins Acked-by: Pekka Enberg Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 327c0e968645f2601a43f5ea7c19c7b3a5fa0a34 Author: KAMEZAWA Hiroyuki Date: Tue Mar 31 15:23:31 2009 -0700 vmscan: fix it to take care of nodemask try_to_free_pages() is used for the direct reclaim of up to SWAP_CLUSTER_MAX pages when watermarks are low. The caller to alloc_pages_nodemask() can specify a nodemask of nodes that are allowed to be used but this is not passed to try_to_free_pages(). This can lead to unnecessary reclaim of pages that are unusable by the caller and int the worst case lead to allocation failure as progress was not been make where it is needed. This patch passes the nodemask used for alloc_pages_nodemask() to try_to_free_pages(). Reviewed-by: KOSAKI Motohiro Acked-by: Mel Gorman Signed-off-by: KAMEZAWA Hiroyuki Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2678958e1225f350806d90f211a3b475f64aee80 Author: Johannes Weiner Date: Tue Mar 31 15:23:29 2009 -0700 ramfs-nommu: use generic lru cache Instead of open-coding the lru-list-add pagevec batching when expanding a file mapping from zero, defer to the appropriate page cache function that also takes care of adding the page to the lru list. This is cleaner, saves code and reduces the stack footprint by 16 words worth of pagevec. Signed-off-by: Johannes Weiner Acked-by: David Howells Cc: Nick Piggin Acked-by: KOSAKI Motohiro Cc: Rik van Riel Cc: Peter Zijlstra Cc: MinChan Kim Cc: Lee Schermerhorn Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88c3bd707c2552bcef93cc3724647903aece159d Author: David Rientjes Date: Tue Mar 31 15:23:29 2009 -0700 vmscan: print shrink_slab symbol name on negative shrinker objects When a shrinker has a negative number of objects to delete, the symbol name of the shrinker should be printed, not shrink_slab. This also makes the error message slightly more informative. Cc: Ingo Molnar Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71aa653c6bfa6743d838342105ebc067145394e4 Author: David Howells Date: Tue Mar 31 15:23:28 2009 -0700 nommu: make CONFIG_UNEVICTABLE_LRU available when CONFIG_MMU=n Make CONFIG_UNEVICTABLE_LRU available when CONFIG_MMU=n. There's no logical reason it shouldn't be available, and it can be used for ramfs. Signed-off-by: David Howells Reviewed-by: KOSAKI Motohiro Cc: Peter Zijlstra Cc: Greg Ungerer Cc: Johannes Weiner Cc: Rik van Riel Cc: Lee Schermerhorn Cc: Enrik Berkhan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33925b25d2c00a29664f1994ab350a9bff70f7a2 Author: David Howells Date: Tue Mar 31 15:23:26 2009 -0700 nommu: there is no mlock() for NOMMU, so don't provide the bits The mlock() facility does not exist for NOMMU since all mappings are effectively locked anyway, so we don't make the bits available when they're not useful. Signed-off-by: David Howells Reviewed-by: KOSAKI Motohiro Cc: Peter Zijlstra Cc: Greg Ungerer Cc: Johannes Weiner Cc: Rik van Riel Cc: Lee Schermerhorn Cc: Enrik Berkhan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ca43e7564679604d86e9ed834e7bbcffd8a4a3f Author: Akinobu Mita Date: Tue Mar 31 15:23:25 2009 -0700 mm: use debug_kmap_atomic Use debug_kmap_atomic in kmap_atomic, kmap_atomic_pfn, and iomap_atomic_prot_pfn. Signed-off-by: Akinobu Mita Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4112de6b679d84bd9b9681c7504be7bdfb7c7d5 Author: Akinobu Mita Date: Tue Mar 31 15:23:25 2009 -0700 mm: introduce debug_kmap_atomic x86 has debug_kmap_atomic_prot() which is error checking function for kmap_atomic. It is usefull for the other architectures, although it needs CONFIG_TRACE_IRQFLAGS_SUPPORT. This patch exposes it to the other architectures. Signed-off-by: Akinobu Mita Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 851a039cc547b33b8139fe6d7c2bbfb158e2724e Author: Hugh Dickins Date: Tue Mar 31 15:23:24 2009 -0700 mm: page_mkwrite change prototype to match fault: fix sysfs Fix warnings and return values in sysfs bin_page_mkwrite(), fixing fs/sysfs/bin.c: In function `bin_page_mkwrite': fs/sysfs/bin.c:250: warning: passing argument 2 of `bb->vm_ops->page_mkwrite' from incompatible pointer type fs/sysfs/bin.c: At top level: fs/sysfs/bin.c:280: warning: initialization from incompatible pointer type Expects to have my [PATCH next] sysfs: fix some bin_vm_ops errors Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56a76f8275c379ed73c8a43cfa1dfa2f5e9cfa19 Author: Nick Piggin Date: Tue Mar 31 15:23:23 2009 -0700 fs: fix page_mkwrite error cases in core code and btrfs page_mkwrite is called with neither the page lock nor the ptl held. This means a page can be concurrently truncated or invalidated out from underneath it. Callers are supposed to prevent truncate races themselves, however previously the only thing they can do in case they hit one is to raise a SIGBUS. A sigbus is wrong for the case that the page has been invalidated or truncated within i_size (eg. hole punched). Callers may also have to perform memory allocations in this path, where again, SIGBUS would be wrong. The previous patch ("mm: page_mkwrite change prototype to match fault") made it possible to properly specify errors. Convert the generic buffer.c code and btrfs to return sane error values (in the case of page removed from pagecache, VM_FAULT_NOPAGE will cause the fault handler to exit without doing anything, and the fault will be retried properly). This fixes core code, and converts btrfs as a template/example. All other filesystems defining their own page_mkwrite should be fixed in a similar manner. Acked-by: Chris Mason Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2ec175c39f62949438354f603f4aa170846aabb Author: Nick Piggin Date: Tue Mar 31 15:23:21 2009 -0700 mm: page_mkwrite change prototype to match fault Change the page_mkwrite prototype to take a struct vm_fault, and return VM_FAULT_xxx flags. There should be no functional change. This makes it possible to return much more detailed error information to the VM (and also can provide more information eg. virtual_address to the driver, which might be important in some special cases). This is required for a subsequent fix. And will also make it easier to merge page_mkwrite() with fault() in future. Signed-off-by: Nick Piggin Cc: Chris Mason Cc: Trond Myklebust Cc: Miklos Szeredi Cc: Steven Whitehouse Cc: Mark Fasheh Cc: Joel Becker Cc: Artem Bityutskiy Cc: Felix Blyakher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2fdf3a9b2d52842808a8e551b53b55dd9b45030 Author: Anton Blanchard Date: Tue Mar 31 15:23:19 2009 -0700 mm: enable hashdist by default on 64bit NUMA On PowerPC we allocate large boot time hashes on node 0. This leads to an imbalance in the free memory, for example on a 64GB box (4 x 16GB nodes): Free memory: Node 0: 97.03% Node 1: 98.54% Node 2: 98.42% Node 3: 98.53% If we switch to using vmalloc (like ia64 and x86-64) things are more balanced: Free memory: Node 0: 97.53% Node 1: 98.35% Node 2: 98.33% Node 3: 98.33% For many HPC applications we are limited by the free available memory on the smallest node, so even though the same amount of memory is used the better balancing helps. Since all 64bit NUMA capable architectures should have sufficient vmalloc space, it makes sense to enable it via CONFIG_64BIT. Signed-off-by: Anton Blanchard Acked-by: David S. Miller Acked-by: Benjamin Herrenschmidt Acked-by: Ralf Baechle Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 704503d836042d4a4c7685b7036e7de0418fbc0f Author: Alexey Dobriyan Date: Tue Mar 31 15:23:18 2009 -0700 mm: fix proc_dointvec_userhz_jiffies "breakage" Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9838 On i386, HZ=1000, jiffies_to_clock_t() converts time in a somewhat strange way from the user's point of view: # echo 500 >/proc/sys/vm/dirty_writeback_centisecs # cat /proc/sys/vm/dirty_writeback_centisecs 499 So, we have 5000 jiffies converted to only 499 clock ticks and reported back. TICK_NSEC = 999848 ACTHZ = 256039 Keeping in-kernel variable in units passed from userspace will fix issue of course, but this probably won't be right for every sysctl. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Cc: Peter Zijlstra Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a11f75b6a17b5d9ac5025f8d048382fd1f47377 Author: Akinobu Mita Date: Tue Mar 31 15:23:17 2009 -0700 generic debug pagealloc CONFIG_DEBUG_PAGEALLOC is now supported by x86, powerpc, sparc64, and s390. This patch implements it for the rest of the architectures by filling the pages with poison byte patterns after free_pages() and verifying the poison patterns before alloc_pages(). This generic one cannot detect invalid page accesses immediately but invalid read access may cause invalid dereference by poisoned memory and invalid write access can be detected after a long delay. Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 610a77e04a8d9fe8764dc484e2182fa251ce1cc2 Author: Li Zefan Date: Tue Mar 31 15:23:16 2009 -0700 memdup_user(): introduce I notice there are many places doing copy_from_user() which follows kmalloc(): dst = kmalloc(len, GFP_KERNEL); if (!dst) return -ENOMEM; if (copy_from_user(dst, src, len)) { kfree(dst); return -EFAULT } memdup_user() is a wrapper of the above code. With this new function, we don't have to write 'len' twice, which can lead to typos/mistakes. It also produces smaller code and kernel text. A quick grep shows 250+ places where memdup_user() *may* be used. I'll prepare a patchset to do this conversion. Signed-off-by: Li Zefan Cc: KOSAKI Motohiro Cc: Americo Wang Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2f17d9459aeccf4e013e31cbd741d6b1858eec4 Author: Roel Kluin Date: Tue Mar 31 15:23:15 2009 -0700 hugetlb: chg cannot become less than 0 chg is unsigned, so it cannot be less than 0. Also, since region_chg returns long, let vma_needs_reservation() forward this to alloc_huge_page(). Store it as long as well. all callers cast it to long anyway. Signed-off-by: Roel Kluin Cc: Andy Whitcroft Cc: Mel Gorman Cc: Adam Litke Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1d7487173eab8352125cf6cc271940f24254bd4 Author: KOSAKI Motohiro Date: Tue Mar 31 15:23:14 2009 -0700 mm: remove pagevec_swap_free() pagevec_swap_free() is now unused. Signed-off-by: KOSAKI Motohiro Cc: Johannes Weiner Cc: Rik van Riel Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad1c3544d0a85da7738ce8cff6f8a148da57935c Author: Johannes Weiner Date: Tue Mar 31 15:23:13 2009 -0700 mm: don't free swap slots on page deactivation The pagevec_swap_free() at the end of shrink_active_list() was introduced in 68a22394 "vmscan: free swap space on swap-in/activation" when shrink_active_list() was still rotating referenced active pages. In 7e9cd48 "vmscan: fix pagecache reclaim referenced bit check" this was changed, the rotating removed but the pagevec_swap_free() after the rotation loop was forgotten, applying now to the pagevec of the deactivation loop instead. Now swap space is freed for deactivated pages. And only for those that happen to be on the pagevec after the deactivation loop. Complete 7e9cd48 and remove the rest of the swap freeing. Signed-off-by: Johannes Weiner Acked-by: Rik van Riel Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2443462b0a04ef0f82ad48f4fd0ef4ac5b24c4b7 Author: Johannes Weiner Date: Tue Mar 31 15:23:12 2009 -0700 mm: move pagevec stripping to save unlock-relock In shrink_active_list() after the deactivation loop, we strip buffer heads from the potentially remaining pages in the pagevec. Currently, this drops the zone's lru lock for stripping, only to reacquire it again afterwards to update statistics. It is not necessary to strip the pages before updating the stats, so move the whole thing out of the protected region and save the extra locking. Signed-off-by: Johannes Weiner Reviewed-by: MinChan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2584e517320bd48dc8d20e38a2621a2dbe58fade Author: Ravikiran G Thirumalai Date: Tue Mar 31 15:21:26 2009 -0700 mm: reintroduce and deprecate rlimit based access for SHM_HUGETLB Allow non root users with sufficient mlock rlimits to be able to allocate hugetlb backed shm for now. Deprecate this though. This is being deprecated because the mlock based rlimit checks for SHM_HUGETLB is not consistent with mmap based huge page allocations. Signed-off-by: Ravikiran Thirumalai Reviewed-by: Mel Gorman Cc: William Lee Irwin III Cc: Adam Litke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a0bdec194c21c8fdef840989d0d7b742bb5d4bc Author: Ravikiran G Thirumalai Date: Tue Mar 31 15:19:40 2009 -0700 mm: fix SHM_HUGETLB to work with users in hugetlb_shm_group Fix hugetlb subsystem so that non root users belonging to hugetlb_shm_group can actually allocate hugetlb backed shm. Currently non root users cannot even map one large page using SHM_HUGETLB when they belong to the gid in /proc/sys/vm/hugetlb_shm_group. This is because allocation size is verified against RLIMIT_MEMLOCK resource limit even if the user belongs to hugetlb_shm_group. This patch 1. Fixes hugetlb subsystem so that users with CAP_IPC_LOCK and users belonging to hugetlb_shm_group don't need to be restricted with RLIMIT_MEMLOCK resource limits 2. This patch also disables mlock based rlimit checking (which will be reinstated and marked deprecated in a subsequent patch). Signed-off-by: Ravikiran Thirumalai Reviewed-by: Mel Gorman Cc: William Lee Irwin III Cc: Adam Litke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3a7cca1ef4c1af9b0acef9bd66eff6582a737b5 Author: Edward Shishkin Date: Tue Mar 31 15:19:39 2009 -0700 vfs: add/use account_page_dirtied() Add a helper function account_page_dirtied(). Use that from two callsites. reiser4 adds a function which adds a third callsite. Signed-off-by: Edward Shishkin Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd2f6199cf9af472aeefa1b642c9f504f19e6008 Author: Johannes Weiner Date: Tue Mar 31 15:19:38 2009 -0700 vmscan: respect higher order in zone_reclaim() During page allocation, there are two stages of direct reclaim that are applied to each zone in the preferred list. The first stage using zone_reclaim() reclaims unmapped file backed pages and slab pages if over defined limits as these are cheaper to reclaim. The caller specifies the order of the target allocation but the scan control is not being correctly initialised. The impact is that the correct number of pages are being reclaimed but that lumpy reclaim is not being applied. This increases the chances of a full direct reclaim via try_to_free_pages() is required. This patch initialises the order field of the scan control as requested by the caller. [mel@csn.ul.ie: rewrote changelog] Signed-off-by: Johannes Weiner Acked-by: Mel Gorman Cc: Rik van Riel Cc: Andy Whitcroft Cc: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd775c42ea5f7c766d03a287083837cf05e7e738 Author: KOSAKI Motohiro Date: Tue Mar 31 15:19:37 2009 -0700 mm: add comment why mark_page_accessed() would be better than pte_mkyoung() in follow_page() At first look, mark_page_accessed() in follow_page() seems a bit strange. It seems pte_mkyoung() would be better consistent with other kernel code. However, it is intentional. The commit log said: ------------------------------------------------ commit 9e45f61d69be9024a2e6bef3831fb04d90fac7a8 Author: akpm Date: Fri Aug 15 07:24:59 2003 +0000 [PATCH] Use mark_page_accessed() in follow_page() Touching a page via follow_page() counts as a reference so we should be either setting the referenced bit in the pte or running mark_page_accessed(). Altering the pte is tricky because we haven't implemented an atomic pte_mkyoung(). And mark_page_accessed() is better anyway because it has more aging state: it can move the page onto the active list. BKrev: 3f3c8acbplT8FbwBVGtth7QmnqWkIw ------------------------------------------------ The atomic issue is still true nowadays. adding comment help to understand code intention and it would be better. [akpm@linux-foundation.org: clarify text] Signed-off-by: KOSAKI Motohiro Signed-off-by: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9786bf841da57fac3457a1dac41acb4c1f2eced6 Author: Johannes Weiner Date: Tue Mar 31 15:19:35 2009 -0700 vmscan: clip swap_cluster_max in shrink_all_memory() shrink_inactive_list() scans in sc->swap_cluster_max chunks until it hits the scan limit it was passed. shrink_inactive_list() { do { isolate_pages(swap_cluster_max) shrink_page_list() } while (nr_scanned < max_scan); } This assumes that swap_cluster_max is not bigger than the scan limit because the latter is checked only after at least one iteration. In shrink_all_memory() sc->swap_cluster_max is initialized to the overall reclaim goal in the beginning but not decreased while reclaim is making progress which leads to subsequent calls to shrink_inactive_list() reclaiming way too much in the one iteration that is done unconditionally. Set sc->swap_cluster_max always to the proper goal before doing shrink_all_zones() shrink_list() shrink_inactive_list(). While the current shrink_all_memory() happily reclaims more than actually requested, this patch fixes it to never exceed the goal: unpatched wanted=10000 reclaimed=13356 wanted=10000 reclaimed=19711 wanted=10000 reclaimed=10289 wanted=10000 reclaimed=17306 wanted=10000 reclaimed=10700 wanted=10000 reclaimed=10004 wanted=10000 reclaimed=13301 wanted=10000 reclaimed=10976 wanted=10000 reclaimed=10605 wanted=10000 reclaimed=10088 wanted=10000 reclaimed=15000 patched wanted=10000 reclaimed=10000 wanted=10000 reclaimed=9599 wanted=10000 reclaimed=8476 wanted=10000 reclaimed=8326 wanted=10000 reclaimed=10000 wanted=10000 reclaimed=10000 wanted=10000 reclaimed=9919 wanted=10000 reclaimed=10000 wanted=10000 reclaimed=10000 wanted=10000 reclaimed=10000 wanted=10000 reclaimed=10000 wanted=10000 reclaimed=9624 wanted=10000 reclaimed=10000 wanted=10000 reclaimed=10000 wanted=8500 reclaimed=8092 wanted=316 reclaimed=316 Signed-off-by: Johannes Weiner Reviewed-by: MinChan Kim Acked-by: Nigel Cunningham Acked-by: "Rafael J. Wysocki" Reviewed-by: KOSAKI Motohiro Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d979677c4c02f0a72db5a03ecd8184bd9d6695c8 Author: MinChan Kim Date: Tue Mar 31 15:19:34 2009 -0700 mm: shrink_all_memory(): use sc.nr_reclaimed Commit a79311c14eae4bb946a97af25f3e1b17d625985d "vmscan: bail out of direct reclaim after swap_cluster_max pages" moved the nr_reclaimed counter into the scan control to accumulate the number of all reclaimed pages in a reclaim invocation. shrink_all_memory() can use the same mechanism. it increase code consistency and redability. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: MinChan Kim Signed-off-by: KOSAKI Motohiro Signed-off-by: Johannes Weiner Cc: "Rafael J. Wysocki" Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a0dd05dd7e1a800241888cbf515bf8d3dc2e59c Author: KOSAKI Motohiro Date: Tue Mar 31 15:19:33 2009 -0700 mm: don't call mark_page_accessed() in do_swap_page() commit bf3f3bc5e734706730c12a323f9b2068052aa1f0 (mm: don't mark_page_accessed in fault path) only remove the mark_page_accessed() in filemap_fault(). Therefore, swap-backed pages and file-backed pages have inconsistent behavior. mark_page_accessed() should be removed from do_swap_page(). Signed-off-by: KOSAKI Motohiro Cc: Nick Piggin Cc: Hugh Dickins Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee99c71c59f897436ec65debb99372b3146f9985 Author: KOSAKI Motohiro Date: Tue Mar 31 15:19:31 2009 -0700 mm: introduce for_each_populated_zone() macro Impact: cleanup In almost cases, for_each_zone() is used with populated_zone(). It's because almost function doesn't need memoryless node information. Therefore, for_each_populated_zone() can help to make code simplify. This patch has no functional change. [akpm@linux-foundation.org: small cleanup] Signed-off-by: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Reviewed-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6dc60f8975ad96d162915e07703a4439c80dcf0 Author: Johannes Weiner Date: Tue Mar 31 15:19:30 2009 -0700 vmscan: rename sc.may_swap to may_unmap sc.may_swap does not only influence reclaiming of anon pages but pages mapped into pagetables in general, which also includes mapped file pages. In shrink_page_list(): if (!sc->may_swap && page_mapped(page)) goto keep_locked; For anon pages, this makes sense as they are always mapped and reclaiming them always requires swapping. But mapped file pages are skipped here as well and it has nothing to do with swapping. The real effect of the knob is whether mapped pages are unmapped and reclaimed or not. Rename it to `may_unmap' to have its name match its actual meaning more precisely. Signed-off-by: Johannes Weiner Reviewed-by: MinChan Kim Reviewed-by: KOSAKI Motohiro Cc: Lee Schermerhorn Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9de1581e75ba9d7979766d4ab6d56f0f2d87f7c6 Author: Oleg Nesterov Date: Tue Mar 31 15:19:29 2009 -0700 get_mm_hiwater_xxx: trivial, s/define/inline/ Andrew pointed out get_mm_hiwater_xxx() evaluate "mm" argument thrice/twice, make them inline. Signed-off-by: Oleg Nesterov Cc: Hugh Dickins Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a12888f772dab4bf5e6f73668dc4f5f6026a7014 Author: Cyrill Gorcunov Date: Tue Mar 31 15:19:27 2009 -0700 oom_kill: don't call for int_sqrt(0) There is no need to call for int_sqrt if argument is 0. Signed-off-by: Cyrill Gorcunov Cc: Pekka Enberg Cc: Christoph Lameter Acked-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d086817dc0d42f1be8db4138233d33e1dd16a956 Author: MinChan Kim Date: Tue Mar 31 15:19:26 2009 -0700 vmap: remove needless lock and list in vmap vmap's dirty_list is unused. It's for optimizing flushing. but Nick didn't write the code yet. so, we don't need it until time as it is needed. This patch removes vmap_block's dirty_list and codes related to it. Signed-off-by: MinChan Kim Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef161a9863b045909142daea9490b067997f3dc5 Author: Cyrill Gorcunov Date: Tue Mar 31 15:19:25 2009 -0700 mm: mminit_validate_memmodel_limits(): remove redundant test In case if start_pfn overlap the upper bound no need to test end_pfn again since we have it already trimmed. Signed-off-by: Cyrill Gorcunov Reviewed-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f043a81ebe84be3576667f04fdda481609e3816 Author: Alexey Dobriyan Date: Tue Mar 31 15:19:25 2009 -0700 proc tty: remove struct tty_operations::read_proc struct tty_operations::proc_fops took it's place and there is one less create_proc_read_entry() user now! Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 140716934f67a9b28c3f7032c07c20c746d97a31 Author: Alexey Dobriyan Date: Tue Mar 31 15:19:24 2009 -0700 proc tty: switch xtensa iss console to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf54215ef86a1bd83affd8ecdf833c053aefb49d Author: Alexey Dobriyan Date: Tue Mar 31 15:19:23 2009 -0700 proc tty: switch ia64 simserial to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d594027d62808f6649b273544ab8c19ed5b98fd1 Author: Alexey Dobriyan Date: Tue Mar 31 15:19:23 2009 -0700 proc tty: switch amiserial to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d3041768296c4993c0aba686bf0775faab5236a Author: Alexey Dobriyan Date: Tue Mar 31 15:19:22 2009 -0700 proc tty: switch ircomm to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fd69d3cf1496c8e6751ecb3eae254e1a839bd5d Author: Alexey Dobriyan Date: Tue Mar 31 15:19:21 2009 -0700 proc tty: switch usb-serial to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d196a949ba0fb85121c0dc0720b13380d802dbd6 Author: Alexey Dobriyan Date: Tue Mar 31 15:19:21 2009 -0700 proc tty: switch serial_core to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 201a50ba6627dd00aa7b7673a5c454ca387095fb Author: Alexey Dobriyan Date: Tue Mar 31 15:19:20 2009 -0700 proc tty: switch sdio_uart to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6c8dd8a5c887caaf6ee29f04c7260617cb28295 Author: Alexey Dobriyan Date: Tue Mar 31 15:19:20 2009 -0700 proc tty: switch synclinkmp to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a18c56e5af41a6391a6bee2c26e806e7997f6698 Author: Alexey Dobriyan Date: Tue Mar 31 15:19:19 2009 -0700 proc tty: switch synclink_gt to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d337829bd841974045846ec8b428f4199453159e Author: Alexey Dobriyan Date: Tue Mar 31 15:19:18 2009 -0700 proc tty: switch synclink to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8561c44c9e8baf02a9e3018f76c53aa99038a499 Author: Alexey Dobriyan Date: Tue Mar 31 15:19:18 2009 -0700 proc tty: switch stallion to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87687144b4fce2ad083e689eec8b219054c292ae Author: Alexey Dobriyan Date: Tue Mar 31 15:19:17 2009 -0700 proc tty: switch synclink_cs to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bd6de7dadb8054a558ae4ac29121d8e93493065 Author: Alexey Dobriyan Date: Tue Mar 31 15:19:16 2009 -0700 proc tty: switch istallion to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdda7cd92b9c0b8b25c906a1f39c61954432357a Author: Alexey Dobriyan Date: Tue Mar 31 15:19:16 2009 -0700 proc tty: switch ip2 to ->proc_fops Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 444697d61b6d5ae43b317d259db7c362c9d3756a Author: Alexey Dobriyan Date: Tue Mar 31 15:19:15 2009 -0700 proc tty: switch cyclades to ->proc_fops Signed-off-by: Alexey Dobriyan Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae149b6bec64a09373ba20fce75f8aa6b14b78fd Author: Alexey Dobriyan Date: Tue Mar 31 15:19:15 2009 -0700 proc tty: add struct tty_operations::proc_fops Used for gradual switch of TTY drivers from using ->read_proc which helps with gradual switch from ->read_proc for the whole tree. As side effect, fix possible race condition when ->data initialized after PDE is hooked into proc tree. ->proc_fops takes precedence over ->read_proc. Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f8f308925ebe0480bd9831d32963ee0b885e24b Author: Hiroshi Shimamoto Date: Thu Mar 26 10:03:08 2009 -0700 x86: signal: check sas_ss_size instead of sas_ss_flags() Impact: fix redundant and incorrect check Oleg Nesterov noticed wrt commit: 14fc9fb: x86: signal: check signal stack overflow properly >> No need to check SA_ONSTACK if we're already using alternate signal stack. > > Yes, but this also mean that we don't need sas_ss_flags() under > "if (!onsigstack)", Checking on_sig_stack() in sas_ss_flags() at get_sigframe() is redundant and not correct on 64 bit. To check sas_ss_size is enough. Reported-by: Oleg Nesterov Signed-off-by: Hiroshi Shimamoto Cc: roland@redhat.com LKML-Reference: <49CBB54C.5080201@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 8e706c4d0dab214c625a2df84a0ca69a76bae65d Author: Peter Ma Date: Tue Mar 31 10:31:02 2009 -0700 avr32: add hardware handshake support to atmel_serial Adds Hardware Handshake (aka RTS/CTS flow-control) support to atmel_serial driver, as a termios flag. For this to actually work, the platform code needs to configure the RTS and CTS pins for use by the USART. This has been done for AVR32 as a separate patch. Signed-off-by: Peter Ma Signed-off-by: Haavard Skinnemoen Acked-by: Alan Cox commit bf4861cf3e7df123c0c62f00ae2c301c292f669c Author: Peter Ma Date: Tue Mar 31 10:31:02 2009 -0700 avr32: add RTS/CTS/CLK pin selection for the USARTs Adds extra parameter to AT32 at32_map_usart(), so as to reserve RTS/CTS/CLK pins. All boards under arch/avr32/boards have been updated (trivial change), but not all have been tested. Signed-off-by: Peter Ma Signed-off-by: Haavard Skinnemoen commit 2e572895bf3203e881356a4039ab0fa428ed2639 Author: Steven Rostedt Date: Mon Mar 30 14:03:19 2009 -0400 ring-buffer: do not remove reader page from list on ring buffer free Impact: prevent possible memory leak The reader page of the ring buffer is special. Although it points into the ring buffer, it is not part of the actual buffer. It is a page used by the reader to swap with a page in the ring buffer. Once the swap is made, the new reader page is again outside the buffer. Even though the reader page points into the buffer, it is really pointing to residual data. Note, this data is used by the reader. reader page | v (prev) +---+ (next) +----------| |----------+ | +---+ | v v +---+ +---+ +---+ -->| |------->| |------->| |---> <--| |<-------| |<-------| |<--- +---+ +---+ +---+ ^ ^ ^ \ | / ------- Buffer--------- If we perform a list_del_init() on the reader page we will actually remove the last page the reader swapped with and not the reader page itself. This will cause that page to not be freed, and thus is a memory leak. Luckily, the only user of the ring buffer so far is ftrace. And ftrace will not free its ring buffer after it allocates it. There is no current possible memory leak. But once there are other users, or if ftrace dynamically creates and frees its ring buffer, then this would be a memory leak. This patch fixes the leak for future cases. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2aad1b76e6b0cc5a2e5d9b95a9f356ddddbfa8a9 Author: Steven Rostedt Date: Mon Mar 30 11:11:28 2009 -0400 function-graph: allow unregistering twice Impact: fix to permanent disabling of function graph tracer There should be nothing to prevent a tracer from unregistering a function graph callback more than once. This can simplify error paths. But currently, the counter does not account for mulitple unregistering of the function graph callback. If it happens, the function graph tracer will be permanently disabled. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ced117c73edc917e96dea7cca98c91383f0792f7 Author: Dmitri Vorobiev Date: Tue Mar 31 00:41:20 2009 +0300 Remove two unneeded exports and make two symbols static in fs/mpage.c Commit 29a814d2ee0e43c2980f33f91c1311ec06c0aa35 (vfs: add hooks for ext4's delayed allocation support) exported the following functions mpage_bio_submit() __mpage_writepage() for the benefit of ext4's delayed allocation support. Since commit a1d6cc563bfdf1bf2829d3e6ce4d8b774251796b (ext4: Rework the ext4_da_writepages() function), these functions are not used by the ext4 driver anymore. However, the now unnecessary exports still remain, and this patch removes those. Moreover, these two functions can become static again. The issue was spotted by namespacecheck. Signed-off-by: Dmitri Vorobiev Reviewed-by: Aneesh Kumar K.V Signed-off-by: Al Viro commit 47e4491b40df73c3b117e3d80b31b5b512a4b19f Author: Al Viro Date: Wed Apr 1 07:07:16 2009 -0400 Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225 fsync_bdev() export and a bunch of stubs for !CONFIG_BLOCK case had been left behind Signed-off-by: Al Viro commit 1359096eacb1971be67eead8bf9b582864d92a30 Author: H. Peter Anvin Date: Tue Mar 31 12:24:17 2009 -0700 bzip2/lzma: quiet Kconfig warning for INITRAMFS_COMPRESSION_NONE Impact: quiet Kconfig warning It appears that Kconfig simply has no way to provide defaults for entries that exist inside a conditionalized choice block. Fortunately, it turns out we don't actually ever use CONFIG_INITRAMFS_COMPRESSION_NONE, so we can just drop it for everything outside the choice block. Signed-off-by: H. Peter Anvin commit a5032bfdd9c80e0231a6324661e123818eb46ecd Author: Alexey Starikovskiy Date: Wed Apr 1 01:33:15 2009 -0400 ACPI: EC: Always parse EC device If ECDT info is not valid, we have last chance to configure EC driver properly at this point, don't miss it. http://bugzilla.kernel.org/show_bug.cgi?id=12461 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 34ff4dbccccce54c83b1234d39b7ad9e548a75dd Author: Alexey Starikovskiy Date: Wed Apr 1 00:25:10 2009 -0400 ACPI: EC: Separate delays for MSI hardware MSI notebooks require very strict delays, while all others are happy with msleep(). References: http://bugzilla.kernel.org/show_bug.cgi?id=9998 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e5824c97a993ac5bd22cec34e6cb6f85d39b73ba Author: Al Viro Date: Sun Mar 29 16:36:59 2009 -0400 Trim includes of fdtable.h Signed-off-by: Al Viro commit d9e66c7296f3a39f6ac847f11ada8ddf10a4f8b1 Author: Al Viro Date: Sun Mar 29 16:34:56 2009 -0400 Don't crap into descriptor table in binfmt_som Same story as in binfmt_elf, except that in binfmt_som we actually forget to close the sucker. Signed-off-by: Al Viro commit d0f35dde6e748fa1a3f5d8e23a200ad1d5a4a749 Author: Al Viro Date: Sun Mar 29 16:34:09 2009 -0400 Trim includes in binfmt_elf Signed-off-by: Al Viro commit e7b9b550f53e81ea38e71d322d6f95730df058a2 Author: Al Viro Date: Sun Mar 29 16:31:16 2009 -0400 Don't mess with descriptor table in load_elf_binary() ... since we don't tell anyone which descriptor does the file get. We used to, but only in case of ELF binary with a.out loader and that stuff has been gone for a while. Signed-off-by: Al Viro commit 5ad4e53bd5406ee214ddc5a41f03f779b8b2d526 Author: Al Viro Date: Sun Mar 29 19:50:06 2009 -0400 Get rid of indirect include of fs_struct.h Don't pull it in sched.h; very few files actually need it and those can include directly. sched.h itself only needs forward declaration of struct fs_struct; Signed-off-by: Al Viro commit ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48 Author: Al Viro Date: Sun Mar 29 19:08:22 2009 -0400 New helper - current_umask() current->fs->umask is what most of fs_struct users are doing. Put that into a helper function. Signed-off-by: Al Viro commit f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3 Author: Al Viro Date: Mon Mar 30 07:35:18 2009 -0400 check_unsafe_exec() doesn't care about signal handlers sharing ... since we'll unshare sighand anyway Signed-off-by: Al Viro commit 498052bba55ecaff58db6a1436b0e25bfd75a7ff Author: Al Viro Date: Mon Mar 30 07:20:30 2009 -0400 New locking/refcounting for fs_struct * all changes of current->fs are done under task_lock and write_lock of old fs->lock * refcount is not atomic anymore (same protection) * its decrements are done when removing reference from current; at the same time we decide whether to free it. * put_fs_struct() is gone * new field - ->in_exec. Set by check_unsafe_exec() if we are trying to do execve() and only subthreads share fs_struct. Cleared when finishing exec (success and failure alike). Makes CLONE_FS fail with -EAGAIN if set. * check_unsafe_exec() may fail with -EAGAIN if another execve() from subthread is in progress. Signed-off-by: Al Viro commit 3e93cd671813e204c258f1e6c797959920cf7772 Author: Al Viro Date: Sun Mar 29 19:00:13 2009 -0400 Take fs_struct handling to new file (fs/fs_struct.c) Pure code move; two new helper functions for nfsd and daemonize (unshare_fs_struct() and daemonize_fs_struct() resp.; for now - the same code as used to be in callers). unshare_fs_struct() exported (for nfsd, as copy_fs_struct()/exit_fs() used to be), copy_fs_struct() and exit_fs() don't need exports anymore. Signed-off-by: Al Viro commit f8ef3ed2bebd2c4cb9ece92efa185d7aead8831a Author: Al Viro Date: Mon Mar 30 20:36:33 2009 -0400 Get rid of bumping fs_struct refcount in pivot_root(2) Not because execve races with _that_ are serious - we really need a situation when final drop of fs_struct refcount is done by something that used to have it as current->fs. Signed-off-by: Al Viro commit 11d06b2a1e5658f448a308aa3beb97bacd64a940 Author: Al Viro Date: Mon Mar 30 05:45:36 2009 -0400 Kill unsharing fs_struct in __set_personality() That's a rudiment of altroot support. I.e. it should've been buried a long time ago. Signed-off-by: Al Viro commit 7e765cb4a07356e4f01cc57959c3c798a586f749 Author: Ben Hutchings Date: Tue Mar 31 15:07:21 2009 -0700 sfc: Call netif_napi_add() before registering our interrupt handler If we use a shared legacy IRQ then our interrupt handler may be called as soon as it is registered even though IRQs are disabled on the NIC. Now that the legacy interrupt handler also checks for event delivery, it may decide to schedule polling in this case. Ensure that the NAPI context is valid but disabled at this point. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c9caceca25854eff4328c89045793a91bf8f9ee3 Author: Wei Yongjun Date: Tue Mar 31 15:06:26 2009 -0700 core: remove pointless conditional before kfree() Remove pointless conditional before kfree(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit bb1fee86fdc7df1fd145fd3bfb16635274b7c73d Merge: 377f0a0... 75bf758... Author: David S. Miller Date: Tue Mar 31 14:43:54 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/net-next-2.6 commit 377f0a08e4cb56658d878d22c3aed4716e283c6b Author: Rami Rosen Date: Tue Mar 31 14:43:17 2009 -0700 ipv4: remove unused parameter from tcp_recv_urg(). Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit eeb5f5c9b3c8bee5ab4794323c1d23d100a9db59 Author: Heiko Carstens Date: Tue Mar 31 14:41:02 2009 -0700 ETHOC: fix build breakage on s390 Let driver depend on HAS_IOMEM to avoid build breakage on s390: CC drivers/net/ethoc.o drivers/net/ethoc.c: In function 'ethoc_read': drivers/net/ethoc.c:221: error: implicit declaration of function 'ioread32' drivers/net/ethoc.c: In function 'ethoc_write': drivers/net/ethoc.c:226: error: implicit declaration of function 'iowrite32' drivers/net/ethoc.c: In function 'ethoc_rx': drivers/net/ethoc.c:405: error: implicit declaration of function 'memcpy_fromio' drivers/net/ethoc.c: In function 'ethoc_start_xmit': drivers/net/ethoc.c:828: error: implicit declaration of function 'memcpy_toio' Signed-off-by: Heiko Carstens Acked-by: Thierry Reding Signed-off-by: David S. Miller commit c66b31f3926165bc1d4128adc97a064dcbab421a Merge: 50fbe56... 7120569... Author: Tony Luck Date: Tue Mar 31 14:25:08 2009 -0700 Pull pvops into release branch commit 50fbe56c127efde659c686495eb1f925fd84ff0a Merge: 15f7176... 5d8c39f... Author: Tony Luck Date: Tue Mar 31 14:24:52 2009 -0700 Pull cpumask into release branch commit d57e62b89796f751c9422801cbcd407a9f8dcdc4 Author: Chris Mason Date: Tue Mar 31 13:47:50 2009 -0400 Btrfs: try to free metadata pages when we free btree blocks COW means we cycle though blocks fairly quickly, and once we free an extent on disk, it doesn't make much sense to keep the pages around. This commit tries to immediately free the page when we free the extent, which lowers our memory footprint significantly. Signed-off-by: Chris Mason commit 5a3f23d515a2ebf0c750db80579ca57b28cbce6d Author: Chris Mason Date: Tue Mar 31 13:27:11 2009 -0400 Btrfs: add extra flushing for renames and truncates Renames and truncates are both common ways to replace old data with new data. The filesystem can make an effort to make sure the new data is on disk before actually replacing the old data. This is especially important for rename, which many application use as though it were atomic for both the data and the metadata involved. The current btrfs code will happily replace a file that is fully on disk with one that was just created and still has pending IO. If we crash after transaction commit but before the IO is done, we'll end up replacing a good file with a zero length file. The solution used here is to create a list of inodes that need special ordering and force them to disk before the commit is done. This is similar to the ext3 style data=ordering, except it is only done on selected files. Btrfs is able to get away with this because it does not wait on commits very often, even for fsync (which use a sub-commit). For renames, we order the file when it wasn't already on disk and when it is replacing an existing file. Larger files are sent to filemap_flush right away (before the transaction handle is opened). For truncates, we order if the file goes from non-zero size down to zero size. This is a little different, because at the time of the truncate the file has no dirty bytes to order. But, we flag the inode so that it is added to the ordered list on close (via release method). We also immediately add it to the ordered list of the current transaction so that we can try to flush down any writes the application sneaks in before commit. Signed-off-by: Chris Mason commit 5b6c942dd1f13835eff8105ec2aa859544a1498d Author: Borislav Petkov Date: Tue Mar 31 20:15:34 2009 +0200 ide-floppy: do not complete rq's prematurely ... and access them afterwards. Simplify rq completing code while at it. Spotted-by: Tejun Heo Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d80c592c38378c88c568b96963f7a98d927d05fa Author: Gilles Espinasse Date: Tue Mar 31 20:15:34 2009 +0200 ide: be able to build pmac driver without IDE built-in No reason to need IDE built-in to be able to compile pmac driver. Tested to work on 2.6.29-rc8 and 2.6.28.8 with ide and pmac as modules inside an initramfs. Signed-off-by: Gilles Espinasse Cc: sam@ravnborg.org Cc: benh@kernel.crashing.org [bart: remove now superfluous IDE check] Signed-off-by: Bartlomiej Zolnierkiewicz commit a9d5a97fa3828e7cbc577805eba3d0a0d35dd5a0 Author: TOMARI Hisanobu Date: Tue Mar 31 20:15:34 2009 +0200 ide-pmac: IDE cable detection on Apple PowerBook As IDE cable used on Apple PowerBook/iBook laptops are always of "Short 40" type when the firmware says it's 80 conductor one, the cable detection should return ATA_CBL_PATA40_SHORT on those machines. This enables to automatically use UDMA5 even with drives that doesn't correctly detect those cables on Apple laptops. Signed-off-by: TOMARI Hisanobu Cc: Sergei Shtylyov Cc: benh@kernel.crashing.org [bart: beautify patch description] Signed-off-by: Bartlomiej Zolnierkiewicz commit fdd88f0af616db59a6a36bdf0185181d2b779f53 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:33 2009 +0200 ide: inline SELECT_DRIVE() Since SELECT_DRIVE() has boiled down to a mere dev_select() method call, it now makes sense to just inline it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit abb596b25edac1ec1acc4ef53df190771661c3d2 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:32 2009 +0200 ide: turn selectproc() method into dev_select() method (take 5) Turn selectproc() method into dev_select() method by teaching it to write to the device register and moving it from 'struct ide_port_ops' to 'struct ide_tp_ops'. Signed-off-by: Sergei Shtylyov Cc: benh@kernel.crashing.org Cc: petkovbb@gmail.com [bart: add ->dev_select to at91_ide.c and tx4939.c (__BIG_ENDIAN case)] Signed-off-by: Bartlomiej Zolnierkiewicz commit 0f861e8c47ede537a8ad280c61d5d00d541f04db Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:31 2009 +0200 MAINTAINERS: move old ide-{floppy,tape} entries to CREDITS (take 2) Ben Hutchings noticed that MAINTAINERS somehow still contain old ide-{floppy,tape} entries. Fix it by moving them to CREDITS (kudos to Gadi and Paul for all the early hard work on ide-{floppy,tape}). v2: Rename IDE/ATAPI CDROM DRIVER entry to IDE/ATAPI DRIVERS one. Cc: Gadi Oxman Cc: Paul Bristow Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35218d1ca808ed19b8c6f079ce91872b3deb2219 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:31 2009 +0200 ide: move data register access out of tf_{read|load}() methods (take 2) Move IDE_FTFLAG_{IN|OUT}_DATA flag handling out of tf_{read|load}() methods into the only two functions where these flags actually need to be handled: do_rw_taskfile() and ide_complete_cmd()... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bac08cee93f9cb37b40ecfa8eaf1f6d8daf3909b Author: Sergei Shtylyov Date: Tue Mar 31 20:15:31 2009 +0200 ide: call {in|out}put_data() methods from tf_{read|load}() methods (take 2) Handle IDE_FTFLAG_{IN|OUT}_DATA flags in tf_{read|load}() methods by calling {in|out}put_data() methods to transfer 2 bytes -- this will allow us to move that handling out of those methods altogether... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit deae17fd5d147ae65e277905343b7ea578574d12 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:31 2009 +0200 ide-io-std: shorten ide_{in|out}put_data() ide_{in|out|put_data() can be somewhat shortened by merging the paths doing 16-bit I/O... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6762511934e6e7287ce3c8baac0d52ef64e3787b Author: Sergei Shtylyov Date: Tue Mar 31 20:15:30 2009 +0200 ide: rename IDE_TFLAG_IN_[HOB_]FEATURE The feature register has never been readable -- when its location is read, one gets the error register value; hence rename IDE_TFLAG_IN_[HOB_]FEATURE into IDE_TFLAG_IN_[HOB_]ERROR and introduce the 'hob_error' field into the 'struct ide_taskfile' (despite the error register not really depending on the HOB bit). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ecf3a31d2a08a419bdf919456f1724f5b72bde2c Author: Sergei Shtylyov Date: Tue Mar 31 20:15:30 2009 +0200 ide: turn set_irq() method into write_devctl() method Turn set_irq() method with its software reset hack into write_devctl() method (for just writing a value into the device control register) at last... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d74c3fcf2b90487eacec511bc8c07177711c81c Author: Sergei Shtylyov Date: Tue Mar 31 20:15:29 2009 +0200 ide: use ATA_HOB Make use of ATA_HOB instead of hard-coded value in the tf_read() method. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 47ab834854d4639fedf2ed2f21b41297f2abe1a7 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:29 2009 +0200 ide-disk: use ATA_ERR Make use of ATA_ERR instead of hard-coded value in idedisk_set_max_address() and idedisk_read_native_max_address(). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 74638c84821c066d02c158bc843c84499ddc9764 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:28 2009 +0200 ide: add support for CFA specified transfer modes (take 3) Add support for the CompactFlash specific PIO modes 5/6 and MWDMA modes 3/4. Since there were no PIO5 capable hard drives produced and one would also need 66 MHz IDE clock to actually get the difference WRT the address setup timings programmed, I decided to simply replace the old non-standard PIO mode 5 timings with the CFA specified ones. Signed-off-by: Sergei Shtylyov Cc: stf_xl@wp.pl Signed-off-by: Bartlomiej Zolnierkiewicz commit c4199930b119eb9c1ffb102ed57eaac4d4424d08 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:27 2009 +0200 ide-iops: only clear DMA words on setting DMA mode The bytes indicating current DMA mode in the identify data words 62, 63, and 88 should only change on setting a DMA mode, so stop clearing them on setting PIO mode in ide_config_drive_speed(). While at it, correct SW/MW DMA mode masks... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8d64fcd9357798ad0d61f8877de13d5e1b1ab510 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:27 2009 +0200 ide: identify data word 53 bit 1 doesn't cover words 62 and 63 (take 3) The IDE code assumed for years that the bit 1 of the identify data word 53 also covers the validity of the SW/MW DMA information in words 62 and 63, but it has always covered only words 64 thru 70, with words 62 and 63 being defined in the original ATA spec, not in ATA-2... This fix however should only concern *very* old hard disks and rather old CF cards... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 985232e388714d4a9e94b4d96ee69b6ff8c9dc31 Author: Sergei Shtylyov Date: Tue Mar 31 20:15:27 2009 +0200 au1xxx-ide: auide_{in|out}sw() should be static Make auide_{insw|outsw}() 'static' and mark them 'inline' as there's only one call site for each: in the driver's {in|out}put_data() methods respectively... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 349d12a1fe57d49287a539909cf14f362634342d Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:26 2009 +0200 ide-floppy: use ide_pio_bytes() * Fix ide_init_sg_cmd() setup for non-fs requests. * Convert ide_pc_intr() to use ide_pio_bytes() for floppy media. * Remove no longer needed ide_io_buffers() and sg/sg_cnt fields from struct ide_atapi_pc. * Remove partial completions; kill idefloppy_update_buffers(), as a result. * Add some more debugging statements. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d93bc4521c80e9d87767779814e88f6d725453d7 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:26 2009 +0200 ide-{floppy,tape}: fix padding for PIO transfers * Return number of bytes left to transfer from idetape_{in,out}put_buffers() and number of bytes done from ide_tape_io_buffers(). * Fix padding for PIO transfers in ide_pc_intr() so read/write buffers are always completely processed and then the transfer is padded if necessary. * Remove invalid error messages. * Remove now superfluous padding from ide{_io_buffers,tape_input_buffers}(). While at it: * Set pc->bh to NULL in idetape_input_buffers() after all bh-s are done. * Cache !!(pc->flags & PC_FLAG_WRITING) in local variable in ide_pc_intr(). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9f5af4d667a6d4ebd66019b4b26b445ddbae6d6c Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:26 2009 +0200 ide: remove CONFIG_BLK_DEV_IDEDOUBLER config option Nowadays it is not worth having a separate config option for Amiga IDE Doubler support so always include it (it still needs to be explicitly enabled by module parameter). Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 41fa9f863baacd32dd049daf8050d55a0c9e6f1a Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:25 2009 +0200 ide: decrease size of ->pc_buf field in struct ide_atapi_pc struct ide_atapi_pc is often allocated on the stack and size of ->pc_buf size is 256 bytes. However since only ide_floppy_create_read_capacity_cmd() and idetape_create_inquiry_cmd() require such size allocate buffers for these pc-s explicitely and decrease ->pc_buf size to 64 bytes. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b5479167f4206e0d821a51ae149d921cd7a58e54 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:25 2009 +0200 ide: fix locking in drive_release_dev() * Request queue cleanup should happen before freeing drive->id and marking device as non-present. Fix it. * Remove superfluous hwif->lock acquiring/releasing. Cc: Stanislaw Gruszka Signed-off-by: Bartlomiej Zolnierkiewicz commit 4465461ece2b9249d6c0cf57bc0002100823e361 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:24 2009 +0200 ide: merge ide_arm and ide_generic host drivers There is no need for a separate ide_arm host driver nowadays so merge it into ide_generic one. While at it: - return -EBUSY from ide_generic_init() if I/O resources are busy - scale down ide_generic_check_pci_legacy_iobases() for CONFIG_PCI=n Cc: Russell King Cc: Alexander Schulz Signed-off-by: Bartlomiej Zolnierkiewicz commit 52913ab2c6f760c2af9f9396765ce8fa1a2baf17 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:24 2009 +0200 ide-generic: remove no longer needed sysfs interface Nowadays we have "ide_generic.probe_mask=" module parameter and ide_platform host driver so sysfs interface for adding IDE interfaces is no longer needed. Signed-off-by: Bartlomiej Zolnierkiewicz commit f094d4d83bccee9277ddb6aadccf35747889426b Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:24 2009 +0200 ide: sanitize ide_build_sglist() and ide_destroy_dmatable() * Move ide_map_sg() calls out from ide_build_sglist() to ide_dma_prepare(). * Pass command to ide_destroy_dmatable(). * Rename ide_build_sglist() to ide_dma_map_sg() and ide_destroy_dmatable() to ide_dma_unmap_sg(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 88b4132e101e60e8fa67996ae3072ab6b71e8500 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:22 2009 +0200 ide: set/clear drive->waiting_for_dma flag in the core code Set/clear drive->waiting_for_dma flag in the core code instead of in ->dma_setup and ->dma_end methods. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 11998b316173f814698f9037ce9179d634d1f423 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:21 2009 +0200 ide: move ide_map_sg() call out of ->dma_setup method (take 2) Move ide_map_sg() call from ->dma_setup implementations and ide_destroy_dmatable() one from *_build_dmatable() to ide_dma_prepare(). There should be no functional changes caused by this patch. Sergei: Removed 'use_pio_instead' labels and replaced 'goto' with 'return 0' -- that required no changes to the follow-up patches... Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a4a5738ba499083cf4c5668895efe220b1946d3 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:21 2009 +0200 ide: add ->dma_check method * Add (an optional) ->dma_check method for checking if DMA can be used for a given command and fail DMA setup in ide_dma_prepare() if necessary. * Convert alim15x3 and trm290 host drivers to use ->dma_check. * Rename ali15x3_dma_setup() to ali_dma_check() while at it. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7526efaafdc835b8d6b22aa1a302e14651373908 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:21 2009 +0200 trm290: use custom ->dma_{start,end} to handle trm290_prepare_drive() Use custom ->dma_{start,end} methods to handle trm290_prepare_drive() there instead of in ->dma_setup method. There should be no functional changes caused by this patch (DMA support is disabled currently in trm290.c). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a6d67ffa7dfe9515d8f2051a76b14c82b748475a Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:20 2009 +0200 ns87415: use custom ->dma_{start,end} to handle ns87415_prepare_drive() Use custom ->dma_{start,end} methods to handle ns87415_prepare_drive() there instead of in ->dma_setup method. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5ae5412d9a23b05ab08461b202bad21ad8f6b66d Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:20 2009 +0200 ide: add ide_dma_prepare() helper * Add ide_dma_prepare() helper. * Convert ide_issue_pc() and do_rw_taskfile() to use it. * Make ide_build_sglist() static. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4453011f959a5f5c6c7a33aea54fe17f5e43a867 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:20 2009 +0200 ide: destroy DMA mappings after ending DMA (v2) Move ide_destroy_dmatable() call out from ->dma_end method to {ide_pc,cdrom_newpc,ide_dma}_intr(), ide_dma_timeout_retry() and sgiioc4_resetproc(). This causes minor/safe behavior changes w.r.t.: * cmd64x.c::cmd64{8,x}_dma_end() * cs5536.c::cs5536_dma_end() * icside.c::icside_dma_end() * it821x.c::it821x_dma_end() * scc_pata.c::__scc_dma_end() * sl82c105.c::sl82c105_dma_end() * tx4939ide.c::tx4939ide_dma_end() v2: * Fix build for CONFIG_BLK_DEV_IDEDMA=n (reported by Randy Dunlap). Cc: Randy Dunlap Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1cee52de28aa687760ad262ad0834d1bf6c6d2ac Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:19 2009 +0200 ide: inline ide_dma_timeout() into ide_dma_timeout_retry() Since ide_dma_timeout() is only used by ide_dma_timeout_retry() inline it there. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35c9b4daf4c94b30e5cede597d98016ebf31b5ad Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:19 2009 +0200 ide: add ->dma_clear method and remove ->dma_timeout one All custom ->dma_timeout implementations call the generic one thus it is possible to have only an optional method for resetting DMA engine instead: * Add ->dma_clear method and convert hpt366, pdc202xx_old and sl82c105 host drivers to use it. * Always use ide_dma_timeout() in ide_dma_timeout_retry() and remove ->dma_timeout method. * Make ide_dma_timeout() static. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e698ea83a8531a6740dc657329dcf0728392d6ac Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:16 2009 +0200 ide-cd: minor ide_cdrom_setup() cleanup Cache drive->queue in local variable and use max(). There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 14fa91ccbafa02a71cfb53f9c830b8c0c65119d0 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:16 2009 +0200 ide-cd: unify transfer padding in cdrom_newpc_intr() * 'thislen' is always <= cmd->nleft for non-fs requests so the transfer padding inside the 'while (thislen > 0)' loop can happen only for fs requests -- then move it out of the loop and unify with the transfer padding for non-fs requests ('thislen' == 'len' for fs requests). * blk_dump_rq_flags() dumps all request flags so it is enough to pass only the function name to it. * Update my Copyrights while at it. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4a3d8cf48c7baf3439aed06c847cd4562adfc468 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:15 2009 +0200 ide-cd: use common completion path for DMA requests in cdrom_newpc_intr() Use the following facts: - rq->nr_sectors should now be always equal to (non-zero) rq->hard_nr_sectors for fs requests - REQ_TYPE_ATA_PC requests have never bio attached to them - rq->hard_nr_sectors == 0 for REQ_TYPE_ATA_PC requests - DMA is used only for fs, pc and REQ_TYPE_ATA_PC requests - 'uptodate' is ignored for pc requests ('rc == 0' case) and use the common completion path also for DMA requests. There should be no functional changes caused by this patch Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c7ec89994fec4353d5b4251213bdfa7b1a68c26b Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:15 2009 +0200 ide-cd: use scatterlists for PIO transfers (non-fs requests) (v2) Convert ide-cd to use scatterlists for PIO transfers and get rid of partial completions (except on error) also for non-fs requests. v2: Do not map dataless commands to an sg since it oopses on the virt_to_page() translation check when DEBUG_VIRTUAL is enabled. (from Borislav Petkov, reported/bisected-by Tetsuo Handa). Cc: Tetsuo Handa Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8652b31ab211b6fe2a4994cc47b61d7038c3489c Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:14 2009 +0200 ide-cd: merge ide_cd_prepare_rw_request() into cdrom_start_rw() There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 06a449e30135aabb6686c95bf0c42b46d169a3b3 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:13 2009 +0200 ide-cd: fix non-SECTOR_SIZE-multiples PIO transfers for fs requests We now support arbitrary number of bytes per-IRQ also for fs requests so remove ide_cd_check_transfer_size() and IDE_AFLAG_LIMIT_NFRAMES. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a08915ba594da66145f33a972db578a58b9135f1 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:13 2009 +0200 ide-cd: use scatterlists for PIO transfers (fs requests) * Export ide_pio_bytes(). * Add ->last_xfer_len field to struct ide_cmd. * Add ide_cd_error_cmd() helper to ide-cd. * Convert ide-cd to use scatterlists also for PIO transfers (fs requests only for now) and get rid of partial completions (except when the error happens -- which is still subject to change later because looking at ATAPI spec it seems that the device is free to error the whole transfer with setting the Error bit only on the last transfer chunk). * Update ide_cd_{prepare_rw,restore_request,do_request}() accordingly. * Inline ide_cd_restore_request() into cdrom_start_rw(). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5ed57ad705d6b58386ac43d2ca1c8fc66aee1101 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:05 2009 +0200 ide-cd: cleanup ide_cd_do_request() There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c4c69e21b51005e24e2fc4efc8a73460a5ab7799 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:04 2009 +0200 ide-cd: kill whole failed request in ide_cd_do_request() Untangling cdrom_end_request() uncovered an error in completing failed requests in ide_cd_do_request(). Fix it. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f63174e7a7ba3afa7f53e61c59b3f1ca5d88f3fb Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:04 2009 +0200 ide-cd: remove cdrom_end_request() Inline cdrom_end_request() into cdrom_newpc_intr() and ide_cd_do_request(). There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a116974852a727bdfe6b1b897102903a17228a5 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:03 2009 +0200 ide-cd: unify cdrom_newpc_intr() exit paths * Move cdrom_end_request() calls from cdrom_decode_status() and ide_cd_check_ireason() to cdrom_newpc_intr(). * Unify cdrom_newpc_intr() exit paths. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 984c5e5974227d2d4dba58cdf19af641f89be83f Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:03 2009 +0200 ide-cd: move setting REQ_FAILED flag out from 'end_request' exit path Move setting REQ_FAILED flag out from 'end_request' exit path in cdrom_newpc_intr() and also rename 'end_request' to 'out_end'. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e0458ccb0668edbecbc1ae1c17ed58a6b1a4ff3e Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:02 2009 +0200 ide-cd: unify ide_cd_do_request() exit paths * Move cdrom_end_request() calls from cdrom_start_rw() and ide_cd_prepare_rw_request() to ide_cd_do_request(). * Unify ide_cd_do_request() exit paths. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 299c4852fc6995e0665d246927d25cefd4dad754 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:01 2009 +0200 ide-cd: factor out failed request completion from cdrom_end_request() There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6041e8fba8b9a9a64bd7402be700b0f1247a9c55 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:01 2009 +0200 ide-cd: remove no longer needed 'ignore' module parameter ide-scsi is gone... Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1ab6d7451684078bfc4fbabc432f0ef8a809e975 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:00 2009 +0200 ide-cd: remove needless ide_dump_status_no_sense() wrapper It makes no sense to check for BSY bit being set as earlier OK_STAT() check in cdrom_end_request() makes sure that BSY bit is cleared. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 13eae6a48fc57495eb9e733430b8fc20df7bf415 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:00 2009 +0200 ide-cd: remove dead code from cdrom_decode_status() There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit bf12a9c1c95e1b0204fc2fc9fe625a056e284f5a Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:15:00 2009 +0200 ide-cd: use ide_end_rq() also for failed non-fs requests Use ide_end_rq() also for failed non-fs requests on completion of REQUEST SENSE requests + use blk_rq_bytes() while at it. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 116e690f4e69ce0458a9be7010c80b59eb7a99d8 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:14:59 2009 +0200 ide-cd: remove dead URLs Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f2bc316736e69e5623443a010f9581a01429c075 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:14:59 2009 +0200 ide: use PageHighMem() instead of ifdefs in ide_pio_bytes() Use PageHighMem() instead of ifdefs in ide_pio_bytes() (=> local IRQs won't be disabled when not necessary). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a00798b1a7502ff31736152b23189138db0b978 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:14:59 2009 +0200 ide: add support for arbitrary transfer lengths to ide_pio_bytes() Add support for arbitrary transfer lengths to ide_pio_bytes() and then inline ide_pio_multi() into ide_pio_datablock(). There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2eba08270990b99fb5429b76ee97184ddd272f7f Author: Borislav Petkov Date: Tue Mar 31 20:14:58 2009 +0200 ide-atapi: start DMA after issuing a packet command Apparently¹, some ATAPI devices want to see the packet command first before enabling DMA otherwise they simply hang indefinitely. Reorder the two steps and start DMA only after having issued the command first. [1] http://marc.info/?l=linux-kernel&m=123835520317235&w=2 Signed-off-by: Borislav Petkov Reported-by: Michael Roth Signed-off-by: Bartlomiej Zolnierkiewicz commit da19620d99377a52b953245089f831a9c3f049c2 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 31 20:14:57 2009 +0200 at91_ide: fix ->ftf_flags handling Fix some incorrect IDE_FTFLAG_* changes which slipped in commit "ide: add "flagged" taskfile flags to struct ide_taskfile (v2)" (commit 19710d25d50ae0be05eebe4231ed8918b1092d82) few days ago. Signed-off-by: Bartlomiej Zolnierkiewicz commit 479edf065576aeed7ac99d10838bb3b4f870b5f9 Author: Geert Uytterhoeven Date: Tue Mar 31 20:14:57 2009 +0200 ide: drivers/ide/ide-atapi.c needs On m68k: | drivers/ide/ide-atapi.c: In function 'ide_io_buffers': | drivers/ide/ide-atapi.c:87: error: implicit declaration of function 'sg_page' | drivers/ide/ide-atapi.c:87: warning: passing argument 1 of 'PageHighMem' makes pointer from integer without a cast | drivers/ide/ide-atapi.c:91: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast | drivers/ide/ide-atapi.c:96: error: implicit declaration of function 'sg_virt' | drivers/ide/ide-atapi.c:96: warning: assignment makes pointer from integer without a cast | drivers/ide/ide-atapi.c:107: error: implicit declaration of function 'sg_next' | drivers/ide/ide-atapi.c:107: warning: assignment makes pointer from integer without a cast [bart: Dmitri Vorobiev submitted similar patch fixing MIPS] Signed-off-by: Geert Uytterhoeven Cc: Dmitri Vorobiev Signed-off-by: Bartlomiej Zolnierkiewicz commit 9010941c5483a7a5bb1f7d97ee62491fb078bb51 Author: Elias Oltmanns Date: Tue Mar 31 20:14:56 2009 +0200 ide: Fix code dealing with sleeping devices in do_ide_request() Unfortunately, I missed a catch when reviewing the patch committed as 201bffa4. Here is the fix to the currently broken handling of sleeping devices. In particular, this is required to get the disk shock protection code working again. Reported-by: Christian Thaeter Cc: stable@kernel.org Signed-off-by: Elias Oltmanns Signed-off-by: Bartlomiej Zolnierkiewicz commit 99f6a570eedc885675b6aa36b7acdbdcc3a7f55b Author: Sebastian Ott Date: Tue Mar 31 19:16:07 2009 +0200 [S390] cio: online_store - trigger recognition for boxed devices Start a new device recognition if someone writes to sysfs online attribute of a boxed ccw device. The current test will fail, since cu_type != 0 for devices which were recognized before. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit b5cd99e6b002776c0e946f38292adbb0258b7983 Author: Sebastian Ott Date: Tue Mar 31 19:16:06 2009 +0200 [S390] cio: disallow online setting of device in transient state Return -EAGAIN on writes to sysfs online attribute if the corresponding ccw device is in transient state. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 47593bfa1056d306fde067b28dd8617009be4121 Author: Sebastian Ott Date: Tue Mar 31 19:16:05 2009 +0200 [S390] cio: introduce notifier for boxed state If a ccw device did not respond in time during internal io, we set it into boxed state. With this patch we have the following behaviour: * the ccw driver will get a notification if the device was online and goes into the boxed state * if the device was disconnected and got boxed nothing special is to be done (it will be handled in reprobing later) * if the device got boxed while initial sensing it will be unregistered Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit c4621a62649a56f155a96dfc5de479be226f0768 Author: Sebastian Ott Date: Tue Mar 31 19:16:04 2009 +0200 [S390] cio: introduce ccw_device_schedule_sch_unregister Introduce ccw_device_schedule_sch_unregister as a wrapper for queuing ccw_device_call_sch_unregister on the slow_path_wq. This wrapper will be used in the next patch. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 156013ffd1225ef862853a4340b46f76845f8db1 Author: Sebastian Ott Date: Tue Mar 31 19:16:03 2009 +0200 [S390] cio: wake up on failed recognition Wake up even on failed device recognition, since this may be triggered from a user trying to force a device online. With this patch a write to the online sysfs attribute will not block for ever but return with -EAGAIN in this case. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 33b26d7951619e4debf3a82f30a03423a36a1412 Author: Heiko Carstens Date: Tue Mar 31 19:16:02 2009 +0200 [S390] fix hypfs build failure Fix build breakage below which probably was introduced with ("rcu: don't include unnecessary headers, allow kmemtrace w/ tracepoints"). CC arch/s390/hypfs/hypfs_diag.o arch/s390/hypfs/hypfs_diag.c: In function 'diag204_free_buffer': arch/s390/hypfs/hypfs_diag.c:364: error: implicit declaration of function 'free_pages' arch/s390/hypfs/hypfs_diag.c: In function 'diag204_alloc_rbuf': arch/s390/hypfs/hypfs_diag.c:384: error: implicit declaration of function '__get_free_pages' arch/s390/hypfs/hypfs_diag.c:384: error: 'GFP_KERNEL' undeclared (first use in this function) arch/s390/hypfs/hypfs_diag.c:384: error: (Each undeclared identifier is reported only once arch/s390/hypfs/hypfs_diag.c:384: error: for each function it appears in.) Reported-by: Sachin Sant Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5886cea45d1b230f86fd24de708b0d9f14ff88db Author: Heiko Carstens Date: Tue Mar 31 19:13:13 2009 +0200 [PATCH] sysrq: include interrupt.h instead of irq.h With "cpumask: update irq_desc to use cpumask_var_t" we get this build failure on s390: CC drivers/char/sysrq.o In file included from drivers/char/sysrq.c:38: include/linux/irq.h: In function 'init_alloc_desc_masks': include/linux/irq.h:442: error: dereferencing pointer to incomplete type drivers/char/sysrq.c should include interrupt.h instead of irq.h. Cc: Mike Travis Cc: Ingo Molnar Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0d8fe329a80714e0f729ae48cba8d64cbe5701cb Author: Boaz Harrosh Date: Mon Dec 15 12:53:08 2008 +0200 fs: Add exofs to Kernel build - Add exofs to fs/Kconfig under "menu 'Miscellaneous filesystems'" - Add exofs to fs/Makefile Signed-off-by: Boaz Harrosh commit 214c8adb87b880690b103e86baffc46f8288fa62 Author: Boaz Harrosh Date: Tue Oct 28 17:22:01 2008 +0200 exofs: Documentation Added some documentation in exofs.txt, as well as a BUGS file. For further reading, operation instructions, example scripts and up to date infomation and code please see: http://open-osd.org Signed-off-by: Boaz Harrosh commit 8cf74b3936f5c65975b68333727f0540ec8350f4 Author: Boaz Harrosh Date: Sun Mar 22 12:47:26 2009 +0200 exofs: export_operations implement export_operations and set in superblock. It is now posible to export exofs via nfs Signed-off-by: Boaz Harrosh commit ba9e5e98ca2f808fe92b103a8e6ce5271b10cc89 Author: Boaz Harrosh Date: Tue Oct 28 16:11:41 2008 +0200 exofs: super_operations and file_system_type This patch ties all operation vectors into a file system superblock and registers the exofs file_system_type at module's load time. * The file system control block (AKA on-disk superblock) resides in an object with a special ID (defined in common.h). Information included in the file system control block is used to fill the in-memory superblock structure at mount time. This object is created before the file system is used by mkexofs.c It contains information such as: - The file system's magic number - The next inode number to be allocated Signed-off-by: Boaz Harrosh commit e6af00f1d1697ca41ab6a55307066ef3466833a9 Author: Boaz Harrosh Date: Tue Oct 28 15:38:12 2008 +0200 exofs: dir_inode and directory operations implementation of directory and inode operations. * A directory is treated as a file, and essentially contains a list of pairs for files that are found in that directory. The object IDs correspond to the files' inode numbers and are allocated using a 64bit incrementing global counter. * Each file's control block (AKA on-disk inode) is stored in its object's attributes. This applies to both regular files and other types (directories, device files, symlinks, etc.). Signed-off-by: Boaz Harrosh commit beaec07ba6af35d387643b76a2920a7a6e22207b Author: Boaz Harrosh Date: Mon Oct 27 19:31:34 2008 +0200 exofs: address_space_operations OK Now we start to read and write from osd-objects. We try to collect at most contiguous pages as possible in a single write/read. The first page index is the object's offset. TODO: In 64-bit a single bio can carry at most 128 pages. Add support of chaining multiple bios Signed-off-by: Boaz Harrosh commit 982980d753223fda3864038236b7b94e246895cb Author: Boaz Harrosh Date: Mon Oct 27 19:04:34 2008 +0200 exofs: symlink_inode and fast_symlink_inode operations Generic implementation of symlink ops. Signed-off-by: Boaz Harrosh commit e806271916ed6068a0e3e4e9298dff0688b88e0d Author: Boaz Harrosh Date: Mon Oct 27 18:37:02 2008 +0200 exofs: file and file_inode operations implementation of the file_operations and inode_operations for regular data files. Most file_operations are generic vfs implementations except: - exofs_truncate will truncate the OSD object as well - Generic file_fsync is not good for none_bd devices so open code it - The default for .flush in Linux is todo nothing so call exofs_fsync on the file. Signed-off-by: Boaz Harrosh commit b14f8ab2844987f013253dd04b708bde7fc1b52d Author: Boaz Harrosh Date: Mon Oct 27 18:27:55 2008 +0200 exofs: Kbuild, Headers and osd utils This patch includes osd infrastructure that will be used later by the file system. Also the declarations of constants, on disk structures, and prototypes. And the Kbuild+Kconfig files needed to build the exofs module. Signed-off-by: Boaz Harrosh commit 8b54e45b0005875f59cb8b1c44d429a161d5f245 Merge: 0a5d649... 9a8118b... b14b70a... fee039a... 18cea45... 548c316... Author: Ingo Molnar Date: Tue Mar 31 17:46:40 2009 +0200 Merge branches 'tracing/docs', 'tracing/filters', 'tracing/ftrace', 'tracing/kprobes', 'tracing/blktrace-v2' and 'tracing/textedit' into tracing/core-v2 commit b14b70a6a4e394c9630bcde17e07d3bcdcbca27e Author: Li Zefan Date: Fri Mar 27 10:21:00 2009 +0800 trace: make argument 'mem' of trace_seq_putmem() const Impact: fix build warning I passed a const value to trace_seq_putmem(), and I got compile warning. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit f285901bb21355bb47106658ef14eeb6b8ed538f Author: Eduard - Gabriel Munteanu Date: Mon Mar 23 15:12:23 2009 +0200 tracing: add missing 'extern' keywords to trace_output.h Impact: cleanup Many declarations within trace_output.h are missing the 'extern' keyword in an inconsistent manner. This adds 'extern' where it should be. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Ingo Molnar commit bdd6df6af98ce7e70702edfb5fd5dbbd8d1b0453 Author: Eduard - Gabriel Munteanu Date: Mon Mar 23 15:12:22 2009 +0200 tracing: provide trace_seq_reserve() trace_seq_reserve() allows a caller to reserve space in a trace_seq and write directly into it. This makes it easier to export binary data to userspace via the tracing interface, by simply filling in a struct. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Ingo Molnar commit 18cea4591a98817697017bcb056a848bae1205df Author: Li Zefan Date: Fri Mar 27 10:21:54 2009 +0800 blktrace: print out BLK_TN_MESSAGE properly Impact: improve ftrace plugin output Before this patch: # cat trace make-5383 [001] 741.240059: 8,7 P N [make] __trace_note_message: cfq1074 # echo 1 > options/blk_classic # cat trace 8,7 1 0.692221252 0 C W 130411392 + 1024 [0] Bad pc action 6361 Bad pc action 283d # echo 0 > options/blk_classic # echo bin > trace_options # cat trace_pipe | blkparse -i - (can't parse messages generated by blk_add_trace_msg()) After this patch: # cat trace -0 [001] 187.600933: 8,7 C W 145220224 + 8 [0] -0 [001] 187.600946: 8,7 m N cfq1076 complete # echo 1 > options/blk_classic # cat trace 8,7 1 0.256378996 238 I W 113190728 + 8 [pdflush] 8,7 1 0.256378998 238 m N cfq1076 insert_request # echo 0 > options/blk_classic # echo bin > trace_options # cat trace_pipe | blkparse -i - 8,7 1 0 22.973250293 0 C W 102770576 + 8 [0] 8,7 1 0 22.973259213 0 m N cfq1076 complete Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit b6a4b0c3ad4c09c1d37b1040ac8e3ebd1016e10b Author: Li Zefan Date: Fri Mar 27 10:21:23 2009 +0800 blktrace: extract duplidate code Impact: cleanup blk_trace_event_print() and blk_tracer_print_line() share most of the code. text data bss dec hex filename 8605 393 12 9010 2332 kernel/trace/blktrace.o.orig text data bss dec hex filename 8555 393 12 8960 2300 kernel/trace/blktrace.o This patch also prepares for the next patch, that prints out BLK_TN_MESSAGE. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit ad5dd5493a55e462796e42e50a49e76df76fdb05 Author: Li Zefan Date: Fri Mar 27 10:20:24 2009 +0800 blktrace: fix memory leak when freeing struct blk_io_trace Impact: fix mixed ioctl and ftrace-plugin blktrace use memory leak When mixing the use of ioctl-based blktrace and ftrace-based blktrace, we can leak memory in this way: # btrace /dev/sda > /dev/null & # echo 0 > /sys/block/sda/sda1/trace/enable now we leak bt->dropped_file, bt->msg_file, bt->rchan... Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 17ba97e347bec9bbc47a0877c7a098708982129d Author: Li Zefan Date: Fri Mar 27 10:20:09 2009 +0800 blktrace: fix blk_probes_ref chaos Impact: fix mixed ioctl and ftrace-plugin blktrace use refcount bugs ioctl-based blktrace allocates bt and registers tracepoints when ioctl(BLKTRACESETUP), and do all cleanups when ioctl(BLKTRACETEARDOWN). while ftrace-based blktrace allocates/frees bt when: # echo 1/0 > /sys/block/sda/sda1/trace/enable and registers/unregisters tracepoints when: # echo blk/nop > /debugfs/tracing/current_tracer or # echo 1/0 > /debugfs/tracing/tracing_enable The separatation of allocation and registeration causes 2 problems: 1. current user-space blktrace still calls ioctl(TEARDOWN) when ioctl(SETUP) failed: # echo 1 > /sys/block/sda/sda1/trace/enable # blktrace /dev/sda BLKTRACESETUP: Device or resource busy ^C and now blk_probes_ref == -1 2. Another way to make blk_probes_ref == -1: # plugin sdb && mount sdb1 # echo 1 > /sys/block/sdb/sdb1/trace/enable # remove sdb This patch does the allocation and registeration when writing sdaX/trace/enable. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 35ac51bfe4c293b67ce9f85082ba0b9bc6123c40 Author: Li Zefan Date: Fri Mar 27 10:19:46 2009 +0800 blktrace: make classic output more classic Impact: fix ftrace plugin timestamp output In the classic user-space blktrace, the output timestamp is sec.nsec not sec.usec. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit eb08f8eb0673d9c1e62b69ad1b41593e73c40467 Author: Li Zefan Date: Tue Mar 24 16:05:27 2009 +0800 blktrace: fix off-by-one bug 'what' is used as the index of array what2act, so it can't >= the array size. Signed-off-by: Li Zefan Acked-by: Jens Axboe Acked-by: Arnaldo Carvalho de Melo Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5554720482a631702146a959db22fe417740e0a6 Author: Li Zefan Date: Wed Mar 25 17:21:26 2009 +0800 blktrace: fix the original blktrace Currently the original blktrace, which is using relay and is used via ioctl, is broken. You can use ftrace to see the output of blktrace, but user-space blktrace is unusable. It's broken by "blktrace: add ftrace plugin" (c71a896154119f4ca9e89d6078f5f63ad60ef199) - if (unlikely(bt->trace_state != Blktrace_running)) + if (unlikely(bt->trace_state != Blktrace_running || !blk_tracer_enabled)) return; With this patch, both ioctl and ftrace can be used, but of course you can't use both of them at the same time. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit b5230b56ee6caeb27cedb7753c0c319646383bb4 Author: Li Zefan Date: Wed Mar 25 17:19:33 2009 +0800 blktrace: fix a race when creating blk_tree_root in debugfs t1 t2 ------ ------ do_blk_trace_setup() do_blk_trace_setup() if (!blk_tree_root) { if (!blk_tree_root) blk_tree_root = create_dir() blk_tree_root = create_dir(); (now blk_tree_root == NULL) ... dir = create_dir(name, blk_tree_root); Due to this race, t1 will create 'dir' in /debugfs but not /debugfs/block. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 6c051ce0307526adec32a847f0daa1af2124f0a9 Author: Li Zefan Date: Wed Mar 25 17:18:56 2009 +0800 blktrace: fix timestamp in binary output I found the timestamp is wrong: # echo bin > trace_option # echo blk > current_tracer # cat trace_pipe | blkparse -i - 8,0 0 0 0.000000000 504 A W ... ... 8,7 1 0 0.008534097 0 C R ... (should be 8.534097xxx) user-space blkparse expects the timestamp to be nanosecond. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit eedeeabdeeadb016b8c783e3620d06b98d0cb4e1 Author: Peter Zijlstra Date: Wed Mar 18 12:38:47 2009 +0100 lockdep: add stack dumps to asserts Have a better idea about exactly which loc causes a lockdep limit overflow. Often it's a bug or inefficiency in that subsystem. Signed-off-by: Peter Zijlstra LKML-Reference: <1237376327.5069.253.camel@laptop> Signed-off-by: Ingo Molnar commit 7f1e2ca9f04b02794597f60e7b1d43f0a1317939 Author: Peter Zijlstra Date: Fri Mar 13 12:21:27 2009 +0100 hrtimer: fix rq->lock inversion (again) It appears I inadvertly introduced rq->lock recursion to the hrtimer_start() path when I delegated running already expired timers to softirq context. This patch fixes it by introducing a __hrtimer_start_range_ns() method that will not use raise_softirq_irqoff() but __raise_softirq_irqoff() which avoids the wakeup. It then also changes schedule() to check for pending softirqs and do the wakeup then, I'm not quite sure I like this last bit, nor am I convinced its really needed. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: paulus@samba.org LKML-Reference: <20090313112301.096138802@chello.nl> Signed-off-by: Ingo Molnar commit de0975781a1a8bc92e07eb7681d10ef9bb5e6df9 Author: Adrian Hunter Date: Fri Mar 20 11:09:04 2009 +0100 UBIFS: fix recovery bug UBIFS did not recovery in a situation in which it could have. The relevant function assumed there could not be more nodes in an eraseblock after a corrupted node, but in fact the last (NAND) page written might contain anything. The correct approach is to check for empty space (0xFF bytes) from then on. Signed-off-by: Adrian Hunter commit 7bee946358c3cb957d4aa648fc5ab3cad0b232d0 Merge: d820ac4... 15f7176... Author: Ingo Molnar Date: Tue Mar 31 13:53:43 2009 +0200 Merge branch 'linus' into locking-for-linus Conflicts: lib/Kconfig.debug commit d6bb69cfa88b8ac9f952de4fada5b216d5ba8830 Author: Adrian Hunter Date: Fri Mar 6 14:51:30 2009 +0200 regulator: twl4030 VAUX3 supports 3.0V TWL4030 and TWL5030 support 3.0V on VAUX3. Signed-off-by: Adrian Hunter commit ca7255614e0861e36480103f4a402a115803d7b5 Author: Mark Brown Date: Mon Mar 16 19:36:34 2009 +0000 regulator: Support disabling of unused regulators by machines At present it is not possible for machine constraints to disable regulators which have been left on when the system starts, for example as a result of fixed default configurations in hardware. This means that power may be wasted by these regulators if they are not in use. Provide intial support for this with a late_initcall which will disable any unused regulators if the machine has enabled this feature by calling regulator_has_full_constraints(). If this has not been called then print a warning to encourage users to fully specify their constraints so that we can change this to be the default behaviour in future. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 50f075963f127d713ff0c30359baefc0f89d9ae2 Author: Mark Brown Date: Mon Mar 16 19:36:33 2009 +0000 regulator: Don't increment use_count for boot_on regulators Don't set use_count for regulators that are enabled at boot since this stops the supply being disabled by well-behaved consumers which do balanced enables and disabled. Any consumers which don't do disables which are not matched by enables are unable to share regulators - shared regulators are the common case so the API should facilitate them. Consumers that want to disable regulators that are enabled when they start have two options: - Do a regulator_enable() prior to the disable to bring the use count in sync with the hardware state; this will ensure that if the regulator was enabled by another driver then this consumer will play nicely with it. - Use regulator_force_disable(); this explicitly bypasses any checks done by the core and documents the inability of the driver to share the supply. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 52914eaa49bf732b091dbf5467ce4c7507c2d32a Author: David Brownell Date: Fri Mar 13 17:54:54 2009 -0700 twl4030-regulator: expose VPLL2 Add VPLL2 to the set of twl4030-family regulators exposed for use by various drivers. It's commonly used to power the digital video outputs (e.g. LCD or DVI displays) on OMAP3 systems. Signed-off-by: David Brownell Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit cd94b5053081963614f6ad77b9b66a7968056c84 Author: David Brownell Date: Wed Mar 11 16:43:34 2009 -0800 regulator: refcount fixes Fix some refcounting issues in the regulator framework, supporting regulator_disable() for regulators that were enabled at boot time via machine constraints: - Update those regulators' usecounts after enabling, so they can cleanly be disabled at that level. - Remove the problematic per-consumer usecount, so there's only one level of enable/disable. Buggy consumers could notice different bug symptoms. The main example would be refcounting bugs; also, any (out-of-tree) users of the experimental regulator_set_optimum_mode() stuff which don't call it when they're done using a regulator. This is a net minor codeshrink. Signed-off-by: David Brownell Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 1dc60343f874ce4bfbbc2c3d2f7865fc897df479 Author: Mark Brown Date: Wed Mar 11 23:35:52 2009 +0000 regulator: Don't warn if we failed to get a regulator The consumer can print a message if required, some consumers may have optional regulators and wish to downgrade the logging for them or ignore their absence. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit cacf90f24e80cec9334f98e0377149f943fe9f16 Author: Mark Brown Date: Mon Mar 2 16:32:46 2009 +0000 regulator: Allow boot_on regulators to be disabled by clients Rather than incrementing the reference count for boot_on regulators (which prevents them being disabled later on) simply force the regulator to be enabled when applying the constraints. Previously boot_on was essentially equivalent to always_on. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 221a7c7c9c88bf9d3ea4e191b35c7da709ca30b7 Author: Mark Brown Date: Mon Mar 2 16:32:47 2009 +0000 regulator: Implement list_voltage for WM835x LDOs and DCDCs Implement the recently added voltage step listing API for the WM835x DCDCs and LDOs. DCDCs can use values up to 0x66, LDOs can use the full range of values in the mask. Both masks are the lower bits of the register. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 1897e7423b73ff01db31c24dd20138968e39304c Author: David Brownell Date: Tue Mar 10 11:51:15 2009 -0800 twl4030-regulator: list more VAUX4 voltages The VAUX4 voltage table scrolls onto a second page in many versions of the TWL4030 family manuals. This doesn't mean we should ignore those values! Some boards use the (fully supported) 2.8V setting. Signed-off-by: David Brownell Signed-off-by: Liam Girdwood commit 3e2b9abda554e9f6105996dca77cca9ef98de17a Author: Mark Brown Date: Tue Mar 10 16:28:36 2009 +0000 regulator: Don't warn on omitted voltage constraints Specifying voltage constraints is optional (and only needed if the consumer is allowed to change the voltage) so don't complain unless a voltage has been specified. Also avoid surprises with a dangling else while we're here. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 216765d92acaeabdad6561254a5a676325105a37 Author: Mark Brown Date: Tue Mar 10 16:28:35 2009 +0000 regulator: Implement list_voltage() for WM8400 DCDCs and LDOs All DCDCs and LDOs are identical. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 5c13941acc513669c7d07b28789c3f9ba66ddddf Author: David Brownell Date: Wed Mar 11 03:30:43 2009 -0800 MMC: regulator utilities Glue between MMC and regulator stacks ... verified with some OMAP3 boards using adjustable and configured-as-fixed regulators on several MMC controllers. These calls are intended to be used by MMC host adapters using at least one regulator per host. Examples include slots with regulators supporting multiple voltages and ones using multiple voltage rails (e.g. DAT4..DAT7 using a separate supply, or a split rail chip like certain SDIO WLAN or eMMC solutions). Signed-off-by: David Brownell Acked-by: Pierre Ossman Signed-off-by: Liam Girdwood commit 66b659e685bca1f2f6d6102bac74cafbc7eef5c2 Author: David Brownell Date: Thu Feb 26 11:50:14 2009 -0800 regulator: twl4030 voltage enumeration (v2) Update previously-posted twl4030 regulator driver to export supported voltages to upper layers using a new mechanism. Signed-off-by: David Brownell Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit fa16a5c13a2fc1433cfff38a083b4f8c5138d022 Author: David Brownell Date: Sun Feb 8 10:37:06 2009 -0800 regulator: twl4030 regulators Support most of the LDO regulators in the twl4030 family chips. In the case of LDOs supporting MMC/SD, the voltage controls are used; but in most other cases, the regulator framework is only used to enable/disable a supplies, conserving power when a given voltage rail is not needed. The drivers/mfd/twl4030-core.c code already sets up the various regulators according to board-specific configuration, and knows that some chips don't provide the full set of voltage rails. The omitted regulators are intended to be under hardware control, such as during the hardware-mediated system powerup, powerdown, and suspend states. Unless/until software hooks are known to be safe, they won't be exported here. These regulators implement the new get_status() operation, but can't realistically implement get_mode(); the status output is effectively the result of a vote, with the relevant hardware inputs not exposed. Signed-off-by: David Brownell Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 3b2a6061afe6fcc44437cd5ec641b0aeb2825ee3 Author: David Brownell Date: Thu Feb 26 13:28:41 2009 -0800 regulator: get_status() grows kerneldoc Add kerneldoc for the new get_status() message. Fix the existing kerneldoc for that struct in two ways: (a) Syntax, making sure parameter descriptions immediately follow the one-line struct description and that the first blank lines is before any more expansive description; (b) Presentation for a few points, to highlight the fact that the previous "get" methods exist only to report the current configuration, not to display actual status. Signed-off-by: David Brownell Signed-off-by: Liam Girdwood commit 4367cfdc7c657ad8a797f51b9ffd3c64b31910e7 Author: David Brownell Date: Thu Feb 26 11:48:36 2009 -0800 regulator: enumerate voltages (v2) Add a basic mechanism for regulators to report the discrete voltages they support: list_voltage() enumerates them using selectors numbered from 0 to an upper bound. Use those methods to force machine-level constraints into bounds. (Example: regulator supports 1.8V, 2.4V, 2.6V, 3.3V, and board constraints for that rail are 2.0V to 3.6V ... so the range of voltages is then 2.4V to 3.3V on this board.) Export those voltages to the regulator consumer interface, so for example regulator hooked up to an MMC/SD/SDIO slot can report the actual voltage options available to cards connected there. Signed-off-by: David Brownell Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 33f301af0c56971e3c0f4a4eb4b92f7e80230f49 Author: Mark Brown Date: Thu Feb 26 19:24:20 2009 +0000 regulator: Fix get_mode() for WM835x DCDCs The WM835x regulators need a different register checking for force mode on each DCDC. Previously the force mode status for DCDC1 was checked. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit a308466c24b4f42bab6945026e938874d22cde50 Author: Mark Brown Date: Thu Feb 26 19:24:19 2009 +0000 regulator: Allow regulators to set the initial operating mode This is useful when wishing to run in a fixed operating mode that isn't the default. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit fe203ddfa5451a13589b1c7da9edab80b7fc06d1 Author: Mark Brown Date: Wed Feb 11 15:32:06 2009 +0000 regulator: Suggest use of datasheet supply or pin names for consumers Update the documentation to suggest the use of datasheet names for the supplies requested by regulator consumers. Doing this makes it easier to tie the design for a given platform up with the requirements of the driver for a consumer. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 1dd68f01886a2d5cabbbe90b86e82f70917de89c Author: Liam Girdwood Date: Mon Feb 2 21:43:31 2009 +0000 regulator: email - update email address and regulator webpage. Remove deceased email address and update to new address. Also update website details in MAINTAINERS with correct page. Signed-off-by: Liam Girdwood commit 0f1d747bfa89de4ca52dc1dffdcce35a2b8a1532 Author: Mike Rapoport Date: Thu Jan 22 16:00:29 2009 +0200 regulator: add unset_regulator_supplies to fix regulator_unregister Currently regulator_unregister does not clear regulator <--> consumer mapping. This patch introduces unset_regulator_supplies that clear the map. Signed-off-by: Mike Rapoport Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 90ca563b1030bece8a4f15a910e39a46f059ff48 Author: Randy Dunlap Date: Tue Jan 20 16:29:05 2009 -0800 regulator: fix header file missing kernel-doc Fix regulator/driver.h missing kernel-doc: Warning(linux-next-20090120//include/linux/regulator/driver.h:108): No description found for parameter 'get_status' Signed-off-by: Randy Dunlap cc: Liam Girdwood cc: Mark Brown Signed-off-by: Liam Girdwood commit 1fa9ad52b07811ebf258f3f6907de8dbf020ec2d Author: Mark Brown Date: Wed Jan 21 14:08:40 2009 +0000 regulator: Hoist struct regulator_dev out of core to fix notifiers Commit 872ed3fe176833f7d43748eb88010da4bbd2f983 caused regulator drivers to take the struct regulator_dev lock themselves which requires that the struct be visible to them. Band aid this by making the struct visible. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit fefdae42465facfa26d41a7f0010f1ade32c3386 Author: Mark Brown Date: Mon Jan 19 13:37:06 2009 +0000 regulator: Mark attributes table for virtual regulator static It's not exported. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit a9cb63b2a1768f40999e09939fd015cd203aa053 Author: Mark Brown Date: Mon Jan 19 13:37:05 2009 +0000 regulator: Make fixed voltage regulators visible in Kconfig This allows users to enable or disable support for these regulators at build time as they can for other regulators rather than having platforms force the regulators to be built in. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit bcf3402c50a48d51462f37f72129d9c4369702b4 Author: Mark Brown Date: Mon Jan 19 13:37:04 2009 +0000 regulator: Allow init_data to be passed to fixed voltage regulators Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 93c62da23a717f59933ec799688da42f71d8c6c4 Author: Mark Brown Date: Mon Jan 19 13:37:03 2009 +0000 regulator: Allow init data to be supplied for bq24022 Previously it was not possible to do so, making it impossible for machines to configure the driver. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 0527100fd11d9710c7e153d791da78824b7b46fa Author: Mark Brown Date: Mon Jan 19 13:37:02 2009 +0000 regulator: Pass regulator init data as explict argument when registering Rather than having the regulator init data read from the platform_data member of the struct device that is registered for the regulator make the init data an explict argument passed in when registering. This allows drivers to use the platform data for their own purposes if they wish. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit b136fb4463d13eea129bf090a8a465bba6bf0003 Author: Jonathan Cameron Date: Mon Jan 19 18:20:58 2009 +0000 Regulator: Push lock out of _notifier_call_chain + add voltage change event. Regulator: Push lock out of _notifier_call_chain and into caller functions (side effect of fixing deadlock in regulator_force_disable) + Add a voltage changed event. Signed-off-by: Jonathan Cameron Signed-off-by: Liam Girdwood commit 9485397aa2195e82da6373586a66689526675ad4 Author: Andrew Morton Date: Thu Jan 15 16:13:01 2009 -0800 regulator: minor cleanup of virtual consumer On Thu, 15 Jan 2009 16:10:22 -0800 Andrew Morton wrote: > On Wed, 14 Jan 2009 13:16:27 -0800 > David Brownell wrote: > > > From: David Brownell > > > > Minor cleanup to the regulator set_mode sysfs support: > > switch to sysfs_streq() in set_mode(), which is also > > a code shrink. Use the same strings that get_mode() > > uses, shrinking data too. > > > > Signed-off-by: David Brownell > > --- > > drivers/regulator/virtual.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > --- a/drivers/regulator/virtual.c > > +++ b/drivers/regulator/virtual.c > > @@ -226,13 +226,13 @@ static ssize_t set_mode(struct device *d > > unsigned int mode; > > int ret; > > > > - if (strncmp(buf, "fast", strlen("fast")) == 0) > > + if (sysfs_streq(buf, "fast\n") == 0) > > mode = REGULATOR_MODE_FAST; > > - else if (strncmp(buf, "normal", strlen("normal")) == 0) > > + else if (sysfs_streq(buf, "normal\n") == 0) > > mode = REGULATOR_MODE_NORMAL; > > - else if (strncmp(buf, "idle", strlen("idle")) == 0) > > + else if (sysfs_streq(buf, "idle\n") == 0) > > mode = REGULATOR_MODE_IDLE; > > - else if (strncmp(buf, "standby", strlen("standby")) == 0) > > + else if (sysfs_streq(buf, "standby\n") == 0) > > mode = REGULATOR_MODE_STANDBY; > > we don't need the \n's, do we? oh, it's for the string sharing. Sneaky. I wonder how many people will try to fix that up for us? Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 853116a10544206b6b2cf42ebc9d78fba2668888 Author: David Brownell Date: Wed Jan 14 23:03:17 2009 -0800 regulator: add get_status() Based on previous LKML discussions: * Update docs for regulator sysfs class attributes to highlight the fact that all current attributes are intended to be control inputs, including notably "state" and "opmode" which previously implied otherwise. * Define a new regulator driver get_status() method, which is the first method reporting regulator outputs instead of inputs. It can report on/off and error status; or instead of simply "on", report the actual operating mode. For the moment, this is a sysfs-only interface, not accessible to regulator clients. Such clients can use the current notification interfaces to detect errors, if the regulator reports them. Signed-off-by: David Brownell Signed-off-by: Liam Girdwood commit 93e14baa4494607efe81608725f591e3ba31e3c1 Author: David Brownell Date: Wed Jan 14 13:16:27 2009 -0800 regulator: minor cleanup of virtual consumer Minor cleanup to the regulator set_mode sysfs support: switch to sysfs_streq() in set_mode(), which is also a code shrink. Use the same strings that get_mode() uses, shrinking data too. Signed-off-by: David Brownell Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 46368fa05164e1afdc1401294908cf30c6d8d981 Author: Kuninori Morimoto Date: Wed Mar 11 07:20:32 2009 +0000 sh: ap325 and Migo-R use new sh_mobile_ceu_info flags Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 1aacc064e029f0017384e463121b98f06d3a2cc3 Author: Felix Blyakher Date: Tue Mar 31 00:23:37 2009 -0500 Revert "xfs: increase the maximum number of supported ACL entries" This reverts commit 8b112171734c791afaf43ccc8c6ec492e7006e44. Premature unintended commit. Signed-off-by: Felix Blyakher commit c8f517c444e4f9f55b5b5ca202b8404691a35805 Author: NeilBrown Date: Tue Mar 31 15:28:40 2009 +1100 md/raid5 revise rules for when to update metadata during reshape We currently update the metadata : 1/ every 3Megabytes 2/ When the place we will write new-layout data to is recorded in the metadata as still containing old-layout data. Rule one exists to avoid having to re-do too much reshaping in the face of a crash/restart. So it should really be time based rather than size based. So change it to "every 10 seconds". Rule two turns out to be too harsh when restriping an array 'in-place', as in that case the metadata much be updates for every stripe. For the in-place update, it can only possibly be safe from a crash if some user-space program data a backup of every e.g. few hundred stripes before allowing them to be reshaped. In that case, the constant metadata update is pointless. So only update the metadata if the new metadata will report that the end of the 'old-layout' data is beyond where we are currently writing 'new-layout' data. Signed-off-by: NeilBrown commit b0f9ec047b79a92e8b8a9dfbf97537c8fbef234a Author: NeilBrown Date: Tue Mar 31 15:27:18 2009 +1100 md/raid5: minor code cleanups in make_request. ... and to be certain the that make_request doesn't wait forever, add a 'wake_up' when ->reshape_progress has been set to MaxSector Signed-off-by: NeilBrown commit 2cffc4a01dd90a502324e3453d7b245d6d16e1c2 Author: NeilBrown Date: Tue Mar 31 15:27:05 2009 +1100 md: remove CONFIG_MD_RAID_RESHAPE config option. This was only needed when the code was experimental. Most of it is well tested now, so the option is no longer useful. Signed-off-by: NeilBrown commit ab69ae12ceef7f23c578a3c230144e94a167a821 Author: NeilBrown Date: Tue Mar 31 15:26:47 2009 +1100 md/raid5: be more careful about write ordering when reshaping. When we are reshaping an array, it is very important that we read the data from a particular sector offset before writing new data at that offset. In most cases when growing or shrinking an array we read long before we even consider writing. But when restriping an array without changing it size, there is a small possibility that we might have some data to available write before the read has happened at the same location. This would require some stripes to be in cache already. To guard against this small possibility, we check, before writing, that the 'old' stripe at the same location is not in the process of being read. And we ensure that we mark all 'source' stripes as such before allowing new 'destination' stripes to proceed. Signed-off-by: NeilBrown commit d1a7c50369835f9ecbd7752016cd9302ecfae678 Author: NeilBrown Date: Tue Mar 31 15:24:32 2009 +1100 md: don't display meaningless values in sysfs files resync_start and sync_speed When no resync if happening, both of these files currently have meaningless values (is slightly different ways). Change them to "none" in that case. Signed-off-by: NeilBrown commit 88ce4930e2b80378d45506ce2c3bb5820e156e85 Author: NeilBrown Date: Tue Mar 31 15:24:23 2009 +1100 md/raid5: allow layout and chunksize to be changed on active array. If an array has 3 or more devices, we allow the chunksize or layout to be changed and when a reshape starts, we use these as the 'new' values. Signed-off-by: NeilBrown commit 7a6613810785872b7c028fba22fc0bae1c91733d Author: NeilBrown Date: Tue Mar 31 15:21:40 2009 +1100 md/raid5: reshape using largest of old and new chunk size This ensures that even when old and new stripes are overlapping, we will try to read all of the old before having to write any of the new. Signed-off-by: NeilBrown commit e183eaedd53807e33f02ee80573e2833890e1f21 Author: NeilBrown Date: Tue Mar 31 15:20:22 2009 +1100 md/raid5: prepare for allowing reshape to change layout Add prev_algo to raid5_conf_t along the same lines as prev_chunk and previous_raid_disks. Signed-off-by: NeilBrown commit 784052ecc6ade6b6acf4f67e4ada8e5f2e6df446 Author: NeilBrown Date: Tue Mar 31 15:19:07 2009 +1100 md/raid5: prepare for allowing reshape to change chunksize. Add "prev_chunk" to raid5_conf_t, similar to "previous_raid_disks", to remember what the chunk size was before the reshape that is currently underway. This seems like duplication with "chunk_size" and "new_chunk" in mddev_t, and to some extent it is, but there are differences. The values in mddev_t are always defined and often the same. The prev* values are only defined if a reshape is underway. Also (and more significantly) the raid5_conf_t values will be changed at the same time (inside an appropriate lock) that the reshape is started by setting reshape_position. In contrast, the new_chunk value is set when the sysfs file is written which could be well before the reshape starts. Signed-off-by: NeilBrown commit 86b42c713be3e5f6807aa14b4cbdb005d35c64d5 Author: NeilBrown Date: Tue Mar 31 15:19:03 2009 +1100 md/raid5: clearly differentiate 'before' and 'after' stripes during reshape. During a raid5 reshape, we have some stripes in the cache that are 'before' the reshape (and are still to be processed) and some that are 'after'. They are currently differentiated by having different ->disks values as the only reshape current supported involves changing the number of disks. However we will soon support reshapes that do not change the number of disks (chunk parity or chunk size). So make the difference more explicit with a 'generation' number. Signed-off-by: NeilBrown commit 11373542344bdc35be1e6e68b0baadd1b6f7acbb Author: NeilBrown Date: Tue Mar 31 15:18:37 2009 +1100 Documentation/md.txt update Update md.txt to reflect recent changes in a number of sysfs attributes. Signed-off-by: NeilBrown commit ec32a2bd35bd6b933a5db6542c48210ce069a376 Author: NeilBrown Date: Tue Mar 31 15:17:38 2009 +1100 md: allow number of drives in raid5 to be reduced When reshaping a raid5 to have fewer devices, we work from the end of the array to the beginning. md_do_sync gives addresses to sync_request that go from the beginning to the end. So largely ignore them use the internal state variable "reshape_progress" to keep track of what to do next. Never allow the size to be reduced below the minimum (4 for raid6, 3 otherwise). We require that the size of the array has already been reduced before the array is reshaped to a smaller size. This is because simply reducing the size is an easily reversible operation, while the reshape is immediately destructive and so is not reversible for the blocks at the ends of the devices. Thus to reshape an array to have fewer devices, you must first write an appropriately small size to md/array_size. When reshape finished, we remove any drives that are no longer needed and fix up ->degraded. Signed-off-by: NeilBrown commit fef9c61fdfabf97a307c2cf3621a6949f0a4b995 Author: NeilBrown Date: Tue Mar 31 15:16:46 2009 +1100 md/raid5: change reshape-progress measurement to cope with reshaping backwards. When reducing the number of devices in a raid4/5/6, the reshape process has to start at the end of the array and work down to the beginning. So we need to handle expand_progress and expand_lo differently. This patch renames "expand_progress" and "expand_lo" to avoid the implication that anything is getting bigger (expand->reshape) and every place they are used, we make sure that they are used the right way depending on whether delta_disks is positive or negative. Signed-off-by: NeilBrown commit cea9c22800773cecb1d41f4a6139f9eb6a95368b Author: NeilBrown Date: Tue Mar 31 15:15:05 2009 +1100 md: add explicit method to signal the end of a reshape. Currently raid5 (the only module that supports restriping) notices that the reshape has finished be sync_request being given a large value, and handles any cleanup them. This patch changes it so md_check_recovery calls into an explicit finish_reshape method as well. The clean-up from sync_request can do things that need to be done promptly, typically things local to the raid5_conf_t structure. The "finish_reshape" method is called under the mddev_lock so it can do things involving reconfiguring the device. This allows us to get rid of md_set_array_sectors_locked, which would have caused a deadlock if you tried to stop and array while a reshape was happening. Signed-off-by: NeilBrown commit 7ec0547838976d088dfb9cb0adb073e6e8a15aa3 Author: NeilBrown Date: Tue Mar 31 15:10:36 2009 +1100 md/raid5: enhance raid5_size to work correctly with negative delta_disks This is the first of four patches which combine to allow md/raid5 to reduce the number of devices in the array by restriping the data over a subset of the devices. If the number of disks in a raid4/5/6 is being reduced, then the default size must be based on the new number, not the old number of devices. In general, it should be based on the smaller of new and old. Signed-off-by: NeilBrown commit 34e04e87fb8b2c62c9e8868f41c8179d0e15f51a Author: NeilBrown Date: Tue Mar 31 15:10:16 2009 +1100 md/raid5: drop qd_idx from r6_state We now have this value in stripe_head so we don't need to duplicate it. Signed-off-by: NeilBrown commit f701d589aa34d7531183c9ac6f7713ba14212b02 Author: Dan Williams Date: Tue Mar 31 15:09:39 2009 +1100 md/raid6: move raid6 data processing to raid6_pq.ko Move the raid6 data processing routines into a standalone module (raid6_pq) to prepare them to be called from async_tx wrappers and other non-md drivers/modules. This precludes a circular dependency of raid456 needing the async modules for data processing while those modules in turn depend on raid456 for the base level synchronous raid6 routines. To support this move: 1/ The exportable definitions in raid6.h move to include/linux/raid/pq.h 2/ The raid6_call, recovery calls, and table symbols are exported 3/ Extra #ifdef __KERNEL__ statements to enable the userspace raid6test to compile Signed-off-by: Dan Williams Signed-off-by: NeilBrown commit 18b0033491f584a2d79697da714b1ef9d6b27d22 Author: Andre Noll Date: Tue Mar 31 15:00:56 2009 +1100 md: raid5 run(): Fix max_degraded for raid level 4. raid4 allows only one failed disk. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit b522adcde9c4d3fb7b579cfa9160d8bde7744be8 Author: Dan Williams Date: Tue Mar 31 15:00:31 2009 +1100 md: 'array_size' sysfs attribute Allow userspace to set the size of the array according to the following semantics: 1/ size must be <= to the size returned by mddev->pers->size(mddev, 0, 0) a) If size is set before the array is running, do_md_run will fail if size is greater than the default size b) A reshape attempt that reduces the default size to less than the set array size should be blocked 2/ once userspace sets the size the kernel will not change it 3/ writing 'default' to this attribute returns control of the size to the kernel and reverts to the size reported by the personality Also, convert locations that need to know the default size from directly reading ->array_sectors to _size. Resync/reshape operations always follow the default size. Finally, fixup other locations that read a number of 1k-blocks from userspace to use strict_blocks_to_sectors() which checks for unsigned long long to sector_t overflow and blocks to sectors overflow. Reviewed-by: Andre Noll Signed-off-by: Dan Williams commit 1f403624bde3c678a166984b1e6a727a0ce06f2b Author: Dan Williams Date: Tue Mar 31 14:59:03 2009 +1100 md: centralize ->array_sectors modifications Get personalities out of the business of directly modifying ->array_sectors. Lays groundwork to introduce policy on when ->array_sectors can be modified. Reviewed-by: Andre Noll Signed-off-by: Dan Williams commit 80c3a6ce4ba4470379b9e6a4d9bcd9d2ee26ae03 Author: Dan Williams Date: Tue Mar 17 18:10:40 2009 -0700 md: add 'size' as a personality method In preparation for giving userspace control over ->array_sectors we need to be able to retrieve the 'default' size, and the 'anticipated' size when a reshape is requested. For personalities that do not reshape emit a warning if anything but the default size is requested. In the raid5 case we need to update ->previous_raid_disks to make the new 'default' size available. Reviewed-by: Andre Noll Signed-off-by: Dan Williams commit 93ed05e2a56b5ee06c0100a169433b11c4aa5d0b Author: Atsushi SAKAI Date: Tue Mar 31 14:57:37 2009 +1100 md: fix typo in FSF address Hello, I found a typo Bosto"m" in FSF address. And I am checking around linux source code. Here is the only place which uses Bosto"m" (not Boston). Signed-off-by: Atsushi SAKAI Signed-off-by: NeilBrown commit fc9739c6d626ee79a148ec367d143b0601299a9d Author: NeilBrown Date: Tue Mar 31 14:57:20 2009 +1100 md: add takeover support for converting raid6 back into raid5 If a raid6 is still in the layout that comes from converting raid5 into a raid6. this will allow us to convert it back again. Signed-off-by: NeilBrown commit e9d4758f6e93488dc719a1445ce54659a570938f Author: NeilBrown Date: Tue Mar 31 14:57:09 2009 +1100 md: add takeover support for raid4 -> raid5 conversion. Signed-off-by: NeilBrown commit b3546035277847028df650b147469fc943cf5c71 Author: NeilBrown Date: Tue Mar 31 14:56:41 2009 +1100 md/raid5: allow layout/chunksize to be changed on an active 2-drive raid5. 2-drive raid5's aren't very interesting. But if you are converting a raid1 into a raid5, you will at least temporarily have one. And that it a good time to set the layout/chunksize for the new RAID5 if you aren't happy with the defaults. layout and chunksize don't actually affect the placement of data on a 2-drive raid5, so we just do some internal book-keeping. Signed-off-by: NeilBrown commit d562b0c4313e3ddea402a400371afa47ddf679f9 Author: NeilBrown Date: Tue Mar 31 14:39:39 2009 +1100 md: add ->takeover method for raid5 to be able to take over raid1 The RAID1 must have two drives and be a suitable size to be a multiple of a chunksize that isn't too small. Signed-off-by: NeilBrown commit 245f46c2c221ef09c7db892f0e3fc2149be42052 Author: NeilBrown Date: Tue Mar 31 14:39:39 2009 +1100 md: add ->takeover method to support changing the personality managing an array Implement this for RAID6 to be able to 'takeover' a RAID5 array. The new RAID6 will use a layout which places Q on the last device, and that device will be missing. If there are any available spares, one will immediately have Q recovered onto it. Signed-off-by: NeilBrown commit 409c57f3801701dfee27a28103dda4831306cb20 Author: NeilBrown Date: Tue Mar 31 14:39:39 2009 +1100 md: enable suspend/resume of md devices. To be able to change the 'level' of an md/raid array, we need to suspend the device so that no requests are active - then move some pointers around etc. The code already keeps counts of active requests and the ->quiesce function can be used to wait until those counts hit zero. However the quiesce function blocks new requests once they are all ready 'inside' the personality module, and that is too late if we want to replace the personality modules. So make all md requests come in through a common md_make_request function that keeps track of how many requests have entered the modules but may not yet be on the internal reference counts. Allow md_make_request to be blocked when we want to suspend the device, and make it possible to wait for all those in-transit requests to be added to internal lists so that ->quiesce can wait for them. There is still a problem that when a request completes, we drop the ref count inside the personality code so there is a short time between when the refcount hits zero, and when the personality code is no longer being used. The personality code never blocks (schedule or spinlock) between dropping the refcount and exiting the routine, so this should be safe (as put_module calls synchronize_sched() before unmapping the module code). Signed-off-by: NeilBrown commit e0cf8f045b2023b0b3f919ee93eb94345f648434 Author: NeilBrown Date: Tue Mar 31 14:39:39 2009 +1100 md: md_unregister_thread should cope with being passed NULL Mostly md_unregister_thread is only called when we know that the thread is NULL, but sometimes we need to check first. It is safer to put the check inside md_unregister_thread itself. Signed-off-by: NeilBrown commit 91adb56473febeeb3ef657bb5147ddd355465700 Author: NeilBrown Date: Tue Mar 31 14:39:39 2009 +1100 md/raid5: refactor raid5 "run" .. so that the code to create the private data structures is separate. This will help with future code to change the level of an active array. Signed-off-by: NeilBrown commit 34817e8c3948ea20316dfa8fd8947d6d0ee82ba9 Author: NeilBrown Date: Tue Mar 31 14:39:38 2009 +1100 md: make sure new_level, new_chunksize, new_layout always have sensible values. When an md array is undergoing a change, we have new_* fields that show the new values. When no change is happening, it is least confusing if these have the same value as the normal fields. This is true in most cases, but not when the values are set via sysfs. So fix this up. A subsequent patch will BUG_ON if these things aren't consistent. Signed-off-by: NeilBrown commit 67cc2b8165857ba019920d1f00d64bcc4140075d Author: NeilBrown Date: Tue Mar 31 14:39:38 2009 +1100 md/raid5: finish support for DDF/raid6 DDF requires RAID6 calculations over different devices in a different order. For md/raid6, we calculate over just the data devices, starting immediately after the 'Q' block. For ddf/raid6 we calculate over all devices, using zeros in place of the P and Q blocks. This requires unfortunately complex loops... Signed-off-by: NeilBrown commit 99c0fb5f92828ae96909d390f2df137b89093b37 Author: NeilBrown Date: Tue Mar 31 14:39:38 2009 +1100 md/raid5: Add support for new layouts for raid5 and raid6. DDF uses different layouts for P and Q blocks than current md/raid6 so add those that are missing. Also add support for RAID6 layouts that are identical to various raid5 layouts with the simple addition of one device to hold all of the 'Q' blocks. Finally add 'raid5' layouts to match raid4. These last to will allow online level conversion. Note that this does not provide correct support for DDF/raid6 yet as the order in which data blocks are summed to produce the Q block is significant and different between current md code and DDF requirements. Signed-off-by: NeilBrown commit 911d4ee8536d89ea8a6cd3e96b1c95a3ebc5ea66 Author: NeilBrown Date: Tue Mar 31 14:39:38 2009 +1100 md/raid5: simplify raid5_compute_sector interface Rather than passing 'pd_idx' and 'qd_idx' to be filled in, pass a 'struct stripe_head *' and fill in the relevant fields. This is more extensible. Signed-off-by: NeilBrown commit d0dabf7e577411c2bf6b616c751544dc241213d4 Author: NeilBrown Date: Tue Mar 31 14:39:38 2009 +1100 md/raid6: remove expectation that Q device is immediately after P device. Code currently assumes that the devices in a raid6 stripe are 0 1 ... N-1 P Q in some rotated order. We will shortly add new layouts in which this strict pattern is broken. So remove this expectation. We still assume that the data disks are roughly in-order. However P and Q can be inserted anywhere within that order. Signed-off-by: NeilBrown commit 112bf8970dbdfc00bd4667da5996e57c2ce58066 Author: NeilBrown Date: Tue Mar 31 14:39:38 2009 +1100 md/raid5: change raid5_compute_sector and stripe_to_pdidx to take a 'previous' argument This similar to the recent change to get_active_stripe. There is no functional change, just come rearrangement to make future patches cleaner. Signed-off-by: NeilBrown commit b5663ba405fe3e51176ddb6c91a5e186590c26b5 Author: NeilBrown Date: Tue Mar 31 14:39:38 2009 +1100 md/raid5: simplify interface for init_stripe and get_active_stripe Rather than passing 'pd_idx' and 'disks' to these functions, just pass 'previous' which tells whether to use the 'previous' or 'current' geometry during a reshape, and let init_stripe calculate disks and pd_idx and anything else it might need. This is not a substantial simplification and even adds a division. However we will shortly be adding more complexity to init_stripe to handle more interesting 'reshape' activities, and without this change, the interface to these functions would get very complex. Signed-off-by: NeilBrown commit dd8ac336c13fd8afdb082ebacb1cddd5cf727889 Author: Andre Noll Date: Tue Mar 31 14:33:13 2009 +1100 md: Represent raid device size in sectors. This patch renames the "size" field of struct mdk_rdev_s to "sectors" and changes this field to store sectors instead of blocks. All users of this field, linear.c, raid0.c and md.c, are fixed up accordingly which gets rid of many multiplications and divisions. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 58c0fed400603a802968b23ddf78f029c5a84e41 Author: Andre Noll Date: Tue Mar 31 14:33:13 2009 +1100 md: Make mddev->size sector-based. This patch renames the "size" field of struct mddev_s to "dev_sectors" and stores the number of 512-byte sectors instead of the number of 1K-blocks in it. All users of that field, including raid levels 1,4-6,10, are adjusted accordingly. This simplifies the code a bit because it allows to get rid of a couple of divisions/multiplications by two. In order to make checkpatch happy, some minor coding style issues have also been addressed. In particular, size_store() now uses strict_strtoull() instead of simple_strtoull(). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 575a80fa4f623141e9791e41879d87800fb6d862 Author: NeilBrown Date: Tue Mar 31 14:33:13 2009 +1100 md: be more consistent about setting WriteMostly flag when adding a drive to an array When a drive is added to an array using ADD_NEW_DISK, there are two places we can get certain flags from: the metadata on the disk or the flags passed through the IOCTL. For the WriteMostly flag (aka MD_DISK_WRITEMOSTLY) we take the value from either of those sources depending on if it is set (i.e. we effectively 'or' the two sources together). This makes it awkward to clear, and is at best inconsistent. As documented code (in mdadm) requires that setting MD_DISK_WRITEMOSTLY in the ioctl will be effective, we resolve the inconsistency by always using the value for this flag from the ioctl, and ignoring the value on disk. Signed-off-by: NeilBrown commit 97e4f42d62badb0f9fbc27c013e89bc1336a03bc Author: NeilBrown Date: Tue Mar 31 14:33:13 2009 +1100 md: occasionally checkpoint drive recovery to reduce duplicate effort after a crash Version 1.x metadata has the ability to record the status of a partially completed drive recovery. However we only update that record on a clean shutdown. It would be nice to update it on unclean shutdowns too, particularly when using a bitmap that removes much to the 'sync' effort after an unclean shutdown. One complication with checkpointing recovery is that we only know where we are up to in terms of IO requests started, not which ones have completed. And we need to know what has completed to record how much is recovered. So occasionally pause the recovery until all submitted requests are completed, then update the record of where we are up to. When we have a bitmap, we already do that pause occasionally to keep the bitmap up-to-date. So enhance that code to record the recovery offset and schedule a superblock update. And when there is no bitmap, just pause 16 times during the resync to do a checkpoint. '16' is a fairly arbitrary number. But we don't really have any good way to judge how often is acceptable, and it seems like a reasonable number for now. Signed-off-by: NeilBrown commit 43b2e5d86d8bdd77386226db0bc961529492c043 Author: NeilBrown Date: Tue Mar 31 14:33:13 2009 +1100 md: move md_k.h from include/linux/raid/ to drivers/md/ It really is nicer to keep related code together.. Signed-off-by: NeilBrown commit bff61975b3d6c18ee31457cc5b4d73042f44915f Author: NeilBrown Date: Tue Mar 31 14:33:13 2009 +1100 md: move lots of #include lines out of .h files and into .c This makes the includes more explicit, and is preparation for moving md_k.h to drivers/md/md.h Remove include/raid/md.h as its only remaining use was to #include other files. Signed-off-by: NeilBrown commit 92022950c6b1bb3da90b2976b20271cdfd98b8a3 Author: NeilBrown Date: Tue Mar 31 14:33:13 2009 +1100 md: move most content from md.h to md_k.h The extern function definitions are kernel-internal definitions, so they belong in md_k.h The MD_*_VERSION values could reasonably go in a number of places, but md_u.h seems most reasonable. This leaves almost nothing in md.h. It will go soon. Signed-off-by: NeilBrown commit 8b2b5c217c20b5460218ab8731295f2e46c7dd29 Author: NeilBrown Date: Tue Mar 31 14:27:03 2009 +1100 md: move LEVEL_* definition from md_k.h to md_u.h .. as they are part of the user-space interface. Also move MdpMinorShift into there so we can remove duplication. Lastly move mdp_major in. It is less obviously part of the user-space interface, but do_mounts_md.c uses it, and it is acting a bit like user-space. Signed-off-by: NeilBrown commit ef740c372dfd80e706dbf955d4e4aedda6c0c148 Author: Christoph Hellwig Date: Tue Mar 31 14:27:03 2009 +1100 md: move headers out of include/linux/raid/ Move the headers with the local structures for the disciplines and bitmap.h into drivers/md/ so that they are more easily grepable for hacking and not far away. md.h is left where it is for now as there are some uses from the outside. Signed-off-by: Christoph Hellwig Signed-off-by: NeilBrown commit 2a40a8aed083d988df6822bb9b1b08fb7ce21e1d Author: Christoph Hellwig Date: Tue Mar 31 14:27:02 2009 +1100 cleanup drivers/md/Makefile Use the -y variables instead of the old -objs so we can easily add conditional objects to the modules. Also always use += to add subobjects to avoid problems when placing additional objects in some place in the file. Signed-off-by: Christoph Hellwig Signed-off-by: NeilBrown commit 3dbd8c2e3ff0185585e068f190289d2a267a3e83 Author: Christoph Hellwig Date: Tue Mar 31 14:27:02 2009 +1100 md: stop defining MAJOR_NR MAJOR_NR was only required for magic in linux/blk.h in 2.4 or earlier kernels, so no need to keep it around. Signed-off-by: Christoph Hellwig Signed-off-by: NeilBrown commit 3f9d99c12a533809342b475c95452e82761bcc1c Author: Martin K. Petersen Date: Tue Mar 31 14:27:02 2009 +1100 MD data integrity support md: Add support for data integrity to MD If all subdevices support the same protection format the MD device is flagged as integrity capable. Signed-off-by: Martin K. Petersen Signed-off-by: NeilBrown commit 355a43e641b948a7b755cb4c2466ec548d5b495f Author: NeilBrown Date: Tue Mar 31 14:27:02 2009 +1100 md: write bitmap information to devices that are undergoing recovery. When we add some spares to an array and start recovery, and we have a bitmap which is stored 'internally' on all devices, we call bitmap_write_all to make sure the bitmap is correct on the new device(s). However that doesn't work as write_sb_page only writes to 'In_sync' devices, and devices undergoing recovery are not 'In_sync' until recovery finishes. So extend write_sb_page (actually next_active_rdev) to include devices that are under recovery. Signed-off-by: NeilBrown commit d0a4bb492772ce5c4bdfba3744a99ed6f6fb238f Author: NeilBrown Date: Tue Mar 31 14:27:02 2009 +1100 md: never clear bit from the write-intent bitmap when the array is degraded. It is safe to clear a bit from the write-intent bitmap for a raid1 if we know the data has been written to all devices, which is what the current test does. But it is not always safe to update the 'events_cleared' counter in that case. This is because one request could complete successfully after some other request has partially failed. So simply disable the clearing and updating of events_cleared whenever the array is degraded. This might end up not clearing some bits that could safely be cleared, but it is safest approach. Note that the bug fixed here did not risk corrupting data by letting the array get out-of-sync. Rather it meant that when a device is removed and re-added to the array, it might incorrectly require a full recovery rather than just recovering based on the bitmap. Signed-off-by: NeilBrown commit 1187cf0a3c8b647d08bc86e043563c8d2a327adc Author: NeilBrown Date: Tue Mar 31 14:27:02 2009 +1100 md: Allow write-intent bitmaps to have chunksize < PAGE_SIZE md currently insists that the chunk size used for write-intent bitmaps (the amount of data that corresponds to one chunk) be at least one page. The reason for this restriction is lost in the mists of time, but a review of the code (and a vague memory) suggests that the only problem would be related to resync. Resync tries very hard to work in multiples of a page, but also needs to sync with units of a bitmap_chunk too. This connection comes out in the bitmap_start_sync call. So change bitmap_start_sync to always work in multiples of a page. If the bitmap chunk size is less that one page, we flag multiple chunks as 'syncing' and generally make them all appear to the resync routines like one chunk. All other code either already works with data ranges that could span multiple chunks, or explicitly only cares about a single chunk. Signed-off-by: Neil Brown commit eea1bf384e05b5ab747f8530c4fba9e9e6907fff Author: NeilBrown Date: Tue Mar 31 14:27:02 2009 +1100 md: Fix is_mddev_idle test (again). There are two problems with is_mddev_idle. 1/ sync_io is 'atomic_t' and hence 'int'. curr_events and all the rest are 'long'. So if sync_io were to wrap on a 64bit host, the value of curr_events would go very negative suddenly, and take a very long time to return to positive. So do all calculations as 'int'. That gives us plenty of precision for what we need. 2/ To initialise rdev->last_events we simply call is_mddev_idle, on the assumption that it will make sure that last_events is in a suitable range. It used to do this, but now it does not. So now we need to be more explicit about initialisation. Signed-off-by: NeilBrown commit 5123bc35d2bd2e5c344a53e634edec2cd0861a0e Merge: 930861c... 2717420... Author: Felix Blyakher Date: Mon Mar 30 22:17:44 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs commit 47e669ce10901dc92960096653d6b22990b5188f Author: James Bottomley Date: Sun Mar 22 03:58:40 2009 +0000 parisc: fix macro expansion in atomic.h Signed-off-by: James Bottomley Signed-off-by: Kyle McMartin commit 930861c4e6f13ce2e7d06cd1ef11441a065517d9 Merge: 8b11217... 15f7176... Author: Felix Blyakher Date: Mon Mar 30 22:08:33 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 558f6ab9106e6be701acb0257e7171df1bbccf04 Merge: 15f7176... 65fb0d2... Author: Rusty Russell Date: Tue Mar 31 13:33:50 2009 +1030 Merge branch 'cpumask-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip Conflicts: arch/x86/include/asm/topology.h drivers/oprofile/buffer_sync.c (Both cases: changed in Linus' tree, removed in Ingo's). commit 2d6d79bbe589b74c0a6612fc88e4d150f8dfa1e1 Author: Alexander Beregalov Date: Fri Mar 20 13:00:11 2009 +0300 parisc: iosapic: fix build breakage drivers/parisc/iosapic.c:717: error: incompatible types in assignment irq_desc::affinity was changed from cpumask_t to cpumask_var_t in 7f7ace0cda (cpumask: update irq_desc to use cpumask_var_t) Signed-off-by: Alexander Beregalov Signed-off-by: Kyle McMartin commit c48faf86b0d59cc43ff4eede59c4af7afbd7c0ff Author: Helge Deller Date: Mon Feb 16 03:03:11 2009 +0000 parisc: oops_enter()/oops_exit() in die() As pointed out by Russell in http://marc.info/?l=linux-arch&m=118208089204630&w=2 Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit c84c3a698f17ae5d55a6ecc76298fb894e106336 Author: Helge Deller Date: Tue Dec 30 02:47:38 2008 +0000 parisc: document light weight syscall ABI Document the LWS ABI including implementation notes for userspace, and comment cleanup. Remove extraneous .align 16 after lws_lock_start. Signed-off-by: Carlos O'Donell Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 8a1def457bab9f9654bd4dbb1e3eea6fedd26afa Author: Helge Deller Date: Tue Jan 6 14:23:13 2009 +0100 parisc: blink all or loadavg LEDs on oops - depending on machine type, blink all leds or just the loadavg leds twice a second on oops. - cancel_rearming_delayed_workqueue() is obsolete, use cancel_delayed_work_sync() instead Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit d75f054a2cf0614ff63d534ff21ca8eaab41e713 Author: Helge Deller Date: Mon Feb 9 00:43:36 2009 +0100 parisc: add ftrace (function and graph tracer) functionality This patch adds the ftrace debugging functionality to the parisc kernel. It will currently only work with 64bit kernels, because the gcc options -pg and -ffunction-sections can't be enabled at the same time and -ffunction-sections is still needed to be able to link 32bit kernels. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 803094f480aa5b7dd5187a17e6e60ff24721c212 Author: Helge Deller Date: Fri Feb 13 23:58:29 2009 +0100 parisc: simplify sys_clone() No need to test clone_flags here and set parent_tidptr and child_tidptr accordingly. The same check will be done in do_fork() and copy_process() anyway. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 548f1176f0ac637eff895defb715ce6fde7c460a Author: Helge Deller Date: Fri Feb 6 21:50:39 2009 +0100 parisc: add LATENCYTOP_SUPPORT and CONFIG_STACKTRACE_SUPPORT Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit afca2523876301cc6130fc3cc402173eeeb89830 Author: Helge Deller Date: Thu Feb 5 00:06:00 2009 +0100 parisc: allow to build with 16k default kernel page size Introduce new convert_for_tlb_insert20 macro and use it to replace assembler statements with hardcoded constants. This change allows the parisc64 kernel to boot with 16kb default kernel page size, aka CONFIG_PARISC_PAGE_SIZE_16KB=y. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 445c088f88d63db49598390be3525252d211688f Author: Colin Watson Date: Fri Jan 30 01:03:50 2009 +0000 parisc: expose 32/64-bit capabilities in cpuinfo It'd be rather useful for debian-installer if we could get hold of accurate firmware information on whether only 32-bit kernels are supported, only 64-bit kernels, or both; this would allow us to present an accurate menu of kernel packages if more than one is available, rather than the user having to guess. This patch attempts to expose it in cpuinfo. I adjusted pdc_model_capabilities to cope with a potential PDC_INVALID_ARG return as the firmware manual instructs, by assuming 32-bit only. This may be the wrong place for it. I made up user-visible capability names by total fiat and for the moment ignored the other bits that may appear in the capabilities word. I have no PA-RISC machine myself to test on, and no PA experience either, so I rather hope that somebody will kind-heartedly take this and fix it up if needed. I ran it past Dann Frazier on IRC and he said "looks good to me", but I think without testing. Also, this is against the Ubuntu 2.6.28 kernel tree since that's what I had handy and I was a bit tight on disk space to slurp down another tree. Sorry if it's skewed in any relevant way; I'll be happy to adjust if necessary. Thanks in advance! Signed-off-by: Colin Watson Signed-off-by: Kyle McMartin commit 1152a68c4226ce48c95241b6ffc543850b4b3a97 Author: Helge Deller Date: Sun Jan 18 19:30:18 2009 +0100 parisc: use constants instead of numbers in assembly A few small fixups: * _PAGE_SIZE_ENCODING_DEFAULT is wrong here, as one might assume that it's possible to define the page size that way. This is wrong. Use 0 instead. * use constants instead of hardcoded numerical values in depi and extru while building the PFN out of the pte entry * use SHRREG instead of extru (iitlba expects the PFN at bits {7..26}) Still wondering why we can use the same register (pte) as extru source and target register, but it seems to work on PA1.1 and PA2.0... Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 48d27cb2299c0b2fc4d551bddb6a1005828dc0c6 Author: Helge Deller Date: Sun Jan 18 19:16:16 2009 +0100 parisc: fix usage of 32bit PTE page table entries on 32bit kernels This patch fixes a long outstanding bug on 32bit parisc linux kernels which prevented us from using 32bit PTE table entries (instead of 64bit entries of which 32bit were unused). The problem was caused by this assembler statement in the L2_ptep macro in arch/parisc/kernel/entry.S:447: EXTR \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index which expanded to extrw,u r8,9,11,r1 and which has undefined behavior since the length value (11) extends beyond the leftmost bit (11-1 > 9). Interestingly PA2.0 processors seem to don't care and just zero-extend the value, while PA1.1 processors don't. Fix this problem by detecting an address space overflow with ASM_BITS_PER_PGD and adjusting it accordingly. To prevent such problems in the future, some compile time sanity checks in arch/parisc/mm/init.c were added. Since the page table now only consumes half of it's old size, we can use the freed memory to harmonize 32- and 64bit kernels and let both map 16MB for the initial page table. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 49502677e11079c2e3e01867c922a894ce06a8be Author: Rusty Russell Date: Tue Mar 31 13:05:36 2009 -0600 module: use strstarts() Impact: minor cleanup. I'm not going to neaten anyone else's code, but I'm happy to clean up my own. Signed-off-by: Rusty Russell commit 66f92cf9d415e96a5bdd6c64de8dd8418595d2fc Author: Rusty Russell Date: Tue Mar 31 13:05:36 2009 -0600 strstarts: helper function for !strncmp(str, prefix, strlen(prefix)) Impact: minor new API ksplice added a "starts_with" function, which seems like a common need. When people open-code it they seem to use fixed numbers rather than strlen, so it's quite a readability win (also, strncmp() almost always wants != 0 on it). So here's strstarts(). Cc: Anders Kaseorg Cc: Jeff Arnold Cc: Tim Abbott Signed-off-by: Rusty Russell commit aa0d3bb77e780054babcd289484cf4c15180111b Author: Rusty Russell Date: Tue Mar 31 13:05:35 2009 -0600 arm: allow usage of string functions in linux/string.h In introducing a trivial "strstarts()" function in linux/string.h, we hit: arch/arm/boot/compressed/misc.o: In function `strstarts': misc.c:(.text+0x368): undefined reference to `strlen' misc.c:(.text+0x378): undefined reference to `strncmp' This is because of "CFLAGS_misc.o := -Dstatic=" in the Makefile. "static inline strstarts(...)" becomes non-inline, and refers to the other string ops. The simplest workaround is to include asm/string.h. This makes sense anyway, since lib/string.c won't be linked against this so we can't use those functions anyway. Compile tested here. Signed-off-by: Rusty Russell Acked-by: Russell King commit e91defa26c527ceeaff6266c55cdc7e17c9081a2 Author: Rusty Russell Date: Tue Mar 31 13:05:35 2009 -0600 module: don't use stop_machine on module load Kay Sievers discovered that boot times are slowed by about half a second because all the stop_machine_create() calls, and he only probes about 40 modules (I have 125 loaded on this laptop). We only do stop_machine_create() so we can unlink the module if something goes wrong, but it's overkill (and buggy anyway: if stop_machine_create() fails we still call stop_machine_destroy()). Since we are only protecting against kallsyms (esp. oops) walking the list, synchronize_sched() is sufficient (synchronize_rcu() is probably sufficient, but we're not in a hurry). Kay says of this patch: ... no module takes more than 40 millisecs to link now, most of them are between 3 and 8 millisecs. That looks very different to the numbers without this patch and the otherwise same setup, where we get heavy noise in the traces and many delays of up to 200 millisecs until linking, most of them taking 30+ millisecs. Tested-by: Kay Sievers Signed-off-by: Rusty Russell commit acae05156551fd7528fbb616271e672789388e3c Author: Arjan van de Ven Date: Sun Feb 8 10:42:01 2009 -0800 module: create a request_module_nowait() There seems to be a common pattern in the kernel where drivers want to call request_module() from inside a module_init() function. Currently this would deadlock. As a result, several drivers go through hoops like scheduling things via kevent, or creating custom work queues (because kevent can deadlock on them). This patch changes this to use a request_module_nowait() function macro instead, which just fires the modprobe off but doesn't wait for it, and thus avoids the original deadlock entirely. On my laptop this already results in one less kernel thread running.. (Includes Jiri's patch to use enum umh_wait) Signed-off-by: Arjan van de Ven Signed-off-by: Rusty Russell (bool-ified) Cc: Jiri Slaby commit 8c8ef42aee8fcfb4128bb94c50d55c9f80ade525 Author: Rusty Russell Date: Tue Mar 31 13:05:34 2009 -0600 module: include other structures in module version check With CONFIG_MODVERSIONS, we version 'struct module' using a dummy export, but other things matter too: 1) 'struct modversion_info' determines the layout of the __versions section, 2) 'struct kernel_param' determines the layout of the __params section, 3) 'struct kernel_symbol' determines __ksymtab*. 4) 'struct marker' determines __markers. 5) 'struct tracepoint' determines __tracepoints. So we rename 'struct_module' to 'module_layout' and include these in the signature. Now it's general we can add others later on without confusion. Signed-off-by: Rusty Russell commit 9cb610d8e35fe3ec95a2fe2030b02f85aeea83c1 Author: Rusty Russell Date: Tue Mar 31 13:05:33 2009 -0600 module: remove the SHF_ALLOC flag on the __versions section. Impact: reduce kernel memory usage This patch just takes off the SHF_ALLOC flag on __versions so we don't keep them around after module load. This saves about 7% of module memory if CONFIG_MODVERSIONS=y. Cc: Shawn Bohrer Signed-off-by: Rusty Russell commit c6e665c8f0c18ab3686117905765b5139efd6ebd Author: Rusty Russell Date: Tue Mar 31 13:05:33 2009 -0600 module: clarify the force-loading taint message. Impact: Message cleanup Two of three callers of try_to_force_load() are not because of a missing version, so change the messages: Old: : no version for "magic" found: kernel tainted. New: : bad vermagic: kernel tainted. Old: : no version for "nocrc" found: kernel tainted. New: : no versions for exported symbols: kernel tainted. Old: : no version for "" found: kernel tainted. New: : : kernel tainted. Signed-off-by: Rusty Russell commit c6b37801911d7f4663c99cad8aa230bc934cea82 Author: Tim Abbott Date: Fri Dec 5 19:03:59 2008 -0500 module: Export symbols needed for Ksplice Impact: Expose some module.c symbols Ksplice uses several functions from module.c in order to resolve symbols and implement dependency handling. Calling these functions requires holding module_mutex, so it is exported. (This is just the module part of a bigger add-exports patch from Tim). Cc: Anders Kaseorg Cc: Jeff Arnold Signed-off-by: Tim Abbott Signed-off-by: Rusty Russell commit 75a66614db21007bcc8c37f9c5d5b922981387b9 Author: Anders Kaseorg Date: Fri Dec 5 19:03:58 2008 -0500 Ksplice: Add functions for walking kallsyms symbols Impact: New API kallsyms_lookup_name only returns the first match that it finds. Ksplice needs information about all symbols with a given name in order to correctly resolve local symbols. kallsyms_on_each_symbol provides a generic mechanism for iterating over the kallsyms table. Cc: Jeff Arnold Cc: Tim Abbott Signed-off-by: Anders Kaseorg Signed-off-by: Rusty Russell commit a6e6abd575fcbe6572ebc7a70ad616406d206fa8 Author: Rusty Russell Date: Tue Mar 31 13:05:31 2009 -0600 module: remove module_text_address() Impact: Replace and remove risky (non-EXPORTed) API module_text_address() returns a pointer to the module, which given locking improvements in module.c, is useless except to test for NULL: 1) If the module can't go away, use __module_text_address. 2) Otherwise, just use is_module_text_address(). Cc: linux-mtd@lists.infradead.org Signed-off-by: Rusty Russell commit e610499e2656e61975affd0af56b26eb73964c84 Author: Rusty Russell Date: Tue Mar 31 13:05:31 2009 -0600 module: __module_address Impact: New API, cleanup ksplice wants to know the bounds of a module, not just the module text. It makes sense to have __module_address. We then implement is_module_address and __module_text_address in terms of this (and change is_module_text_address() to bool while we're at it). Also, add proper kerneldoc for them all. Cc: Anders Kaseorg Cc: Jeff Arnold Cc: Tim Abbott Signed-off-by: Rusty Russell commit 414fd31b2553aaf160ca9b9afe45aa0372b01b92 Author: Tim Abbott Date: Fri Dec 5 19:03:56 2008 -0500 module: Make find_symbol return a struct kernel_symbol Impact: Cleanup, internal API change Ksplice needs access to the kernel_symbol structure in order to support modifications to the exported symbol table. Cc: Anders Kaseorg Cc: Jeff Arnold Signed-off-by: Tim Abbott Signed-off-by: Rusty Russell (bugfix and style) commit b10153fe31dde3805f8320b61ef147cebe379aee Author: Américo Wang Date: Wed Mar 25 00:07:19 2009 +0800 kernel/module.c: fix an unused goto label Impact: cleanup Label 'free_init' is only used when defined(CONFIG_MODULE_UNLOAD) && defined(CONFIG_SMP), so move it inside to shut up gcc. Signed-off-by: WANG Cong Cc: Rusty Russell Signed-off-by: Rusty Russell commit e180a6b7759a99a28cbcce3547c4c80822cb6c2a Author: Rusty Russell Date: Tue Mar 31 13:05:29 2009 -0600 param: fix charp parameters set via sysfs Impact: fix crash on reading from /sys/module/.../ieee80211_default_rc_algo The module_param type "charp" simply sets a char * pointer in the module to the parameter in the commandline string: this is why we keep the (mangled) module command line around. But when set via sysfs (as about 11 charp parameters can be) this memory is freed on the way out of the write(). Future reads hit random mem. So we kstrdup instead: we have to check we're not in early commandline parsing, and we have to note when we've used it so we can reliably kfree the parameter when it's next overwritten, and also on module unload. (Thanks to Randy Dunlap for CONFIG_SYSFS=n fixes) Reported-by: Sitsofe Wheeler Diagnosed-by: Frederic Weisbecker Tested-by: Frederic Weisbecker Tested-by: Christof Schmitt Signed-off-by: Rusty Russell commit 15f7176eb1cccec0a332541285ee752b935c1c85 Merge: d3d52d6... 321dee6... Author: Linus Torvalds Date: Mon Mar 30 18:46:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: wireless: remove duplicated .ndo_set_mac_address netfilter: xtables: fix IPv6 dependency in the cluster match tg3: Add GRO support. niu: Add GRO support. ucc_geth: Fix use-after-of_node_put() in ucc_geth_probe(). gianfar: Fix use-after-of_node_put() in gfar_of_init(). kernel: remove HIPQUAD() netpoll: store local and remote ip in net-endian netfilter: fix endian bug in conntrack printks dmascc: fix incomplete conversion to network_device_ops gso: Fix support for linear packets skbuff.h: fix missing kernel-doc ni5010: convert to net_device_ops commit d3d52d687a770973b459d8a92ec1adbba3f60c4b Merge: d17abcd... ed22312... Author: Linus Torvalds Date: Mon Mar 30 18:46:12 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix reset hangs on Niagara systems. cpumask: use mm_cpumask() wrapper: sparc cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL.: sparc cpumask: remove the now-obsoleted pcibus_to_cpumask(): sparc cpumask: remove cpu_coregroup_map: sparc cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc64 cpumask: Use accessors code.: sparc64 cpumask: Use accessors code: sparc cpumask: arch_send_call_function_ipi_mask: sparc cpumask: Use smp_call_function_many(): sparc64 commit d17abcd5417d84cfa8a225160481203a37dc81d4 Merge: db6f204... bb75efd... Author: Linus Torvalds Date: Mon Mar 30 18:00:26 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: oprofile: Thou shalt not call __exit functions from __init functions cpumask: remove the now-obsoleted pcibus_to_cpumask(): generic cpumask: remove cpumask_t from core cpumask: convert rcutorture.c cpumask: use new cpumask_ functions in core code. cpumask: remove references to struct irqaction's mask field. cpumask: use mm_cpumask() wrapper: kernel/fork.c cpumask: use set_cpu_active in init/main.c cpumask: remove node_to_first_cpu cpumask: fix seq_bitmap_*() functions. cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL commit db6f204019380c788f1de06ee937bdbccd60e5c0 Merge: 3c6fae6... d1881d3... Author: Linus Torvalds Date: Mon Mar 30 17:57:39 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio: lguest: barrier me harder lguest: use bool instead of int lguest: use KVM hypercalls lguest: wire up pte_update/pte_update_defer lguest: fix spurious BUG_ON() on invalid guest stack. virtio: more neatening of virtio_ring macros. virtio: fix BAD_RING, START_US and END_USE macros commit 3c6fae67d026d57f64eb3da9c0d0e76983e39ae3 Merge: c4e1aa6... de15f09... Author: Linus Torvalds Date: Mon Mar 30 17:54:32 2009 -0700 Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: hwmon: (fschmd) Add support for the FSC Hades IC hwmon: (fschmd) Add support for the FSC Syleus IC i2c-i801: Instantiate FSC hardware montioring chips dmi: Let dmi_walk() users pass private data hwmon: Define a standard interface for chassis intrusion detection Move the pcf8591 driver to hwmon hwmon: (w83627ehf) Only expose in6 or temp3 on the W83667HG hwmon: (w83627ehf) Add support for W83667HG hwmon: (w83627ehf) Invert fan pin variables logic hwmon: (hdaps) Fix Thinkpad X41 axis inversion hwmon: (hdaps) Allow inversion of separate axis hwmon: (ds1621) Clean up documentation hwmon: (ds1621) Avoid unneeded register access hwmon: (ds1621) Clean up register access hwmon: (ds1621) Reorder code statements commit c4e1aa67ed9e4e542a064bc271ddbf152b677e91 Merge: cf2f7d7... 2f85018... Author: Linus Torvalds Date: Mon Mar 30 17:17:35 2009 -0700 Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (33 commits) lockdep: fix deadlock in lockdep_trace_alloc lockdep: annotate reclaim context (__GFP_NOFS), fix SLOB lockdep: annotate reclaim context (__GFP_NOFS), fix lockdep: build fix for !PROVE_LOCKING lockstat: warn about disabled lock debugging lockdep: use stringify.h lockdep: simplify check_prev_add_irq() lockdep: get_user_chars() redo lockdep: simplify get_user_chars() lockdep: add comments to mark_lock_irq() lockdep: remove macro usage from mark_held_locks() lockdep: fully reduce mark_lock_irq() lockdep: merge the !_READ mark_lock_irq() helpers lockdep: merge the _READ mark_lock_irq() helpers lockdep: simplify mark_lock_irq() helpers #3 lockdep: further simplify mark_lock_irq() helpers lockdep: simplify the mark_lock_irq() helpers lockdep: split up mark_lock_irq() lockdep: generate usage strings lockdep: generate the state bit definitions ... commit 0bd4781d40ffc3bff939a2540041144b99c373b8 Author: Paul Mundt Date: Tue Mar 31 08:25:54 2009 +0900 sh: Fix up -Wformat-security whining. Triggers -Werror on gcc-4.3: arch/sh/kernel/setup.c: In function 'early_parse_mem': arch/sh/kernel/setup.c:111: error: format not a string literal and no format arguments ... Signed-off-by: Paul Mundt commit 47131258765e3561475822a7838b7ed90e2f6990 Author: Kuninori Morimoto Date: Thu Jan 22 00:38:31 2009 +0000 sh: ap325rxa: Add ov772x support, again. Now that the V4L bits have finally settled.. This patch adds support for a secondary ov772x camera on ap325rxa. This is supported in addition to the regular soc_camera_platform camera. Signed-off-by: Kuninori Morimoto Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit cf2f7d7c90279cdbc12429de278f3d27ac2050ae Merge: 53d8f67... a9caa3d... Author: Linus Torvalds Date: Mon Mar 30 16:06:04 2009 -0700 Merge branch 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc * 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: Revert "proc: revert /proc/uptime to ->read_proc hook" proc 2/2: remove struct proc_dir_entry::owner proc 1/2: do PDE usecounting even for ->read_proc, ->write_proc proc: fix sparse warnings in pagemap_read() proc: move fs/proc/inode-alloc.txt comment into a source file commit 3b4df71b364e230fb7b02356d1f8fce64838ddc7 Author: Francesco VIRLINZI Date: Tue Mar 24 13:30:01 2009 +0000 sh: Sanitize asm/mmu.h for assembly use. This patch adds the ifndef __ASSEMBLY__ preprocessor to allow the defines in the file to be used also in assembly code. Signed-off-by: Francesco Virlinzi Signed-off-by: Paul Mundt commit 1c58b0b1a1412ceb6b25dad81bc537bf0fe6ad46 Author: Kuninori Morimoto Date: Thu Mar 26 00:39:49 2009 +0000 sh: Tidy up sh7786 pinmux table. Formatting and typo fix. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit f36b59d1a4fa1e29be606d0513b5f7fa6e720f79 Author: Nobuhiro Iwamatsu Date: Thu Mar 26 08:32:37 2009 +0000 sh: Add MMU dependency for kexec Kexec is not likely to work on NON-MMU CPU because this added depend on MMU for kexec. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 71c1d19e451c2823677a43182e482f66a23ed10a Author: Kuninori Morimoto Date: Thu Mar 26 00:24:01 2009 +0000 sh: urquell: enable LAN device Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 0824806b2a2948adedf053103a19a7a5e1560342 Author: Kuninori Morimoto Date: Wed Mar 25 08:54:23 2009 +0000 sh: Remove buggy definition from SH7786 pinmux_data[] Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 548c316137901cc81dea35e26362a9d5ba0b89b6 Author: Ingo Molnar Date: Tue Mar 31 00:25:23 2009 +0200 tracing, Text Edit Lock: cleanup Remove incorrectly introduced headers. Signed-off-by: Ingo Molnar commit 53d8f67082c9b86699dd88b7f9e667e245193f21 Merge: 93c36ed... 8efb8c7... Author: Linus Torvalds Date: Mon Mar 30 15:12:14 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PCI PM: Make pci_prepare_to_sleep() disable wake-up if needed radeonfb: Use __pci_complete_power_transition() PCI PM: Introduce __pci_[start|complete]_power_transition() (rev. 2) PCI PM: Restore config spaces of all devices during early resume PCI PM: Make pci_set_power_state() handle devices with no PM support PCI PM: Put devices into low power states during late suspend (rev. 2) PCI PM: Move pci_restore_standard_config to pci-driver.c PCI PM: Use pci_set_power_state during early resume PCI PM: Consistently use variable name "error" for pm call return values kexec: Change kexec jump code ordering PM: Change hibernation code ordering PM: Change suspend code ordering PM: Rework handling of interrupts during suspend-resume PM: Introduce functions for suspending and resuming device interrupts commit f69b17d7e745d8edd7c0d90390cbaa77e63c5ea3 Author: Lai Jiangshan Date: Fri Mar 20 17:40:06 2009 +0800 rcu: rcu_barrier VS cpu_hotplug: Ensure callbacks in dead cpu are migrated to online cpu cpu hotplug may happen asynchronously, some rcu callbacks are maybe still on dead cpu, rcu_barrier() also needs to wait for these rcu callbacks to complete, so we must ensure callbacks in dead cpu are migrated to online cpu. Paul E. McKenney's review: Good stuff, Lai!!! Simpler than any of the approaches that I was considering, and, better yet, independent of the underlying RCU implementation!!! I was initially worried that wake_up() might wake only one of two possible wait_event()s, namely rcu_barrier() and the CPU_POST_DEAD code, but the fact that wait_event() clears WQ_FLAG_EXCLUSIVE avoids that issue. I was also worried about the fact that different RCU implementations have different mappings of call_rcu(), call_rcu_bh(), and call_rcu_sched(), but this is OK as well because we just get an extra (harmless) callback in the case that they map together (for example, Classic RCU has call_rcu_sched() mapping to call_rcu()). Overlap of CPU-hotplug operations is prevented by cpu_add_remove_lock, and any stray callbacks that arrive (for example, from irq handlers running on the dying CPU) either are ahead of the CPU_DYING callbacks on the one hand (and thus accounted for), or happened after the rcu_barrier() started on the other (and thus don't need to be accounted for). Signed-off-by: Lai Jiangshan Reviewed-by: Paul E. McKenney Cc: Peter Zijlstra LKML-Reference: <49C36476.1010400@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 65fb0d23fcddd8697c871047b700c78817bdaa43 Merge: 8c083f0... dfbbe89... Author: Ingo Molnar Date: Mon Mar 30 23:53:32 2009 +0200 Merge branch 'linus' into cpumask-for-linus Conflicts: arch/x86/kernel/cpu/common.c commit 93c36ed8348934b462044d2d60ab345055318933 Author: Randy Dunlap Date: Mon Mar 30 14:08:44 2009 -0700 dma-debug: fix printk formats (i386) Fix printk format warnings in dma-debug: lib/dma-debug.c:645: warning: format '%016llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t' lib/dma-debug.c:662: warning: format '%016llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t' lib/dma-debug.c:676: warning: format '%016llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t' lib/dma-debug.c:686: warning: format '%016llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 3a355cc61d41bc31cc23a57247df63dba80a6018 Author: Jeff Mahoney Date: Mon Mar 30 16:49:58 2009 -0400 reiserfs: xattr_create is unused with xattrs disabled This patch ifdefs xattr_create when xattrs aren't enabled. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 77e465867080c2d1e0c410e96dcdcd51e8584a6f Author: Alexander Beregalov Date: Tue Mar 31 00:32:40 2009 +0400 reiserfs: fix build breakage Fix this build error when REISERFS_FS_POSIX_ACL is not set: fs/reiserfs/inode.c: In function 'reiserfs_new_inode': fs/reiserfs/inode.c:1919: warning: passing argument 1 of 'reiserfs_inherit_default_acl' from incompatible pointer type fs/reiserfs/inode.c:1919: warning: passing argument 2 of 'reiserfs_inherit_default_acl' from incompatible pointer type fs/reiserfs/inode.c:1919: warning: passing argument 3 of 'reiserfs_inherit_default_acl' from incompatible pointer type fs/reiserfs/inode.c:1919: error: too many arguments to function 'reiserfs_inherit_default_acl' due to a missing transaction-handle argument in the non-acl compatibility function. Signed-off-by: Alexander Beregalov Acked-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 2f8501815256af8498904e68bd0984b1afffd6f8 Author: Peter Zijlstra Date: Fri Mar 20 11:13:20 2009 +0100 lockdep: fix deadlock in lockdep_trace_alloc Heiko reported that we grab the graph lock with irqs enabled. Fix this by providng the same wrapper as all other lockdep entry functions have. Reported-by: Heiko Carstens Signed-off-by: Peter Zijlstra Cc: Nick Piggin LKML-Reference: <1237544000.24626.52.camel@twins> Signed-off-by: Ingo Molnar commit a9caa3de249a6c43bc9c6aec87881f09276677e3 Author: Alexey Dobriyan Date: Fri Feb 20 17:07:22 2009 +0300 Revert "proc: revert /proc/uptime to ->read_proc hook" This reverts commit 6c87df37dcb9c6c33923707fa5191e0a65874d60. proc files implemented through seq_file do pread(2) now. Signed-off-by: Alexey Dobriyan commit 99b76233803beab302123d243eea9e41149804f3 Author: Alexey Dobriyan Date: Wed Mar 25 22:48:06 2009 +0300 proc 2/2: remove struct proc_dir_entry::owner Setting ->owner as done currently (pde->owner = THIS_MODULE) is racy as correctly noted at bug #12454. Someone can lookup entry with NULL ->owner, thus not pinning enything, and release it later resulting in module refcount underflow. We can keep ->owner and supply it at registration time like ->proc_fops and ->data. But this leaves ->owner as easy-manipulative field (just one C assignment) and somebody will forget to unpin previous/pin current module when switching ->owner. ->proc_fops is declared as "const" which should give some thoughts. ->read_proc/->write_proc were just fixed to not require ->owner for protection. rmmod'ed directories will be empty and return "." and ".." -- no harm. And directories with tricky enough readdir and lookup shouldn't be modular. We definitely don't want such modular code. Removing ->owner will also make PDE smaller. So, let's nuke it. Kudos to Jeff Layton for reminding about this, let's say, oversight. http://bugzilla.kernel.org/show_bug.cgi?id=12454 Signed-off-by: Alexey Dobriyan commit 3dec7f59c370c7b58184d63293c3dc984d475840 Author: Alexey Dobriyan Date: Fri Feb 20 17:04:33 2009 +0300 proc 1/2: do PDE usecounting even for ->read_proc, ->write_proc struct proc_dir_entry::owner is going to be removed. Now it's only necessary to protect PDEs which are using ->read_proc, ->write_proc hooks. However, ->owner assignments are racy and make it very easy for someone to switch ->owner on live PDE (as some subsystems do) without fixing refcounts and so on. http://bugzilla.kernel.org/show_bug.cgi?id=12454 So, ->owner is on death row. Proxy file operations exist already (proc_file_operations), just bump usecount when necessary. Signed-off-by: Alexey Dobriyan commit 09729a9919fdaf137995b0f19cbd401e22229cac Author: Milind Arun Choudhary Date: Fri Feb 20 16:56:45 2009 +0300 proc: fix sparse warnings in pagemap_read() fs/proc/task_mmu.c:696:12: warning: cast removes address space of expression fs/proc/task_mmu.c:696:9: warning: incorrect type in assignment (different address spaces) fs/proc/task_mmu.c:696:9: expected unsigned long long [noderef] [usertype] *out fs/proc/task_mmu.c:696:9: got unsigned long long [usertype] * fs/proc/task_mmu.c:697:12: warning: cast removes address space of expression fs/proc/task_mmu.c:697:9: warning: incorrect type in assignment (different address spaces) fs/proc/task_mmu.c:697:9: expected unsigned long long [noderef] [usertype] *end fs/proc/task_mmu.c:697:9: got unsigned long long [usertype] * fs/proc/task_mmu.c:723:12: warning: cast removes address space of expression fs/proc/task_mmu.c:723:26: error: subtraction of different types can't work (different address spaces) fs/proc/task_mmu.c:725:24: error: subtraction of different types can't work (different address spaces) Signed-off-by: Milind Arun Choudhary Signed-off-by: Andrew Morton Signed-off-by: Alexey Dobriyan commit 1681bc30f272dd2fe347b90468791b05c7044f03 Author: Randy Dunlap Date: Tue Jan 13 13:53:48 2009 +0300 proc: move fs/proc/inode-alloc.txt comment into a source file so that people will realize that it exists and can update it as needed. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Alexey Dobriyan commit 20766016329eb4985c2c8b2a1b2333e0f865fdf9 Author: Benny Halevy Date: Sat Mar 28 11:32:05 2009 +0300 nfsd: remove nfsd4_ops array size There's no need for it. Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 19cefdffbfe0f7e280f21e80875937e8700e99e2 Author: Ingo Molnar Date: Sun Mar 15 06:03:11 2009 +0100 lockdep: annotate reclaim context (__GFP_NOFS), fix SLOB Impact: build fix fix typo in mm/slob.c: mm/slob.c:469: error: ‘flags’ undeclared (first use in this function) mm/slob.c:469: error: (Each undeclared identifier is reported only once mm/slob.c:469: error: for each function it appears in.) Cc: Nick Piggin Cc: Peter Zijlstra LKML-Reference: <20090128135457.350751756@chello.nl> Signed-off-by: Ingo Molnar commit dfbbe89e197a77f2c8046a51c74e33e35f878080 Merge: 712b000... f23c20c... Author: Linus Torvalds Date: Mon Mar 30 13:54:50 2009 -0700 Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (53 commits) drm: detect hdmi monitor by hdmi identifier (v3) drm: drm_fops.c unlock missing on error path drm: reorder struct drm_ioctl_desc to save space on 64 bit builds radeon: add some new pci ids drm: read EDID extensions from monitor drm: Use a little stash on the stack to avoid kmalloc in most DRM ioctls. drm/radeon: add regs required for occlusion queries support drm/i915: check the return value from the copy from user drm/radeon: fix logic in r600_page_table_init() to match ati_gart drm/radeon: r600 ptes are 64-bit, cleanup cleanup function. drm/radeon: don't call irq changes on r600 suspend/resume drm/radeon: fix r600 writeback across suspend/resume drm/radeon: fix r600 writeback setup. drm: fix warnings about new mappings in info code. drm/radeon: NULL noise: drivers/gpu/drm/radeon/radeon_*.c drm/radeon: fix r600 pci mapping calls. drm/radeon: r6xx/r7xx: fix possible oops in r600_page_table_cleanup() radeon: call the correct idle function, logic got inverted. drm/radeon: RS600: fix interrupt handling drm/r600: fix rptr address along lines of previous fixes to radeon. ... commit 712b0006bf3a9ed0b14a56c3291975e582127766 Merge: e1c5024... b0d44c0... Author: Linus Torvalds Date: Mon Mar 30 13:41:00 2009 -0700 Merge branch 'iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits) dma-debug: make memory range checks more consistent dma-debug: warn of unmapping an invalid dma address dma-debug: fix dma_debug_add_bus() definition for !CONFIG_DMA_API_DEBUG dma-debug/x86: register pci bus for dma-debug leak detection dma-debug: add a check dma memory leaks dma-debug: add checks for kernel text and rodata dma-debug: print stacktrace of mapping path on unmap error dma-debug: Documentation update dma-debug: x86 architecture bindings dma-debug: add function to dump dma mappings dma-debug: add checks for sync_single_sg_* dma-debug: add checks for sync_single_range_* dma-debug: add checks for sync_single_* dma-debug: add checking for [alloc|free]_coherent dma-debug: add add checking for map/unmap_sg dma-debug: add checking for map/unmap_page/single dma-debug: add core checking functions dma-debug: add debugfs interface dma-debug: add kernel command line parameters dma-debug: add initialization code ... Fix trivial conflicts due to whitespace changes in arch/x86/kernel/pci-nommu.c commit 8efb8c76fcdccf5050c0ea059dac392789baaff2 Author: Rafael J. Wysocki Date: Mon Mar 30 21:46:27 2009 +0200 PCI PM: Make pci_prepare_to_sleep() disable wake-up if needed If the device is not supposed to wake up the system, ie. when device_may_wakeup(&dev->dev) returns 'false', pci_prepare_to_sleep() should pass 'false' to pci_enable_wake() so that it calls the platform to disable the wake-up capability of the device. Signed-off-by: Rafael J. Wysocki Acked-by: Jesse Barnes commit b8e676d2432b8ce96967a3fe6601a0a28e64fa10 Author: Rafael J. Wysocki Date: Thu Mar 26 22:52:08 2009 +0100 radeonfb: Use __pci_complete_power_transition() Use __pci_complete_power_transition() to finalize the transition into D2 after programming the PMCSR of the device directly. Signed-off-by: Rafael J. Wysocki Acked-by: Jesse Barnes commit 0e5dd46b761195356065a30611f265adec286d0d Author: Rafael J. Wysocki Date: Thu Mar 26 22:51:40 2009 +0100 PCI PM: Introduce __pci_[start|complete]_power_transition() (rev. 2) The radeonfb driver needs to program the device's PMCSR directly due to some quirky hardware it has to handle (see http://bugzilla.kernel.org/show_bug.cgi?id=12846 for details) and after doing that it needs to call the platform (usually ACPI) to finish the power transition of the device. Currently it uses pci_set_power_state() for this purpose, however making a specific assumption about the internal behavior of this function, which has changed recently so that this assumption is no longer satisfied. For this reason, introduce __pci_complete_power_transition() that may be called by the radeonfb driver to complete the power transition of the device. For symmetry, introduce __pci_start_power_transition(). Signed-off-by: Rafael J. Wysocki Acked-by: Jesse Barnes commit 931ff68a5a53fa84bcdf9b1b179a80e54e034bd0 Author: Rafael J. Wysocki Date: Mon Mar 16 22:40:50 2009 +0100 PCI PM: Restore config spaces of all devices during early resume At present the configuration spaces of PCI devices that have no drivers or no PM support in the drivers (either legacy or through a pm object) are not saved during suspend and, consequently, they are not restored during resume. This generally may lead to the state of the system being slightly inconsistent after the resume, so it's better to save and restore the configuration spaces of these devices as well. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar Acked-by: Jesse Barnes commit 4a865905f685eaefaedf6ade362323dc52aa703b Author: Rafael J. Wysocki Date: Mon Mar 16 22:40:36 2009 +0100 PCI PM: Make pci_set_power_state() handle devices with no PM support There is a problem with PCI devices without any PM support (either native or through the platform) that pci_set_power_state() always returns error code for them, even if they are being put into D0. However, such devices are always in D0, so pci_set_power_state() should return success when attempting to put such a device into D0. It also should update the current_state field for these devices as appropriate. This modification is necessary so that the standard configuration registers of these devices are successfully restored by pci_restore_standard_config() during the "early" phase of resume. In addition, pci_set_power_state() should check the value of current_state before calling the platform to change the power state of the device to avoid doing that unnecessarily. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar Acked-by: Jesse Barnes commit 46939f8b15e44f065d052e89ea4f2adc81fdc740 Author: Rafael J. Wysocki Date: Mon Mar 16 22:40:26 2009 +0100 PCI PM: Put devices into low power states during late suspend (rev. 2) Once we have allowed timer interrupts to be enabled during the late phase of suspending devices, we are now able to use the generic pci_set_power_state() to put PCI devices into low power states at that time. We can also use some related platform callbacks, like the ones preparing devices for wake-up, during the late suspend. Doing this will allow us to avoid the race condition where a device using shared interrupts is put into a low power state with interrupts enabled and then an interrupt (for another device) comes in and confuses its driver. At the same time, devices that don't support the native PCI PM or that require some additional, platform-specific operations to be carried out to put them into low power states will be handled as appropriate. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar Acked-by: Jesse Barnes commit 0128a89cf75124500b5b69f0c3c7b7c5aa60676f Author: Rafael J. Wysocki Date: Mon Mar 16 22:40:18 2009 +0100 PCI PM: Move pci_restore_standard_config to pci-driver.c Move pci_restore_standard_config() from pci.c to pci-driver.c and make it static. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar Acked-by: Jesse Barnes commit f00a20ef46b1795c495869163a9a7333f899713a Author: Rafael J. Wysocki Date: Mon Mar 16 22:40:08 2009 +0100 PCI PM: Use pci_set_power_state during early resume Once we have allowed timer interrupts to be enabled during the early phase of resuming devices, we are now able to use the generic pci_set_power_state() to put PCI devices into D0 at that time. Then, the platform-specific PM code will have a chance to handle devices that don't implement the native PCI PM or that require some additional, platform-specific operations to be carried out to power them up. Also, by doing this we can simplify the code quite a bit. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar Acked-by: Jesse Barnes commit 57ef80266e14ecc363380268fedc64e519047b4a Author: Frans Pop Date: Mon Mar 16 22:39:56 2009 +0100 PCI PM: Consistently use variable name "error" for pm call return values I noticed two functions use a variable "i" to store the return value of PM function calls while the rest of the file uses "error". As "i" normally indicates a counter of some sort it seems better to keep this consistent. Signed-off-by: Frans Pop Signed-off-by: Jesse Barnes Signed-off-by: Rafael J. Wysocki commit 749b0afc3a9d90dda3319fd1464a3b32fc225361 Author: Rafael J. Wysocki Date: Mon Mar 16 22:34:35 2009 +0100 kexec: Change kexec jump code ordering Change the ordering of the kexec jump code so that the nonboot CPUs are disabled after calling device drivers' "late suspend" methods. This change reflects the recent modifications of the power management code that is also used by kexec jump. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar commit 4aecd6718939eb3c4145b248369b65f7483a8a02 Author: Rafael J. Wysocki Date: Mon Mar 16 22:34:26 2009 +0100 PM: Change hibernation code ordering Change the ordering of the hibernation core code so that the platform "prepare" callbacks are executed and the nonboot CPUs are disabled after calling device drivers' "late suspend" methods. This change (along with the previous analogous change of the suspend core code) will allow us to rework the PCI PM core so that the power state of devices is changed in the "late" phase of suspend (and analogously in the "early" phase of resume), which in turn will allow us to avoid the race condition where a device using shared interrupts is put into a low power state with interrupts enabled and then an interrupt (for another device) comes in and confuses its driver. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar commit 900af0d973856d6feb6fc088c2d0d3fde57707d3 Author: Rafael J. Wysocki Date: Mon Mar 16 22:34:15 2009 +0100 PM: Change suspend code ordering Change the ordering of the suspend core code so that the platform "prepare" callback is executed and the nonboot CPUs are disabled after calling device drivers' "late suspend" methods. This change will allow us to rework the PCI PM core so that the power state of devices is changed in the "late" phase of suspend (and analogously in the "early" phase of resume), which in turn will allow us to avoid the race condition where a device using shared interrupts is put into a low power state with interrupts enabled and then an interrupt (for another device) comes in and confuses its driver. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar commit 2ed8d2b3a81bdbb0418301628ccdb008ac9f40b7 Author: Rafael J. Wysocki Date: Mon Mar 16 22:34:06 2009 +0100 PM: Rework handling of interrupts during suspend-resume Use the functions introduced in by the previous patch, suspend_device_irqs(), resume_device_irqs() and check_wakeup_irqs(), to rework the handling of interrupts during suspend (hibernation) and resume. Namely, interrupts will only be disabled on the CPU right before suspending sysdevs, while device drivers will be prevented from receiving interrupts, with the help of the new helper function, before their "late" suspend callbacks run (and analogously during resume). In addition, since the device interrups are now disabled before the CPU has turned all interrupts off and the CPU will ACK the interrupts setting the IRQ_PENDING bit for them, check in sysdev_suspend() if any wake-up interrupts are pending and abort suspend if that's the case. Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar commit 0a0c5168df270a50e3518e4f12bddb31f8f5f38f Author: Rafael J. Wysocki Date: Mon Mar 16 22:33:49 2009 +0100 PM: Introduce functions for suspending and resuming device interrupts Introduce helper functions allowing us to prevent device drivers from getting any interrupts (without disabling interrupts on the CPU) during suspend (or hibernation) and to make them start to receive interrupts again during the subsequent resume. These functions make it possible to keep timer interrupts enabled while the "late" suspend and "early" resume callbacks provided by device drivers are being executed. In turn, this allows device drivers' "late" suspend and "early" resume callbacks to sleep, execute ACPI callbacks etc. The functions introduced here will be used to rework the handling of interrupts during suspend (hibernation) and resume. Namely, interrupts will only be disabled on the CPU right before suspending sysdevs, while device drivers will be prevented from receiving interrupts, with the help of the new helper function, before their "late" suspend callbacks run (and analogously during resume). Signed-off-by: Rafael J. Wysocki Acked-by: Ingo Molnar commit de15f093e666ccd542f6f7a0e3e917166a07ab44 Author: Hans de Goede Date: Mon Mar 30 21:46:45 2009 +0200 hwmon: (fschmd) Add support for the FSC Hades IC Add support for the Hades to the FSC hwmon driver. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit c69ab2b78efbe388bb0fc5d885b718ff4668cceb Author: Hans de Goede Date: Mon Mar 30 21:46:45 2009 +0200 hwmon: (fschmd) Add support for the FSC Syleus IC Many thanks to Fujitsu Siemens Computers for providing docs and a machine to test the driver on. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit fa5bfab7128e58c31448fca83a288a86e7d476cc Author: Hans de Goede Date: Mon Mar 30 21:46:44 2009 +0200 i2c-i801: Instantiate FSC hardware montioring chips Detect various FSC hwmon IC's based on DMI tables and then let the i2c-i801 driver instantiate the i2c client devices. Note that some of the info in the added table is indentical for all rows, still this is kept in the table to keep the code general and thus (hopefully) easily extensible in the future. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit e7a19c5624c66afa8118b10cd59f87ee407646bc Author: Jean Delvare Date: Mon Mar 30 21:46:44 2009 +0200 dmi: Let dmi_walk() users pass private data At the moment, dmi_walk() lacks flexibility, users can't pass data to the callback function. Add a pointer for private data to make this function more flexible. Signed-off-by: Jean Delvare Cc: Hans de Goede Cc: Matthew Garrett Cc: Roland Dreier commit ec19920944246b4686c7772a58507a20c361dc9d Author: Jean Delvare Date: Mon Mar 30 21:46:44 2009 +0200 hwmon: Define a standard interface for chassis intrusion detection Define a standard interface for the chassis intrusion detection feature some hardware monitoring chips have. Some drivers have custom sysfs entries for it, but a standard interface would allow integration with user-space (namely libsensors.) Signed-off-by: Jean Delvare Acked-by: Hans de Goede Acked-by: Matt Roberds commit fb4504fe84b09cbf49fda19e6630a1003d79656a Author: Jean Delvare Date: Mon Mar 30 21:46:43 2009 +0200 Move the pcf8591 driver to hwmon Directory drivers/i2c/chips is going away, so drivers there must find new homes. For the pcf8591 driver, the best choice seems to be the hwmon subsystem. While the Philips PCF8591 device isn't a typical hardware monitoring chip, its DAC interface is compatible with the hwmon one, so it fits somewhat. If a better subsystem is ever created for ADC/DAC chips, the driver could be moved there. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit a157d06d4d70318a0818552095071d7430dd5d34 Author: Gong Jun Date: Mon Mar 30 21:46:43 2009 +0200 hwmon: (w83627ehf) Only expose in6 or temp3 on the W83667HG The pin for in6 and temp3 is shared on the W83667HG, so only one of these features can be supported on any given system. Let the driver select which one depending on the temp3 disabled bit. Signed-off-by: Gong Jun Signed-off-by: Jean Delvare commit 237c8d2f54ff12bd4fea1a9d18a94ae5810271d3 Author: Gong Jun Date: Mon Mar 30 21:46:42 2009 +0200 hwmon: (w83627ehf) Add support for W83667HG Add initial support for the Nuvoton W83667HG chip to the w83627ehf driver. It has been tested on ASUS P5QL PRO by Gong Jun. At the moment there is still a usability issue which is that only in6 or temp3 can be present on the W83667HG, so the driver shouldn't expose both. This will be addressed later. Signed-off-by: Gong Jun Acked-by: David Hubbard Signed-off-by: Jean Delvare commit 1704b26ee3fd89c76724cbea238e951dc019faca Author: Jean Delvare Date: Mon Mar 30 21:46:42 2009 +0200 hwmon: (w83627ehf) Invert fan pin variables logic Use positive logic for fan pin variables (variable is set if pin is used for fan), instead of negative logic which is error prone. Signed-off-by: Jean Delvare Cc: Gong Jun commit b6a33fe2cc1b44851174967943fe5989f7e0550f Author: Frank Seidel Date: Mon Mar 30 21:46:42 2009 +0200 hwmon: (hdaps) Fix Thinkpad X41 axis inversion Fix for kernel.org bug #7154: hdaps inversion of actual Thinkpad X41's Y-axis. Signed-off-by: Frank Seidel Signed-off-by: Jean Delvare commit 2b8cf3e8c0638687a7a28a7517e673f855623e3b Author: Frank Seidel Date: Mon Mar 30 21:46:41 2009 +0200 hwmon: (hdaps) Allow inversion of separate axis Fix for kernel.org bug #7154: hdaps inversion of each axis. This version is based on the work from Michael Ruoss . Signed-off-by: Frank Seidel Signed-off-by: Jean Delvare commit 25f3311acc3405dd0dace3571a41f450e6cc6a65 Author: Jean Delvare Date: Mon Mar 30 21:46:41 2009 +0200 hwmon: (ds1621) Clean up documentation * The alarms sysfs file is deprecated, and individual alarm files are self-explanatory. * The driver doesn't implement high-reslution temperature readings so don't document that. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit e4879e28abd67b894fb9d2db0afd08f1945670ba Author: Jean Delvare Date: Mon Mar 30 21:46:40 2009 +0200 hwmon: (ds1621) Avoid unneeded register access Register access over SMBus isn't cheap, so avoid register access where possible: * Only write back the configuration register if it changed. * Don't refresh the register cache when we don't have to. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit 594592dc6f68356a3b7278eb4d260a50a66f0a06 Author: Jean Delvare Date: Mon Mar 30 21:46:40 2009 +0200 hwmon: (ds1621) Clean up register access Fix a few oddities in how the ds1621 driver accesses the registers: * We don't need a wrapper to access the configuration register. * Check for error before calling swab16. Error checking isn't complete yet, but that's a start. * Device-specific read functions should never be called during detection, as by definition we don't know what device we are talking to at that point. * Likewise, don't assume that register reads succeed during detection. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit 9202add67454c6a6f9508f41e733edce705dc56e Author: Jean Delvare Date: Mon Mar 30 21:46:40 2009 +0200 hwmon: (ds1621) Reorder code statements Reorder the ds1621 driver code so that we can get rid of forward function declarations. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit e1c502482853f84606928f5a2f2eb6da1993cda1 Merge: 019abbc... ee93961... Author: Linus Torvalds Date: Mon Mar 30 12:29:21 2009 -0700 Merge branch 'reiserfs-updates' from Jeff Mahoney * reiserfs-updates: (35 commits) reiserfs: rename [cn]_* variables reiserfs: rename p_._ variables reiserfs: rename p_s_tb to tb reiserfs: rename p_s_inode to inode reiserfs: rename p_s_bh to bh reiserfs: rename p_s_sb to sb reiserfs: strip trailing whitespace reiserfs: cleanup path functions reiserfs: factor out buffer_info initialization reiserfs: add atomic addition of selinux attributes during inode creation reiserfs: use generic readdir for operations across all xattrs reiserfs: journaled xattrs reiserfs: use generic xattr handlers reiserfs: remove i_has_xattr_dir reiserfs: make per-inode xattr locking more fine grained reiserfs: eliminate per-super xattr lock reiserfs: simplify xattr internal file lookups/opens reiserfs: Clean up xattrs when REISERFS_FS_XATTR is unset reiserfs: remove IS_PRIVATE helpers reiserfs: remove link detection code ... Fixed up conflicts manually due to: - quota name cleanups vs variable naming changes: fs/reiserfs/inode.c fs/reiserfs/namei.c fs/reiserfs/stree.c fs/reiserfs/xattr.c - exported include header cleanups include/linux/reiserfs_fs.h commit ee93961be1faddf9e9a638bc519145c20f0cfeba Author: Jeff Mahoney Date: Mon Mar 30 14:02:50 2009 -0400 reiserfs: rename [cn]_* variables This patch renames n_, c_, etc variables to something more sane. This is the sixth in a series of patches to rip out some of the awful variable naming in reiserfs. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit d68caa9530a8ba54f97002e02bf6a0ad2462b8c0 Author: Jeff Mahoney Date: Mon Mar 30 14:02:49 2009 -0400 reiserfs: rename p_._ variables This patch is a simple s/p_._//g to the reiserfs code. This is the fifth in a series of patches to rip out some of the awful variable naming in reiserfs. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit a063ae17925cafabe55ebe1957ca0e8c480bd132 Author: Jeff Mahoney Date: Mon Mar 30 14:02:48 2009 -0400 reiserfs: rename p_s_tb to tb This patch is a simple s/p_s_tb/tb/g to the reiserfs code. This is the fourth in a series of patches to rip out some of the awful variable naming in reiserfs. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 995c762ea486b48c9777522071fbf132dea96807 Author: Jeff Mahoney Date: Mon Mar 30 14:02:47 2009 -0400 reiserfs: rename p_s_inode to inode This patch is a simple s/p_s_inode/inode/g to the reiserfs code. This is the third in a series of patches to rip out some of the awful variable naming in reiserfs. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit ad31a4fc0386e8590c51ca4b8f1ae1d8b8b2ac5e Author: Jeff Mahoney Date: Mon Mar 30 14:02:46 2009 -0400 reiserfs: rename p_s_bh to bh This patch is a simple s/p_s_bh/bh/g to the reiserfs code. This is the second in a series of patches to rip out some of the awful variable naming in reiserfs. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit a9dd364358fbdc68faee5d20c2d648c320dc3cf0 Author: Jeff Mahoney Date: Mon Mar 30 14:02:45 2009 -0400 reiserfs: rename p_s_sb to sb This patch is a simple s/p_s_sb/sb/g to the reiserfs code. This is the first in a series of patches to rip out some of the awful variable naming in reiserfs. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 0222e6571c332563a48d4cf5487b67feabe60b5e Author: Jeff Mahoney Date: Mon Mar 30 14:02:44 2009 -0400 reiserfs: strip trailing whitespace This patch strips trailing whitespace from the reiserfs code. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 3cd6dbe6feb9b32347e6c6f25a27f0cde9d50418 Author: Jeff Mahoney Date: Mon Mar 30 14:02:43 2009 -0400 reiserfs: cleanup path functions This patch cleans up some redundancies in the reiserfs tree path code. decrement_bcount() is essentially the same function as brelse(), so we use that instead. decrement_counters_in_path() is exactly the same function as pathrelse(), so we kill that and use pathrelse() instead. There's also a bit of cleanup that makes the code a bit more readable. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit fba4ebb5f0f84a6f9989e9591741ddff946de320 Author: Jeff Mahoney Date: Mon Mar 30 14:02:42 2009 -0400 reiserfs: factor out buffer_info initialization This is the first in a series of patches to make balance_leaf() not quite so insane. This patch factors out the open coded initializations of buffer_info structures and defines a few initializers for the 4 cases they're used. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 57fe60df62410f949da094d06ced1dda9575b69c Author: Jeff Mahoney Date: Mon Mar 30 14:02:41 2009 -0400 reiserfs: add atomic addition of selinux attributes during inode creation Some time ago, some changes were made to make security inode attributes be atomically written during inode creation. ReiserFS fell behind in this area, but with the reworking of the xattr code, it's now fairly easy to add. The following patch adds the ability for security attributes to be added automatically during inode creation. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit a41f1a4715f26f7bc4d047d0bc7710145c8e69c7 Author: Jeff Mahoney Date: Mon Mar 30 14:02:40 2009 -0400 reiserfs: use generic readdir for operations across all xattrs The current reiserfs xattr implementation open codes reiserfs_readdir and frees the path before calling the filldir function. Typically, the filldir function is something that modifies the file system, such as a chown or an inode deletion that also require reading of an inode associated with each direntry. Since the file system is modified, the path retained becomes invalid for the next run. In addition, it runs backwards in attempt to minimize activity. This is clearly suboptimal from a code cleanliness perspective as well as performance-wise. This patch implements a generic reiserfs_for_each_xattr that uses the generic readdir and a specific filldir routine that simply populates an array of dentries and then performs a specific operation on them. When all files have been operated on, it then calls the operation on the directory itself. The result is a noticable code reduction and better performance. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 0ab2621ebd9a28bf7a524ecd50d492a10579dfcc Author: Jeff Mahoney Date: Mon Mar 30 14:02:39 2009 -0400 reiserfs: journaled xattrs Deadlocks are possible in the xattr code between the journal lock and the xattr sems. This patch implements journalling for xattr operations. The benefit is twofold: * It gets rid of the deadlock possibility by always ensuring that xattr write operations are initiated inside a transaction. * It corrects the problem where xattr backing files aren't considered any differently than normal files, despite the fact they are metadata. I discussed the added journal load with Chris Mason, and we decided that since xattrs (versus other journal activity) is fairly rare, the introduction of larger transactions to support journaled xattrs wouldn't be too big a deal. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 48b32a3553a54740d236b79a90f20147a25875e3 Author: Jeff Mahoney Date: Mon Mar 30 14:02:38 2009 -0400 reiserfs: use generic xattr handlers Christoph Hellwig had asked me quite some time ago to port the reiserfs xattrs to the generic xattr interface. This patch replaces the reiserfs-specific xattr handling code with the generic struct xattr_handler. However, since reiserfs doesn't split the prefix and name when accessing xattrs, it can't leverage generic_{set,get,list,remove}xattr without needlessly reconstructing the name on the back end. Update 7/26/07: Added missing dput() to deletion path. Update 8/30/07: Added missing mark_inode_dirty when i_mode is used to represent an ACL and no previous ACL existed. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 8ecbe550a142fe604874afa477ea68986f89b86c Author: Jeff Mahoney Date: Mon Mar 30 14:02:37 2009 -0400 reiserfs: remove i_has_xattr_dir With the changes to xattr root locking, the i_has_xattr_dir flag is no longer needed. This patch removes it. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 8b6dd72a441a683cef7ace93de0a57ced4367f00 Author: Jeff Mahoney Date: Mon Mar 30 14:02:36 2009 -0400 reiserfs: make per-inode xattr locking more fine grained The per-inode locking can be made more fine-grained to surround just the interaction with the filesystem itself. This really only applies to protecting reads during a write, since concurrent writes are barred with inode->i_mutex at the vfs level. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit d984561b326cd0fe0d1183d11b9b4fa1d011d21d Author: Jeff Mahoney Date: Mon Mar 30 14:02:35 2009 -0400 reiserfs: eliminate per-super xattr lock With the switch to using inode->i_mutex locking during lookups/creation in the xattr root, the per-super xattr lock is no longer needed. This patch removes it. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 6c17675e1e02ebde220ef639a3fb1333928ec2f4 Author: Jeff Mahoney Date: Mon Mar 30 14:02:34 2009 -0400 reiserfs: simplify xattr internal file lookups/opens The xattr file open/lookup code is needlessly complex. We can use vfs-level operations to perform the same work, and also simplify the locking constraints. The locking advantages will be exploited in future patches. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit a72bdb1cd244725ff47b3a29662e2cb820d8c60f Author: Jeff Mahoney Date: Mon Mar 30 14:02:33 2009 -0400 reiserfs: Clean up xattrs when REISERFS_FS_XATTR is unset The current reiserfs xattr implementation will not clean up old xattr files if files are deleted when REISERFS_FS_XATTR is unset. This results in inaccessible lost files, wasting space. This patch compiles in basic xattr knowledge, such as how to delete them and change ownership for quota tracking. If the file system has never used xattrs, then the operation is quite fast: it returns immediately when it sees there is no .reiserfs_priv directory. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 6dfede696391133eadd7ce90b61c9573ee6e5a90 Author: Jeff Mahoney Date: Mon Mar 30 14:02:32 2009 -0400 reiserfs: remove IS_PRIVATE helpers There are a number of helper functions for marking a reiserfs inode private that were leftover from reiserfs did its own thing wrt to private inodes. S_PRIVATE has been in the kernel for some time, so this patch removes the helpers and uses IS_PRIVATE instead. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 010f5a21a323e7383e067009a7785462883fe5ea Author: Jeff Mahoney Date: Mon Mar 30 14:02:31 2009 -0400 reiserfs: remove link detection code Early in the reiserfs xattr development, there was a plan to use hardlinks to save disk space for identical xattrs. That code never materialized and isn't going to, so this patch removes the detection code. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit ec6ea56b2f1d3811815e53131e85fd1fc9b51873 Author: Jeff Mahoney Date: Mon Mar 30 14:02:30 2009 -0400 reiserfs: xattr reiserfs_get_page takes offset instead of index This patch changes reiserfs_get_page to take an offset rather than an index since no callers calculate the index differently. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit f437c529e3cd4853c1edff6fe3b191ad32304e8f Author: Jeff Mahoney Date: Mon Mar 30 14:02:29 2009 -0400 reiserfs: small variable cleanup This patch removes the xinode and mapping variables from reiserfs_xattr_{get,set}. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 0030b64570c862f04c1550ba4a0bf7a9c128162a Author: Jeff Mahoney Date: Mon Mar 30 14:02:28 2009 -0400 reiserfs: use reiserfs_error() This patch makes many paths that are currently using warnings to handle the error. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 1e5e59d431038c53954fe8f0b38bee0f0ad30349 Author: Jeff Mahoney Date: Mon Mar 30 14:02:27 2009 -0400 reiserfs: introduce reiserfs_error() Although reiserfs can currently handle severe errors such as journal failure, it cannot handle less severe errors like metadata i/o failure. The following patch adds a reiserfs_error() function akin to the one in ext3. Subsequent patches will use this new error handler to handle errors more gracefully in general. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 32e8b1062915d00d07d3b88a95174648e369b6a3 Author: Jeff Mahoney Date: Mon Mar 30 14:02:26 2009 -0400 reiserfs: rearrange journal abort This patch kills off reiserfs_journal_abort as it is never called, and combines __reiserfs_journal_abort_{soft,hard} into one function called reiserfs_abort_journal, which performs the same work. It is silent as opposed to the old version, since the message was always issued after a regular 'abort' message. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit c3a9c2109f84882b9b3178f6b1838d550d3df0ec Author: Jeff Mahoney Date: Mon Mar 30 14:02:25 2009 -0400 reiserfs: rework reiserfs_panic ReiserFS panics can be somewhat inconsistent. In some cases: * a unique identifier may be associated with it * the function name may be included * the device may be printed separately This patch aims to make warnings more consistent. reiserfs_warning() prints the device name, so printing it a second time is not required. The function name for a warning is always helpful in debugging, so it is now automatically inserted into the output. Hans has stated that every warning should have a unique identifier. Some cases lack them, others really shouldn't have them. reiserfs_warning() now expects an id associated with each message. In the rare case where one isn't needed, "" will suffice. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 78b6513d2881f1a759fb9825a036d926392de084 Author: Jeff Mahoney Date: Mon Mar 30 14:02:24 2009 -0400 reiserfs: add locking around error buffer The formatting of the error buffer is race prone. It uses static buffers for both formatting and output. While overwriting the error buffer can product garbled output, overwriting the format buffer with incompatible % directives can cause crashes. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit fd7cb031efb1dd71cb731668e2f597d9e61acdcb Author: Jeff Mahoney Date: Mon Mar 30 14:02:23 2009 -0400 reiserfs: eliminate reiserfs_warning from uniqueness functions uniqueness2type and type2uniquness issue a warning when the value is unknown. When called from reiserfs_warning, this causes a re-entrancy problem and deadlocks on the error buffer lock. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit cacbe3d7ad3c0a345ca1ce7bf1ecb4c5bfe54d7b Author: Jeff Mahoney Date: Mon Mar 30 14:02:22 2009 -0400 reiserfs: prepare_error_buf wrongly consumes va_arg vsprintf will consume varargs on its own. Skipping them manually results in garbage in the error buffer, or Oopses in the case of pointers. This patch removes the advancement and fixes a number of bugs where crashes were observed as side effects of a regular error report. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 45b03d5e8e674eb6555b767e1c8eb40b671ff892 Author: Jeff Mahoney Date: Mon Mar 30 14:02:21 2009 -0400 reiserfs: rework reiserfs_warning ReiserFS warnings can be somewhat inconsistent. In some cases: * a unique identifier may be associated with it * the function name may be included * the device may be printed separately This patch aims to make warnings more consistent. reiserfs_warning() prints the device name, so printing it a second time is not required. The function name for a warning is always helpful in debugging, so it is now automatically inserted into the output. Hans has stated that every warning should have a unique identifier. Some cases lack them, others really shouldn't have them. reiserfs_warning() now expects an id associated with each message. In the rare case where one isn't needed, "" will suffice. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 1d889d9958490888b3fad1d486145d9a03559cbc Author: Jeff Mahoney Date: Mon Mar 30 14:02:20 2009 -0400 reiserfs: make some warnings informational In several places, reiserfs_warning is used when there is no warning, just a notice. This patch changes some of them to indicate that the message is merely informational. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit a5437152eec2c9171f6ab06e63135c5333f0a929 Author: Jeff Mahoney Date: Mon Mar 30 14:02:19 2009 -0400 reiserfs: use more consistent printk formatting The output format between a warning/error/panic/info/etc changes with which one is used. The following patch makes the messages more internally consistent, but also more consistent with other Linux filesystems. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit eba00305591714f1d85ccad1afbf58259c2197b4 Author: Jeff Mahoney Date: Mon Mar 30 14:02:18 2009 -0400 reiserfs: use buffer_info for leaf_paste_entries This patch makes leaf_paste_entries more consistent with respect to the other leaf operations. Using buffer_info instead of buffer_head directly allows us to get a superblock pointer for use in error handling. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 600ed41675d8c384519d8f0b3c76afed39ef2f4b Author: Jeff Mahoney Date: Mon Mar 30 14:02:17 2009 -0400 reiserfs: audit transaction ids to always be unsigned ints This patch fixes up the reiserfs code such that transaction ids are always unsigned ints. In places they can currently be signed ints or unsigned longs. The former just causes an annoying clm-2200 warning and may join a transaction when it should wait. The latter is just for correctness since the disk format uses a 32-bit transaction id. There aren't any runtime problems that result from it not wrapping at the correct location since the value is truncated correctly even on big endian systems. The 0 value might make it to disk, but the mount-time checks will bump it to 10 itself. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 702d21c6f6c790b12c4820cd2f29bc8472aed633 Author: Jeff Mahoney Date: Mon Mar 30 14:02:16 2009 -0400 reiserfs: add support for mount count incrementing The following patch adds the fields for tracking mount counts and last fsck timestamps to the superblock. It also increments the mount count on every read-write mount. Reiserfsprogs 3.6.21 added support for these fields. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit eeafda70bf2807544e96fa4e52b2433cd470ff46 Author: Yinghai Lu Date: Sun Mar 29 12:30:05 2009 -0700 PCI: fix HT MSI mapping fix Impact: fix bug This patch reworks the nv_msi_ht_cap_quirk() and will only try to avoid to enable ht_msi on device following that root dev, and don't touch that root dev, but only do that trick with end_device on the chain. Reported-by: Prakash Punnoor Tested-by: Prakash Punnoor Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 019abbc87025a030fd25008612afd4eff8a375f7 Merge: 2d25ee3... 5a3c8fe... Author: Linus Torvalds Date: Mon Mar 30 11:38:31 2009 -0700 Merge branch 'x86-stage-3-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-stage-3-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (190 commits) Revert "cpuacct: reduce one NULL check in fast-path" Revert "x86: don't compile vsmp_64 for 32bit" x86: Correct behaviour of irq affinity x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe x86: use default_cpu_mask_to_apicid for 64bit x86: fix set_extra_move_desc calling x86, PAT, PCI: Change vma prot in pci_mmap to reflect inherited prot x86/dmi: fix dmi_alloc() section mismatches x86: e820 fix various signedness issues in setup.c and e820.c x86: apic/io_apic.c define msi_ir_chip and ir_ioapic_chip all the time x86: irq.c keep CONFIG_X86_LOCAL_APIC interrupts together x86: irq.c use same path for show_interrupts x86: cpu/cpu.h cleanup x86: Fix a couple of sparse warnings in arch/x86/kernel/apic/io_apic.c Revert "x86: create a non-zero sized bm_pte only when needed" x86: pci-nommu.c cleanup x86: io_delay.c cleanup x86: rtc.c cleanup x86: i8253 cleanup x86: kdebugfs.c cleanup ... commit 2d25ee36c84d5b2d6be8bfaf80256ecad69a06ca Merge: 915db32... 4a6a449... Author: Linus Torvalds Date: Mon Mar 30 11:31:47 2009 -0700 Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 * 'bkl-removal' of git://git.lwn.net/linux-2.6: Fix a lockdep warning in fasync_helper() Add a missing unlock_kernel() in raw_open() commit 915db32ddbc967f023fbf7d7f01cca9e05606a9b Merge: ebc8eca... 91e8a30... Author: Linus Torvalds Date: Mon Mar 30 10:36:35 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (21 commits) MIPS: Alchemy: PB1200: use SMC91X platform data. MIPS: Alchemy: MIPS hazard workarounds are not required. MIPS: Alchemy: provide cpu feature overrides. MIPS: Alchemy: unify CPU model constants. MIPS: Make a needlessly global symbol static in arch/mips/kernel/smp.c MIPS: Fix global namespace pollution in arch/mips/kernel/smp-up.c MIPS: Malta: make a needlessly global integer variable static MIPS: Use BUG_ON() where possible. MIPS: Convert obsolete irq_desc_t to struct irq_desc MIPS: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all platforms MIPS: EMMA2RH: Set UART mapbase MIPS: EMMA2RH: Use set_irq_chip_and_handler_name MIPS: EMMA2RH: Use handle_edge_irq() handler for GPIO interrupts MIPS: Mark Eins: Fix cascading interrupt dispatcher MIPS: Au1000: convert to using gpiolib MIPS: Stop using . MIPS: Cavium: Add -Werror MIPS: Makefile: Add simple make install target. MIPS: Compat: Zero upper 32-bit of offset_high and offset_low. MIPS: __raw_spin_lock() may spin forever on ticket wrap. ... commit ebc8eca169be0283d5a7ab54c4411dd59cfb0f27 Merge: 25c1a41... 9ff9a26... Author: Linus Torvalds Date: Mon Mar 30 10:23:53 2009 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (180 commits) powerpc: clean up ssi.txt, add definition for fsl,ssi-asynchronous powerpc/85xx: Add support for the "socrates" board (MPC8544). powerpc: Fix bugs introduced by sysfs changes powerpc: Sanitize stack pointer in signal handling code powerpc: Add write barrier before enabling DTL flags powerpc/83xx: Update ranges in gianfar node to match other dts powerpc/86xx: Move gianfar mdio nodes under the ethernet nodes powerpc/85xx: Move gianfar mdio nodes under the ethernet nodes powerpc/83xx: Move gianfar mdio nodes under the ethernet nodes powerpc/83xx: Add power management support for MPC837x boards powerpc/mm: Introduce early_init_mmu() on 64-bit powerpc/mm: Add option for non-atomic PTE updates to ppc64 powerpc/mm: Fix printk type warning in mmu_context_nohash powerpc/mm: Rename arch/powerpc/kernel/mmap.c to mmap_64.c powerpc/mm: Merge various PTE bits and accessors definitions powerpc/mm: Tweak PTE bit combination definitions powerpc/cell: Fix iommu exception reporting powerpc/mm: e300c2/c3/c4 TLB errata workaround powerpc/mm: Used free register to save a few cycles in SW TLB miss handling powerpc/mm: Remove unused register usage in SW TLB miss handling ... commit 25c1a411e8a0a709abe3449866125dc290711ea8 Author: Stephen Rothwell Date: Mon Mar 30 11:10:27 2009 +1100 x86: fix mismerge in arch/x86/include/asm/timer.h Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit b94d10e7f6fce9af7d5054845511a00575c4b4f5 Merge: b80e0d2... fd3a019... Author: Linus Torvalds Date: Mon Mar 30 10:09:14 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (707 commits) V4L/DVB (11316): saa7191: tuner ops wasn't set. V4L/DVB (11315): cx25840: fix 'unused variable' warning. V4L/DVB (11314): au8522: remove unused I2C_DRIVERID V4L/DVB (11313): v4l2-subdev: add enum_framesizes and enum_frameintervals. V4L/DVB (11312): tuner: remove V4L1 code from this driver. V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers V4L/DVB (11310): cx18: remove intermediate 'ioctl' step V4L/DVB (11309): cx25840: cleanup: remove intermediate 'ioctl' step V4L/DVB (11308): msp3400: use the V4L2 header since no V4L1 code is there V4L/DVB (11305): cx88: prevent probing rtc and ir devices V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. V4L/DVB (11303): tda7432: remove legacy code for old-style i2c API V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API V4L/DVB (11301): wm8775: remove legacy code for old-style i2c API V4L/DVB (11300): cx88: convert to v4l2_subdev. V4L/DVB (11298): cx25840: remove legacy code for old-style i2c API V4L/DVB (11297): cx23885: convert to v4l2_subdev. V4L/DVB (11296): cx23885: bugfix error message if firmware is not found V4L/DVB (11295): cx23885: convert to v4l2_device. V4L/DVB (11293): uvcvideo: Add zero fill for VIDIOC_ENUM_FMT ... commit b80e0d271606a0f5b35c85b11f9014ce09cbc415 Merge: 83826dc... 5291658... Author: Linus Torvalds Date: Mon Mar 30 10:08:10 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: fix fuse_file_lseek returning with lock held commit 83826dc505e6c6f432332dd45681be4bb71635ce Merge: ffd1428... bf717c0... Author: Linus Torvalds Date: Mon Mar 30 10:05:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (70 commits) ide: keep track of number of bytes instead of sectors in struct ide_cmd ide: remove ide_execute_pkt_cmd() (v2) ide: add ->dma_timer_expiry method and remove ->dma_exec_cmd one (v2) ide: set hwif->expiry prior to calling [__]ide_set_handler() ide: use do_rw_taskfile() for ATA_CMD_PACKET commands ide: pass command to ide_map_sg() ide: remove ide_end_request() ide: use ide_end_rq() in ide_complete_rq() ide: pass number of bytes to complete to ide_complete_rq() ide: remove BUG() from ide_complete_rq() ide: move rq->errors quirk out from ide_end_request() ide: pass error value to ide_complete_rq() ide: sanitize ide_end_rq() ide: add ide_end_rq() (v2) ide: make ide_special_rq() BUG() on unknown requests ide: sanitize ide_finish_cmd() ide: use ide_complete_cmd() for REQ_UNPARK_HEADS ide: use ide_complete_cmd() for head unload commands ide: task_error() -> task_error_cmd() ide: unify exit paths in task_pio_intr() ... commit ffd14285142cb398b2b613e27f71be415d28072e Merge: 0d34fb8... c68a65da... Author: Linus Torvalds Date: Mon Mar 30 10:02:36 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: needs crc32_le jfs: Fix error handling in metapage_writepage() jfs: return f_fsid for statfs(2) jfs: remove xtLookupList() jfs: clean up a dangling comment commit fd3a019534e0a9ada11bcc357a8faa9251029cbb Author: Hans Verkuil Date: Mon Mar 30 08:03:02 2009 -0300 V4L/DVB (11316): saa7191: tuner ops wasn't set. The tuner ops pointer wasn't set, so s_std never worked here. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7c4673335b5f0508a47763840d7f2403fa6d2773 Author: Hans Verkuil Date: Mon Mar 30 07:16:08 2009 -0300 V4L/DVB (11315): cx25840: fix 'unused variable' warning. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 73722dddbd73f20799e84708f59d1cddf429dac9 Author: Hans Verkuil Date: Mon Mar 30 07:08:30 2009 -0300 V4L/DVB (11314): au8522: remove unused I2C_DRIVERID I2C_DRIVERIDs are no longer needed with v4l2_subdev and will be removed from the kernel soon. Cc: Devin Heitmueller Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4b2ce11a1e3321d31487bf58dfaaef8bb168e5af Author: Hans Verkuil Date: Sun Mar 29 19:23:16 2009 -0300 V4L/DVB (11313): v4l2-subdev: add enum_framesizes and enum_frameintervals. These callbacks are needed for omap. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5eb35fd06397e42b49ff4d37587fa1bfbd136014 Author: Hans Verkuil Date: Mon Mar 30 07:04:07 2009 -0300 V4L/DVB (11312): tuner: remove V4L1 code from this driver. No i2c modules are called with the V4L1 API anymore, so this can be removed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bccfa449ae5bd4cc5b52160d25fbdb1fe8a27932 Author: Hans Verkuil Date: Mon Mar 30 06:55:27 2009 -0300 V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers Replace 'VIDIOC_' references in v4l i2c drivers by their new v4l2_subdev callback names. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 41c129a87014bb83efb3e0224bb44cfc54659f8f Author: Hans Verkuil Date: Mon Mar 30 06:43:13 2009 -0300 V4L/DVB (11310): cx18: remove intermediate 'ioctl' step The audio and vbi parts still used an 'ioctl'-like interface. Replace this with normal functions. Cc: Andy Walls Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit df1d5ed8a81565b78d45fbdffb6561c75c75ec0d Author: Hans Verkuil Date: Mon Mar 30 06:26:40 2009 -0300 V4L/DVB (11309): cx25840: cleanup: remove intermediate 'ioctl' step The audio and vbi functions where still called through an ioctl-like interface, even though this is no longer needed with v4l2-subdev. Just change each 'case' into a proper function and call that directly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2c26976d726838878eb8dd1bc91f84df38a05143 Author: Mauro Carvalho Chehab Date: Mon Mar 30 08:18:10 2009 -0300 V4L/DVB (11308): msp3400: use the V4L2 header since no V4L1 code is there Signed-off-by: Mauro Carvalho Chehab commit 43d5eab7d632de5bde582d41b5d0eac01b52bb3a Author: Hans Verkuil Date: Sun Mar 29 17:47:30 2009 -0300 V4L/DVB (11305): cx88: prevent probing rtc and ir devices tuner-core.c contains a hack for cx88 board to prevent probing of certain addresses: /* HACK: Ignore 0x6b and 0x6f on cx88 boards. * FusionHDTV5 RT Gold has an ir receiver at 0x6b * and an RTC at 0x6f which can get corrupted if probed. */ With the new i2c API this hack no longer works. So instead change the list of tuner probe addresses in the cx88 driver itself, which is much more clean. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a0d1251da012594381165e36590312009693bf49 Author: Hans Verkuil Date: Sun Mar 29 09:19:09 2009 -0300 V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. Several i2c drivers still used v4l2_subdev_command, even though they were converted to v4l2_subdev. Remove those unused .command callbacks. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 267ea2a9dc53eba8a314db74c169223d7c775145 Author: Hans Verkuil Date: Sun Mar 29 09:06:00 2009 -0300 V4L/DVB (11303): tda7432: remove legacy code for old-style i2c API tda7432 is no longer used with the old-style i2c API, so I can remove the support for that. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a61389134c7c69a63ce779e40f6a052f7b3a17fd Author: Hans Verkuil Date: Sun Mar 29 09:04:29 2009 -0300 V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API tda9875 is no longer used with the old-style i2c API, so I can remove the support for that. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4705e8c8508e4278a174855815b0fcd26fbc7e00 Author: Hans Verkuil Date: Sun Mar 29 08:50:31 2009 -0300 V4L/DVB (11301): wm8775: remove legacy code for old-style i2c API All drivers that use wm8775 are now converted to v4l2_subdev, so I can remove the support for the old-style i2c API. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b8341e1d2acadf3935fb299a325f569a1c20daa6 Author: Hans Verkuil Date: Sun Mar 29 08:26:01 2009 -0300 V4L/DVB (11300): cx88: convert to v4l2_subdev. Convert cx88 to use v4l2_subdev since the old i2c autoprobing mechanism will be removed. Added code to explicitly load tvaudio where needed. Also fix the rtc-isl1208 support: since that driver no longer supports autoprobing it has to be loaded using the new i2c API. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b6198ade556add7a6f1dd1d38dd489b0484cab2d Author: Hans Verkuil Date: Sun Mar 29 08:55:46 2009 -0300 V4L/DVB (11298): cx25840: remove legacy code for old-style i2c API All drivers that use cx25840 are now converted to v4l2_subdev, so I can remove the support for the old-style i2c API. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0d5a19f15837de69f864b2a43a93f119224d778c Author: Hans Verkuil Date: Sun Mar 29 06:53:29 2009 -0300 V4L/DVB (11297): cx23885: convert to v4l2_subdev. Convert this driver to v4l2_subdev. Note that currently the only card with analog support in this driver is the HVR-1800. The analog tuner support in this driver is limited to what is needed for this board. When analog support is added for other cards, then the tuner load code will probably have to be expanded to take care of those boards. For example, there is currently no support for either radio tuners or tda9887 demods. I'd like to thank Steven Toth for testing this on his HVR-1800. Tested-by: Steven Toth Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d35ed62704bc1d44dd4746a242e8c09f2a48fc40 Author: Steven Toth Date: Sat Mar 28 13:58:28 2009 -0300 V4L/DVB (11296): cx23885: bugfix error message if firmware is not found If the firmware failed to be found the error message indicated the incorrect filename. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c0714f6cc6a7850062db41d5b2b8b90e5682ae41 Author: Hans Verkuil Date: Fri Mar 13 08:02:43 2009 -0300 V4L/DVB (11295): cx23885: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8bbd90ce80d39d372857235f00c7abb208bd9e4f Author: Márton Németh Date: Fri Mar 27 11:13:57 2009 -0300 V4L/DVB (11293): uvcvideo: Add zero fill for VIDIOC_ENUM_FMT When enumerating formats with VIDIOC_ENUM_FMT the uvcvideo driver does not fill the reserved fields of the struct v4l2_fmtdesc with zeros as required by V4L2 API revision 0.24 [1]. Add the missing initializations. The patch was tested with v4l-test 0.10 [2] with CNF7129 webcam found on EeePC 901. References: [1] V4L2 API specification, revision 0.24 http://v4l2spec.bytesex.org/spec/r8367.htm [2] v4l-test: Test environment for Video For Linux Two API http://v4l-test.sourceforge.net/ Signed-off-by: Márton Németh Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 0ce566da77767bc7dd6e4016a6544c9e814d2ed3 Author: Laurent Pinchart Date: Fri Mar 27 10:46:49 2009 -0300 V4L/DVB (11292): uvcvideo: Add support for Syntek cameras found in JAOtech Smart Terminals Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 919a5488dba69c79d52876e8d4f9bc0ffe0c58fe Author: Klaus Flittner Date: Sun Mar 29 09:12:06 2009 -0300 V4L/DVB (11290): Add Elgato EyeTV DTT to dibcom driver This patch introduces support for DVB-T for the following dibcom based card: Elgato EyeTV DTT (USB-ID: 0fd9:0021) Signed-off-by: Klaus Flittner Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 16ba1ee5d2d4d5d3b7d69a7a2e49de393aa931e5 Author: Xoan Loureiro Date: Sun Mar 29 08:43:36 2009 -0300 V4L/DVB (11289): Patch for Yuan MC770 DVB-T (1164:0871) This patch adds support for the Yuan MC770 DVB-T (1164:0871). Thanks to Xoan Loureiro. Signed-off-by: Xoan Loureiro Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 91b94366260fc4d960713c2e76e0fc874ff76992 Author: Uwe Bugla Date: Sun Mar 29 08:13:01 2009 -0300 V4L/DVB (11288): Code cleanup (passes checkpatch now) of the b2c2-flexcop-drivers 2/2 This is the second part of the code cleanup changing the usb and pci-driver cores. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 1589a993f074124c3edfff03656e910bb472eeaa Author: Uwe Bugla Date: Sun Mar 29 07:46:58 2009 -0300 V4L/DVB (11287): Code cleanup (passes checkpatch now) of the b2c2-flexcop-drivers 1/2 This patch cleans up the source code of the b2c2 flexcop-driver. It is the first of a total of two. The code is now passing the checkpatch-script. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7def728f558c99489cc89f4c5d62dd64dc0289b4 Author: Patrick Boettcher Date: Sat Feb 28 10:30:20 2009 -0300 V4L/DVB (11285): Remove unecessary udelay When resetting the PID-filter block a safety msleep(1) was injected. Now that the function is called from interrupt context, it was replaced with a udelay. It seems that this delay is not necessary at all, let's remove it for now and test a while. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 1662070a593b5a862b5bf8c843ebfab0deb058a6 Author: Patrick Boettcher Date: Sat Feb 28 10:19:30 2009 -0300 V4L/DVB (11284): Fix i2c code of flexcop-driver for rare revisions This patch adds a workaround in the i2c-code of the flexcop-driver to fix support for SkyStar2 rev 2.7. There are not many devices out there, that's why this bug was not revealed earlier. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit aef822074b88397968560b650a9f4bdbf973e2b3 Author: Hans Verkuil Date: Sun Mar 29 06:29:30 2009 -0300 V4L/DVB (11283): saa6588: remove legacy code. saa6588 is now only used through v4l2_subdev, so we can remove the old legacy code. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2983baf8d6c1a564b6bbcc3e142f2e9408d9cbbe Author: Hans Verkuil Date: Sun Mar 29 06:26:27 2009 -0300 V4L/DVB (11282): saa7134: add RDS support. The Terratec Cinergy 600 TV MK3 supports the RDS decoder saa6588. Add support to saa7134 for such devices. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ffe84b7a31bb39a26d74ff5a9ee921cd2c23e29c Author: Hans Verkuil Date: Sun Mar 29 06:17:31 2009 -0300 V4L/DVB (11281): bttv: move saa6588 config to the helper chip config saa6588 can also be used by other drivers than just bttv. Move it to a new RDS decoders category and add it as helper chip to bttv. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 893cce04b77e3e520e2b3ce4ae629f57dc6ce7f7 Author: Hans Verkuil Date: Sat Mar 28 08:55:11 2009 -0300 V4L/DVB (11279): bttv: tda9875 is no longer used by bttv, so remove from bt8xx/Kconfig. Since tda9875 support was merged into tvaudio the bttv driver no longer needs tda9875 as helper driver. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 859f0277a6c3ba59b0a5a1eb183f8f6ce661a95d Author: Hans Verkuil Date: Sat Mar 28 08:29:00 2009 -0300 V4L/DVB (11278): bttv: convert to v4l2_subdev since i2c autoprobing will disappear. Since i2c autoprobing will disappear bttv needs to be converted to use v4l2_subdev instead. Without autoprobing the autoload module option has become obsolete. A warning is generated if it is set, but it is otherwise ignored. Since the bttv card definitions are of questionable value a new option was introduced to allow the user to control which audio module is selected: msp3400, tda7432 or tvaudio (or none at all). By default bttv will use the card definitions and fallback on tvaudio as the last resort. If no audio device was found a warning is printed. The saa6588 RDS device is now also explicitly probed since it is no longer possible to autoprobe it. A new saa6588 module option was added to override the card definition since I suspect more cards have this device than one would guess from the card definitions. Note that the probe addresses of the i2c modules are hardcoded in this driver. Once all v4l drivers are converted to v4l2_subdev this will be cleaned up. Such data belongs in an i2c driver header. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e4129a9ccea54e8f4fbc408476120059809a4627 Author: Hans Verkuil Date: Thu Mar 19 16:53:32 2009 -0300 V4L/DVB (11277): tvaudio: always call init_timer to prevent rmmod crash. In the tvaudio_remove function del_timer_sync(&chip->wt) is called. However, chip->wt isn't always initialized depending on the type of audio chip. Since del_timer_sync hangs when given an uninitialized timer we should always initialize it. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 411674fd189abe5910ea4caf08b7eac5c4a4d967 Author: Hans Verkuil Date: Wed Mar 18 14:02:36 2009 -0300 V4L/DVB (11276): tvaudio: add tda9875 support. This change allows bttv to use tvaudio for this device. Since this device has the same i2c address as the tda9874 we need to support both in the same tvaudio driver. This makes it possible for tvaudio to detect which chip is used. Originally the tda9875 was only available in the dedicated tda9875 driver, but that makes life very hard for bttv since loading tvaudio might misdetect a tda9875 as a tda9874. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5fa7b9f3c0f249a4faed6c3e534917199249ead8 Author: Hans Verkuil Date: Wed Mar 18 13:59:34 2009 -0300 V4L/DVB (11275): tvaudio: fix mute and s/g_tuner handling The mute control depends on CHIP_HAS_INPUTSEL, so test for that first. The s/g_tuner code should check whether getmode/setmode is set at the beginning instead of filling in the struct and discovering at the end that this chip doesn't implement audiomodes after all (i.e. is a simple muxer chip). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8f84a775c2ad8a0d95f944f6397248b9c0c25e50 Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11272): zr364xx: Remove code for things already done by video_ioctl2 The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. Checking the buffer type can be removed from zr364xx_vidioc_(s|g|try|enum)_fmt_vid_cap(). The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code can be removed from zr364xx_vidioc_querycap(), zr364xx_vidioc_enum_input(), zr364xx_vidioc_enum_fmt_vid_cap(), and zr364xx_vidioc_g_fmt_vid_cap(). Cc: Antoine Jacquet Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 975f5766be048fb65eae6dbf423db129cd641124 Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11271): usbvision: Remove buffer type checks from enum_fmt_vid_cap, XXXbuf The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)buf() and vidioc_reqbufs(). Since this driver only defines ->vidioc_try_fmt_vid_cap() the checks can be removed from vidioc_reqbufs(), vidioc_qbuf(), and vidioc_dqbuf(). The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. So setting the buffer type in vidioc_enum_fmt_vid_cap() can be removed. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 6174523c5948f8a36f778f0abdfc648a5d73bf46 Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11270): meye: Remove buffer type checks from XXX_fmt_vid_cap, XXXbuf The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)bufs() and vidioc_reqbufs(). Since this driver only defines ->vidioc_try_fmt_vid_cap() the checks can be removed from vidioc_reqbufs(), vidioc_querybuf(), vidioc_qbuf(), and vidioc_dqbuf(). Also, the buffer index is unsigned so it's not necessary to check if it is less than zero. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 185cda966633fc18b9df09b6d84d5ec2db4a57ff Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11269): cx88-blackbird: Stop setting buffer type in XXX_fmt_vid_cap The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the 'type' field since it must already be set to VIDEO_CAPTURE. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit f29816bc317704a33b15269b9e2201de3c9d6a79 Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11268): cx23885-417: Don't need to zero ioctl parameter fields The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from enum_input, g_tuner, g_frequency, querycap, enum_fmt_vid_cap, g_fmt_vid_cap, and try_fmt_vid_cap. The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. There also appeared to be a copy and paste error in vidioc_try_fmt_vid_cap() that would set f->fmt.pix.sizeimage to zero. Note that the s_fmt_vid_cap method doesn't appear to actually do anything. Whatever parameters were requested are just silently ignored. Was this intentional? Who knows, as the commit log entry for the driver just says, "Add generic cx23417 hardware encoder support." There are no docs. A comment like "this driver totally ignores the v4l2 spec w.r.t. VIDIOC_S_FMT because ..." would have gone a long way. Cc: Steven Toth Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e33ee31ac39620c2f91bd8c057982f94a31df958 Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11267): cafe_ccic: Remove buffer type check from XXXbuf The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)bufs() and vidioc_reqbufs(). This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE buffers are allowed to be used with cafe_vidioc_reqbufs(), cafe_vidioc_querybuf(), cafe_vidioc_qbuf(), and cafe_vidioc_dqbuf(). The ->vidioc_(s|g|try|enum)_fmt_vid_cap() methods are only called on VIDEO_CAPTURE buffers. Thus, there is no need to check or set the buffer's 'type' field since it must already be set to VIDEO_CAPTURE. So the check in cafe_vidioc_enum_fmt_vid_cap() can be removed. The 'index' field of v4l2_buffer is unsigned so the checks for it being less than zero can be removed too. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4f5a7444baaabfa93cfd5d7c8f7e021ea5eaa861 Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11266): vino: Remove code for things already done by video_ioctl2 The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used in vidioc_(g|s)_parm, vidioc_(q|dq|query)buf, and vidioc_reqbufs. Remove buffer type checking from vino_g_parm(), vino_s_parm(), vino_reqbufs(), vino_querybuf(), vino_qbuf(), and vino_dqbuf(). This reduced the indent level of the code so a few lines can be wrapped better. Also fixed the C++ type comments. The v4l2-ioctl core also provides structs that have been pre-zeroed for all fields that driver is supposed to fill in, so remove zeroing code from vino_enum_fmt_vid_cap(). Also, the format index is unsigned so it's not necessary to check if it's less than zero. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 2509e1cb3360961113117f25ae482c430f3bd03d Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11265): stkwebcam: Remove buffer type check from g_parm and q/dq/reqbufs The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)bufs(), vidioc_reqbufs() and now vidioc_(s|g)_parm. This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE buffers are allowed to be used with vidioc_g_parm(), vidioc_qbuf(), vidioc_dqbuf(), and vidioc_reqbufs(). Cc: Jaime Velasco Juan Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 020b882b1d34e8787658a15e00f2ea0d4651605b Author: Trent Piepho Date: Sat Mar 28 22:25:36 2009 -0300 V4L/DVB (11264): omap24xxcam: Remove buffer type check from vidioc_s/g_parm The v4l2-ioctl core now only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used in vidioc_(g|s)_parm. This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE buffers are allowed to be used with vidioc_s_parm() and vidioc_g_parm(). Cc: Sakari Ailus Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5a27578667b3bd00cab909296824498bdbd732d5 Author: Trent Piepho Date: Sat Mar 28 22:25:35 2009 -0300 V4L/DVB (11263): gspca: Stop setting buffer type, and avoid memset in querycap The v4l2-ioctl core checks the buffer type now by only allowing buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined. This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE buffers are allowed to be used with vidioc_g_parm. Also, ->vidioc_enum_fmt_vid_cap() is only called for VIDEO_CAPTURE buffers. There is no need to set the buffer type since it must already be the correct value. The struct which ->vidioc_querycap() is supposed to fill in is already zeroed so it's not necessary to call memset on it. Cc: Jean-Francois Moine Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 601bc2984508e8b70a604167229f4f687eae63bb Author: Trent Piepho Date: Sat Mar 28 22:25:35 2009 -0300 V4L/DVB (11262): bttv: Remove buffer type check from vidioc_g_parm The v4l2-ioctl core only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(q|dq|query)bufs(), vidioc_reqbufs() and now vidioc_(s|g)_parm. The driver was only allowing VIDEO_CAPTURE buffers for g_parm, but since the driver defines ->vidioc_try_fmt_vid_overlay() and ->vidioc_try_fmt_vbi_cap() it will now allow VIDEO_OVERLAY and VBI_CAPTURE buffers as well. This should be fine as the driver only fills in the frame rate field, which is just as valid for video overlay and vbi capture as it is for video capture. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit f911eab66d892b7cf9c3e59de7716b89827a42c1 Author: Trent Piepho Date: Sat Mar 28 22:25:35 2009 -0300 V4L/DVB (11261): saa7146: Remove buffer type check from vidioc_g_parm The v4l2-ioctl core now only allows buffer types for which the corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with vidioc_(g|s)_parm. The driver was only allowing VIDEO_CAPTURE buffers for g_parm, but since the driver defines ->vidioc_try_fmt_vid_overlay() it will now allow VIDEO_OVERLAY buffers as well. This should be fine as the fields the driver fills in, readbuffers and frame rate, aren't wrong for VIDEO_OVERLAY buffers. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 34796bc009565ea72643087b7d69c9fa748bce9b Author: Trent Piepho Date: Sat Mar 28 22:25:35 2009 -0300 V4L/DVB (11260): v4l2-ioctl: Check format for S_PARM and G_PARM Return EINVAL if VIDIOC_S/G_PARM is called for a buffer type that the driver doesn't define a ->vidioc_try_fmt_XXX() method for. Several other ioctls, like QUERYBUF, QBUF, and DQBUF, etc. do this too. It saves each driver from having to check if the buffer type is one that it supports. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 3fd8ab30c1fe9118a13f4b55172067ee04ef7a67 Author: Hans Verkuil Date: Sat Mar 28 09:38:29 2009 -0300 V4L/DVB (11256): dabusb: fix compile warning. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ce18c48593746d6c6777bda2488f15c8ae401c9e Author: Hans Verkuil Date: Sat Mar 28 09:35:40 2009 -0300 V4L/DVB (11255): dst_ca: fix compile warning. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5fed935c4ea98923f4ddbffa29134be5f30e4b2c Author: Hans Verkuil Date: Sat Mar 28 09:32:42 2009 -0300 V4L/DVB (11254): cs53l32a: remove legacy support. All drivers that use this device have been converted to v4l2_subdev, so there is no more need to support autoprobing on kernels >= 2.6.22. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 195784b8efd53c1034c6b6d5c8d8d4d25b91d505 Author: Hans Verkuil Date: Sat Mar 28 09:27:02 2009 -0300 V4L/DVB (11253): saa7134: fix RTD Embedded Technologies VFG7350 support. This card has the saa6752hs on 7-bit address 0x21 instead of 0x20. Add support in the card definition struct to select which address to use and update the definitions accordingly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e7ddcd98a179c441d54fe84d221cea4e5852b235 Author: Michael Krufky Date: Sat Mar 28 15:35:26 2009 -0300 V4L/DVB (11251): tuner: prevent invalid initialization of t->config in set_type Drivers that don't set "config" directly in the set_type function will end up with an invalid configuration value. Check that the value is sane, otherwise initialize to 0. Thanks to James Edward Geiger & Steven Toth for reporting this bug. Cc: Steven Toth Cc: James Edward Geiger Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 997fb78e73f3dce23c6fa773128583e1fa15d164 Author: Artem Makhutov Date: Thu Mar 26 06:45:53 2009 -0300 V4L/DVB (11248): Remove debug output from stb6100_cfg.h This patch removes the debug output from stb6100_cfg.h as it is flooding the syslog with tuning data during normal operation. Signed-off-by: Artem Makhutov Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 7d771ff0dc3371923db929d9f88932acec3fc8e8 Author: Janne Grunau Date: Fri Mar 27 20:21:17 2009 -0300 V4L/DVB (11247): hdpvr: empty internal device buffer after stopping streaming Makes the next capturing starting faster and more reliable. Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 9ef77adfb9ac170bcaf449530cf129c48547fd55 Author: Janne Grunau Date: Fri Mar 27 20:09:40 2009 -0300 V4L/DVB (11246): hdpvr: convert printing macros to v4l2_* with struct v4l2_device it gives us a nice and unique prefix per device Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 06630aec92d6a71658ac1538e2a65af5cfc5f2af Author: Janne Grunau Date: Fri Mar 27 20:01:40 2009 -0300 V4L/DVB (11245): hdpvr: add struct v4l2_device Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 0b61dca28909bc548581bec75e3b90faaa7f11fd Author: Alan Cox Date: Thu Mar 26 17:47:48 2009 -0300 V4L/DVB (11244): pluto2: silence spew of card hung up messages If the card is ejected on some systems you get a spew of messages as other shared IRQ devices interrupt between the card eject and the card IRQ disable. We don't need to spew them all out Closes #7472 Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit fbc0ae205c5dfb1049a36f0a98cc9211a3a090bb Author: Alan Cox Date: Thu Mar 26 17:44:38 2009 -0300 V4L/DVB (11243): cx88: Missing failure checks The ioremap one was reported in October 2007 (Bug 9146), the kmalloc one was blindingly obvious while looking at the ioremap one The bug suggests some other configuration for lots of I/O memory (32MB per device is ioremapped) but I'll leave that to the real maintainers Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit c01f1a5a241604c35f93f10e06253ca70e88ee4e Author: Daniel Glöckner Date: Thu Mar 26 11:31:08 2009 -0300 V4L/DVB (11242): allow v4l2 drivers to provide a get_unmapped_area handler Shared memory mappings on nommu machines require a get_unmapped_area file operation that suggests an address for the mapping. This patch adds a way for v4l2 drivers to provide this callback. Signed-off-by: Daniel Glöckner Signed-off-by: Mauro Carvalho Chehab commit 8737f66e6415e8dbe8c8b26d63692d87a4ad5b29 Author: Randy Dunlap Date: Fri Mar 27 14:01:11 2009 -0300 V4L/DVB (11237): media/zoran: fix printk format Fix printk format warning: drivers/media/video/zoran/zoran_driver.c:345: warning: format '%lx' expects type 'long unsigned int', but argument 5 has type 'phys_addr_t' Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit cf47d878e5c7825836abf8d37fde025f7676db2b Author: klaas de waal Date: Wed Mar 25 17:53:02 2009 -0300 V4L/DVB (11236): tda827x: fix locking issues with DVB-C Separate tuning table for DVB-C solves tuning problem at 388MHz TechnoTrend C-1501 DVB-C card does not lock on 388MHz. I assume that existing frequency table is valid for DVB-T. This is suggested by the name of the table: tda827xa_dvbt. Added a table for DVB-C with the name tda827xa_dvbc. Added runtime selection of the DVB-C table when the tuner is type FE_QAM. This should leave the behaviour of this driver with with DVB_T tuners unchanged. This modification is in file tda827x.c The tda827x.c gives the following warning message when debug=1: tda827x: tda827x_config not defined, cannot set LNA gain! Solved this by adding a tda827x_config struct in budget-ci.c. Signed-off-by: Klaas de Waal Signed-off-by: Mauro Carvalho Chehab commit 5ed2b6419ef48efda66a71d4b26bd2fa6b6a1ac7 Author: Stoyan Gaydarov Date: Tue Mar 24 18:12:47 2009 -0300 V4L/DVB (11235): changed ioctls to unlocked Signed-off-by: Stoyan Gaydarov Signed-off-by: Mauro Carvalho Chehab commit cea0213de7e2376041bc1997a2303b09e7d5aad0 Author: Andy Walls Date: Mon Mar 23 22:32:35 2009 -0300 V4L/DVB (11233): mxl5005s: Switch in mxl5005s_set_params should operate on correct values Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 48f98f7557d35d360470bf6d9fd7b00d04fba828 Author: Janne Grunau Date: Thu Mar 26 20:56:06 2009 -0300 V4L/DVB (11231): hdpvr: locking fixes unlock io_mutex in hdpvr_stop_streaming hdpvr_disconnect to allow the streaming worker to stop before we flush the workqueue. do not return to user space with mutex held in vidioc_encoder_cmd with an unknown encoder command. Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit d2ff3ec81628cbf9470c496b3d0c0780165643f5 Author: Janne Grunau Date: Thu Mar 26 14:32:54 2009 -0300 V4L/DVB (11230): hdpvr: return immediately from hdpvr_poll if data is available simplifies check for available data with hdpvr_get_next_buffer Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit a50ab29185a9ec31e5a6999e53add0508653e889 Author: Janne Grunau Date: Thu Mar 26 14:40:55 2009 -0300 V4L/DVB (11229): hdpvr: set usb interface dev as parent in struct video_device Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit d211bfcbd0f13f1234aaa6e565013dba051a408c Author: Janne Grunau Date: Thu Mar 26 20:29:39 2009 -0300 V4L/DVB (11228): hdpvr: use debugging macro for buffer status Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 2ddacee6ebbbdd20af96663f96f5b4de6bff90cc Author: Mauro Carvalho Chehab Date: Thu Mar 26 12:26:48 2009 -0300 V4L/DVB (11227): ce6230: avoid using unitialized var drivers/media/dvb/dvb-usb/ce6230.c: In function ‘ce6230_i2c_xfer’: drivers/media/dvb/dvb-usb/ce6230.c:107: warning: ‘ret’ may be used uninitialized in this function Signed-off-by: Mauro Carvalho Chehab commit 031002d78b05c706272e4d5bc779f5c99d8348cf Author: Mauro Carvalho Chehab Date: Thu Mar 26 12:24:46 2009 -0300 V4L/DVB (11226): avoid warnings for request_ihex_firmware on dabusb and vicam drivers/media/video/usbvideo/vicam.c: In function ‘vicam_open’: drivers/media/video/usbvideo/vicam.c:194: warning: ‘fw’ may be used uninitialized in this function drivers/media/video/dabusb.c: In function ‘dabusb_probe’: drivers/media/video/dabusb.c:337: warning: ‘fw’ may be used uninitialized in this function Signed-off-by: Mauro Carvalho Chehab commit aeecea26234011c3fbf65ffa7d9c9525b486acab Author: Mauro Carvalho Chehab Date: Thu Mar 26 12:07:36 2009 -0300 V4L/DVB (11225): v4lgrab: fix compilation warnings Documentation/video4linux/v4lgrab.c: In function ‘main’: Documentation/video4linux/v4lgrab.c:193: warning: ‘src_depth’ is used uninitialized in this function Documentation/video4linux/v4lgrab.c:108: warning: ‘b’ may be used uninitialized in this function Documentation/video4linux/v4lgrab.c:108: warning: ‘g’ may be used uninitialized in this function Documentation/video4linux/v4lgrab.c:108: warning: ‘r’ may be used uninitialized in this function Signed-off-by: Mauro Carvalho Chehab commit 7ddfda9aa6a735c2b883b8cf677099bce27bf708 Author: Jean-Francois Moine Date: Thu Mar 26 05:13:40 2009 -0300 V4L/DVB (11223): gspca - doc: Add the 15b8:6001 webcam to the Documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d99819d3f769baeb994d0e59f539c24d3c4ef504 Author: Douglas Schilling Landgraf Date: Thu Mar 26 05:10:55 2009 -0300 V4L/DVB (11222): gspca - zc3xx: The webcam DLink DSB - C320 has the sensor pas106. Reported-by: Bruna Griebeler Tested-by: Bruna Griebeler Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3dee4dfed34b579ecc9533881cdabb961d92d5c7 Author: Hans de Goede Date: Thu Mar 26 05:08:48 2009 -0300 V4L/DVB (11221): gspca - sonixj: Prefer sonixj instead of sn9c102 for 0471:0327. Prefer the gspca sonixj driver for the Philips SPC600NC webcam instead of the sn9c102 driver. As we've got userreports that it works with the gspca driver, whereas it fails with the sn9c102 driver, see: https://bugzilla.redhat.com/show_bug.cgi?id=477111 Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c0c4c8937a7e84ab366ed8d8ea8855b57cb698df Author: Jean-Francois Moine Date: Thu Mar 26 05:06:50 2009 -0300 V4L/DVB (11220): gspca - finepix: Use a workqueue for streaming. Tested-by: Frank Zago Acked-by: Frank Zago Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 67e4542558ee589a5196a29640de1ba1157fb450 Author: Jean-Francois Moine Date: Thu Mar 26 05:03:13 2009 -0300 V4L/DVB (11219): gspca - sq905: Optimize the resolution setting. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f6b8332b5e90a8d9c42f224e60900c7eae474388 Author: Jean-Francois Moine Date: Thu Mar 26 05:01:48 2009 -0300 V4L/DVB (11218): gspca - sq905: Update the frame pointer after adding the last packet. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit eebb876b0b8f7ee5e6c01a85433a754c9be88369 Author: Antti Palosaari Date: Wed Mar 25 16:59:45 2009 -0300 V4L/DVB (11216): Add driver for Intel CE6230 DVB-T USB2.0 Add driver for Intel CE6230 DVB-T USB 2.0 COFDM demodulator Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 378a2793eb5e1e6bcd44f85d368ad6962c8ce1ee Author: Antti Palosaari Date: Wed Mar 25 16:48:15 2009 -0300 V4L/DVB (11215): zl10353: add support for Intel CE6230 and Intel CE6231 Add chip IDs and configuration registers needed for Intel CE6230 and Intel CE6231. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 14a19c0a2254ba58ed7559e072456ab94c9a2d3c Author: Theodore Kilgore Date: Wed Mar 25 07:13:13 2009 -0300 V4L/DVB (11213): gspca - sq905c: New subdriver. The code in the new sq905c.c is based upon the structure of the code in gspca/sq905.c, and upon the code in libgphoto2/camlibs/digigr8, which supports the same set of cameras in stillcam mode. I am a co-author of gspca/sq905.c and I am the sole author of libgphoto2/camlibs/digigr8, which is licensed under the LGPL. I hereby give myself permission to use my own code from libgphoto2 in gspca/sq905c.c. Signed-off-by: Theodore Kilgore Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 58e2ded892cf05023bf533936cadc9d264e8a20f Author: Jean-Francois Moine Date: Wed Mar 25 07:06:29 2009 -0300 V4L/DVB (11212): gspca - vc032x: Use YVYU format for sensor mi1320_soc. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 33f5b07e30b1daf98416f2e621a6201f6fff9041 Author: Jean-Francois Moine Date: Wed Mar 25 07:04:11 2009 -0300 V4L/DVB (11211): gspca - vc032x: Simplify the i2c write function. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit db786a3fde5fca025dc2ea96232e010baf335961 Author: Jean-Francois Moine Date: Mon Mar 23 06:03:52 2009 -0300 V4L/DVB (11209): gspca - vc032x: New sensor mi1320_soc and webcam 15b8:6001 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dc070bccde5b0ab2f51124bf67e9a3b40a602cba Author: Mike Isely Date: Wed Mar 25 00:30:45 2009 -0300 V4L/DVB (11208): pvrusb2: Use v4l2_device_disconnect() Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 2a6b627f8b4594987390ac35d3b344a96af3cfc9 Author: Mike Isely Date: Sun Mar 15 17:53:29 2009 -0300 V4L/DVB (11207): pvrusb2: Add composite and s-video input support for OnAir devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bb65242aa374e7ebcd32672bc9a0b890bd9117bb Author: Mike Isely Date: Sat Mar 14 14:09:04 2009 -0300 V4L/DVB (11206): pvrusb2: Add sub-device for demod Forgot to include the tda9887 component when moving to v4l2-subdev. I got fooled because its name is "tuner", the same as the tuner module. Silly me. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit defeb0b94b6acf929e82b66dbc1fcb48b9204c70 Author: Mike Isely Date: Sun Mar 8 19:14:07 2009 -0300 V4L/DVB (11205): pvrusb2: Remove ancient IVTV specific ioctl functions Remove ancient IVTV_IOC_G_CODEC and IVTV_IOC_S_CODEC ioctl functions from the pvrusb2 driver. These are very very old, were non-standard, and were only present to keep MythTV happy (their implementation did nothing except to report success). That was long ago; no recent versions of MythTV should require this anymore. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5a3bab8eb02f9413b802540530ea390d8d063e43 Author: Mike Isely Date: Sun Mar 8 18:47:47 2009 -0300 V4L/DVB (11204): pvrusb2: Remove old i2c layer; we use v4l2-subdev now This change removes the old i2c module controlling layer from the pvrusb2 driver. This is code that first had appeared in the driver back in December 2005. It's history. Now we use v4l2-subdev. Please note also that with this change, the driver will no longer be usable in kernels older that 2.6.22. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 2eb563b7e726b517ef86213df436f50ec6c1740c Author: Mike Isely Date: Sun Mar 8 18:25:46 2009 -0300 V4L/DVB (11203): pvrusb2: Implement better reporting on attached sub-devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fd28aeafd6aecf203d750871616902cbdb537e99 Author: Mike Isely Date: Sun Mar 8 18:22:48 2009 -0300 V4L/DVB (11202): pvrusb2: Fix slightly mis-leading header in debug interface output Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7dfdf1ee14c245180f26d23231e690a80b2c6225 Author: Mike Isely Date: Sat Mar 7 02:11:12 2009 -0300 V4L/DVB (11201): pvrusb2: Fix space-after-comma idiocy Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 69ea3c1cbc1d78d9f522e18e20c73e6ef9f8e39f Author: Mike Isely Date: Sat Mar 7 02:08:58 2009 -0300 V4L/DVB (11200): pvrusb2: Make a bunch of dvb config structures const (trivial) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit dd5f322f35e2a9a4d8ca5dd7c192a4137a7f5031 Author: Mike Isely Date: Sat Mar 7 02:07:12 2009 -0300 V4L/DVB (11199): pvrusb2: Convert all device definitions to use new sub-device declarations Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 23334a22ea2c068b14f57e8b6781b1e96d2df02e Author: Mike Isely Date: Sat Mar 7 02:03:28 2009 -0300 V4L/DVB (11198): pvrusb2: Define default I2C address for CS53L32A sub-device Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 851981a1ee0b7cf3726eb6aed267035b4f094336 Author: Mike Isely Date: Sat Mar 7 02:02:32 2009 -0300 V4L/DVB (11197): pvrusb2: Fix incorrectly named sub-device ID Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1dfe6c77940c27cf6655acc332906b03c0c2b683 Author: Mike Isely Date: Sat Mar 7 02:00:21 2009 -0300 V4L/DVB (11196): pvrusb2: Define default I2C addresses for msp3400 and saa7115 sub-devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5c6cb4e2512fa50693a28a2edefdaa5cf6c10950 Author: Mike Isely Date: Sat Mar 7 01:59:34 2009 -0300 V4L/DVB (11195): pvrusb2: Issue required core init broadcast to all sub-devices The v4l2-subdev infrastructure requires that an initialization call must be issued to all attached sub-devices before normal operation can start. This change satisfies that requirement. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 27764726a8fa72a7e8a7cdccbe9e4425747a96fa Author: Mike Isely Date: Sat Mar 7 01:57:25 2009 -0300 V4L/DVB (11194): pvrusb2: Implement mechanism to force a full sub-device update When a pvrusb2 driver instance first initializes, we need to be sure to send out a complete state update for everything to all attached modules. The old i2c layer did this by keeping a separate mask of "stale" bits for each attached module - and setting that mask to all stale when that module attaches. But the new sub-device adaptation I've implemented here no longer has per-module stale bits. So instead there's now a global "force dirty" bit that is set upon instance initialization, before the sub-devices are attached. After the first update, this bit is cleared, allowing for normal update-on-dirty behavior. In this manner, we ensure that all sub-devices have been properly synchronized at initialization. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5e430ca5d25e99f99c055bc43f8f140722a643b8 Author: Mike Isely Date: Sat Mar 7 01:51:54 2009 -0300 V4L/DVB (11193): pvrusb2: Correct some trace print inaccuracies Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e260508d646d671a8d7edb82dadb68bc32c8e5da Author: Mike Isely Date: Sat Mar 7 01:50:48 2009 -0300 V4L/DVB (11192): pvrusb2: Implement trace print for stream on / off action Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 0b467014990d53dc37fbf7432b729d2d45846248 Author: Mike Isely Date: Sat Mar 7 01:49:37 2009 -0300 V4L/DVB (11191): pvrusb2: Define default I2C address for cx25840 sub-device Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 75212a02734155de3d25c91344a9083d7bf2aef1 Author: Mike Isely Date: Sat Mar 7 01:48:42 2009 -0300 V4L/DVB (11190): pvrusb2: Broadcast tuner type change to sub-devices The tuner sub-device isn't going to work very well unless we tell it the correct tuner type to use... Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit b481880bff1f98085a9f57362393463e6e3a3157 Author: Mike Isely Date: Sat Mar 7 01:46:17 2009 -0300 V4L/DVB (11189): pvrusb2: Deal with space-after-comma coding style idiocy Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e68a619a1b216ed5398cbdf215a20d3411c988ea Author: Mike Isely Date: Sat Mar 7 01:45:10 2009 -0300 V4L/DVB (11188): pvrusb2: Sub-device update must happen BEFORE state dirty bits are cleared The sub-device update mechanism relies on various "dirty" bits in the driver in order to know what pieces of state need to be propagated out to the various sub-devices. But that won't work if the dirty bits are cleared before the update gets a chance to run. This change ensures that the update takes place before the dirty bits are cleared. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 0db8556805bdaed865329e55b9a1ad05f9cbd856 Author: Mike Isely Date: Sat Mar 7 01:42:40 2009 -0300 V4L/DVB (11187): pvrusb2: Allow sub-devices to insert correctly A sub-device won't successfully attach to our I2C adapter if its class isn't set to zero. Right the class is still set to I2C_CLASS_TV_ANALOG in order to allow the old mechanism to still work. This change temporarily sets the class to zero during the interval when the sub-device attaches. This code will get removed when the old i2c layer is finally removed from the driver. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5f757ddd5f193f54a5a7498d32568b630583503e Author: Mike Isely Date: Sat Mar 7 01:39:40 2009 -0300 V4L/DVB (11186): pvrusb2: Fix bugs involved in listing of sub-devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 3ab8d295156a43fc2751483d2f82a63c97489f89 Author: Mike Isely Date: Sat Mar 7 01:37:58 2009 -0300 V4L/DVB (11185): pvrusb2: Fix uninitialized counter Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ae111f76f785eaa350f0172fac68cf5de2e9eae7 Author: Mike Isely Date: Sat Mar 7 00:57:42 2009 -0300 V4L/DVB (11184): pvrusb2: Define default i2c address for wm8775 sub-device Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bd14d4f8f436d686e0e915d55533a5e70769cdf4 Author: Mike Isely Date: Sat Mar 7 00:56:52 2009 -0300 V4L/DVB (11183): pvrusb2: Implement more sub-device loading trace and improve error handling Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 634ba268b965b57da1f60edbc57f14299a5326f6 Author: Mike Isely Date: Sat Mar 7 00:54:02 2009 -0300 V4L/DVB (11182): pvrusb2: Tie in cx25840 sub-device support Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1e481cca49bf1c444562f5b86a0e5315d68640c7 Author: Mike Isely Date: Sat Mar 7 00:52:42 2009 -0300 V4L/DVB (11181): pvrusb2: Fix silly 80 column issue Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 76891d65577a3bb429aca2d8cca834cc76353cd8 Author: Mike Isely Date: Sat Mar 7 00:52:06 2009 -0300 V4L/DVB (11180): pvrusb2: Tie in msp3400 sub-device support Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4ecbc28d3df967ee52dd9d060bc56d4a85196bdf Author: Mike Isely Date: Sat Mar 7 00:49:19 2009 -0300 V4L/DVB (11179): pvrusb2: make sub-device specific update function names uniform Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 01c59df818001b0bd3a31e2301a92a8c73bccbce Author: Mike Isely Date: Sat Mar 7 00:48:09 2009 -0300 V4L/DVB (11178): pvrusb2: Make audio sample rate update into a sub-device broadcast The pvrusb2 driver had previously been using i2c module specific calls to set the sample rate (a long long time ago this was needed). These days it is safe to use a broadcast so let's just broadcast this when communicating audio sample rate to sub-devices. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6f9565120f5c2944b3d31daf03a07c272e12867b Author: Mike Isely Date: Sat Mar 7 00:43:26 2009 -0300 V4L/DVB (11177): pvrusb2: Tie in saa7115 sub-device handling Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5f6dae802c0f6a943c2c873c203642d1d3c2fc3f Author: Mike Isely Date: Sat Mar 7 00:39:34 2009 -0300 V4L/DVB (11176): pvrusb2: Tie in wm8775 sub-device handling Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit edb9dcb885c6288813b62c20e6b578492845f9ad Author: Mike Isely Date: Sat Mar 7 00:37:10 2009 -0300 V4L/DVB (11175): pvrusb2: Implement sub-device specific update framework Lay down a foundation whereby it becomes possible to send customized updates to specific sub-devices. (This becomes useful for routing configuration, which is a very sub-device specific operation.) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 858f910e869d1300c1ab0cadbe9908322f8bfb78 Author: Mike Isely Date: Sat Mar 7 00:28:28 2009 -0300 V4L/DVB (11174): pvrusb2: Implement reporting of connected sub-devices The pvrusb2 driver has a function that reports internal state. It can be accessed from either the debug interface or as the result of a v4l log status request. This change adds information listing sub-devices to the report. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 20ae26c84e48b95177e334fa9022f68aa3b77df6 Author: Mike Isely Date: Sat Mar 7 00:26:24 2009 -0300 V4L/DVB (11173): pvrusb2: Fix backwards function header comments Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1ab5e74fa3d41a3d49005e430f98cdff77a3cee6 Author: Mike Isely Date: Sat Mar 7 00:24:24 2009 -0300 V4L/DVB (11172): pvrusb2: Cause overall initialization to fail if sub-driver(s) fail Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit af78e16b5d5ba74566814ba0f50ee1d736d933a5 Author: Mike Isely Date: Sat Mar 7 00:21:30 2009 -0300 V4L/DVB (11171): pvrusb2: Tie in sub-device decoder start/stop Implement code to send appropriate streaming start/stop commands to attached sub-devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6907205bcbe7b8bcdc0720bc75e1d2558162d017 Author: Mike Isely Date: Sat Mar 7 00:19:43 2009 -0300 V4L/DVB (11170): pvrusb2: Clean-up / placeholders inserted for additional development Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 00e5f73607d1dea12bf0ccbba9832c26a611213f Author: Mike Isely Date: Sat Mar 7 00:17:11 2009 -0300 V4L/DVB (11169): pvrusb2: Note who our video decoder sub-device is, and set it up Other code may need to treat the video decoder sub-device in a special manner, so this change implements code to recognize when such a sub-device is connected to the driver, does any special processing for it, and notes who the device is for future reference. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e3e76cbb4d42b2e429401b17c95969c47e2db464 Author: Mike Isely Date: Sat Mar 7 00:14:13 2009 -0300 V4L/DVB (11168): pvrusb2: Define value for a null sub-device ID Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 2641df36212ebb29aa8d7e9a9ecac7b349108c6f Author: Mike Isely Date: Sat Mar 7 00:13:25 2009 -0300 V4L/DVB (11167): pvrusb2: Tie in various v4l2 operations into the sub-device mechanism This is another step in the v42l-subdev assimilation. This implements various call-outs to sub-devices based on state changes within the pvrusb2 driver. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 40f07111be99b71c1e8d40c13cdc38445add787f Author: Mike Isely Date: Sat Mar 7 00:08:17 2009 -0300 V4L/DVB (11166): pvrusb2: Implement status fetching from sub-devices Implement status fetching operations in terms of calling out to sub-device(s). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d8f5b9ba82482cab344c2d54c2c487b607e34864 Author: Mike Isely Date: Sat Mar 7 00:05:00 2009 -0300 V4L/DVB (11165): pvrusb2: Tie in debug register access to sub-devices Implement tie-in for v4l2 debug register access such that the appropriate attached sub-device is handled. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ed3261a85993a1f2009a63758e70ac54547b2697 Author: Mike Isely Date: Sat Mar 7 00:02:33 2009 -0300 V4L/DVB (11164): pvrusb2: Tie-in sub-device log requests Trigger a broadcast to attached sub-devices when a logging request is made. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5ceaad14eac97662afd4ed1dddf343cfb322caa3 Author: Mike Isely Date: Sat Mar 7 00:01:20 2009 -0300 V4L/DVB (11163): pvrusb2: Lay foundation for triggering sub-device updates These changes set up the spot where we'll check for and set general updates to any attached sub-devices. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 446dfdc6cc62890098a1b92a4a84019a34dce0cc Author: Mike Isely Date: Fri Mar 6 23:58:15 2009 -0300 V4L/DVB (11162): pvrusb2: Tie up loose ends with v4l2-subdev setup Tie up loose ends with v4l2-subdev setup. Set attached module's group ID to match our internal ID, emit a few useful messages when sub-devices are dealt with, implement better error legs, and fix an error in the old i2c layer (caused by changes related to the v4l2-subdev work here). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 15b474423f0642e6ff78f1963b816155e80fc932 Author: Mike Isely Date: Fri Mar 6 23:51:35 2009 -0300 V4L/DVB (11161): pvrusb2: Set i2c autoprobing to be off by default In order to keep a sub-device from promiscuously attaching to the pvrusb2 driver, the i2c adapter's class must be cleared. This change clears that class by default. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6063a4422cd80eef9cfdd2a57620a2fc73858b1c Author: Mike Isely Date: Fri Mar 6 23:48:42 2009 -0300 V4L/DVB (11160): pvrusb2: whitespace tweaks Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a932f507463d996b6ec1647ee7d4e2fa1e6aeda6 Author: Mike Isely Date: Fri Mar 6 23:47:10 2009 -0300 V4L/DVB (11159): pvrusb2: Providing means to stop tracking an old i2c module This implements a temporary mechanism to "untrack" an i2c module from the old i2c layer. The v4l2-subdev related code in the driver will use this to remove a sub-device from the old i2c layer. In the end, once the old i2c layer is removed, this will also eventually go away. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e9c64a78dbd7c4f6c4a31c4040f340f732bf4ec5 Author: Mike Isely Date: Fri Mar 6 23:42:20 2009 -0300 V4L/DVB (11158): pvrusb2: New device attribute mechanism to specify sub-devices Set up new mechanism for declaring and loading appropriate sub-devices when driver initializes. This is another part of the v4l2-subdev adoption. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit acd92d40ccaf140d27e6bd5b83573294165ebbdf Author: Mike Isely Date: Fri Mar 6 23:32:02 2009 -0300 V4L/DVB (11157): pvrusb2: whitespace trivial tweaks Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a51f5000b791003e0ab9ecebbdecb87c4024156f Author: Mike Isely Date: Fri Mar 6 23:30:37 2009 -0300 V4L/DVB (11156): pvrusb2: Changes to further isolate old i2c layer This introduces some additional isolation in the pvrusb2 from the old i2c layer, a step along the way to separate the driver from that layer and to make it easier to introduce the common v4l2-subdev framework as the eventual replacement. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit b72b7bf5cbb2ae77b3bf748456655fc284baf04c Author: Mike Isely Date: Fri Mar 6 23:20:31 2009 -0300 V4L/DVB (11155): pvrusb2: Set up v4l2_device instance Define a v4l2_device instance in the pvrusb2 driver and initialize / tear it down appropriately. This is a step in the v4l2-subdev adoption effort. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 59af33679592dd6e7bc7aa955098389724684a74 Author: Mike Isely Date: Sat Mar 7 03:06:09 2009 -0300 V4L/DVB (11154): pvrusb2: Split i2c module handling from i2c adapter This is the first step in the effort to move the pvrusb2 driver over to using the v4l2-subdev framework. This commit involves mainly splitting apart pvrusb2-i2c-core - part of it is the driver's I2C adapter driver and the rest is the old i2c module handling logic. The i2c module handling junk is moved out to pvrusb2-i2c-track and various header references are correspondingly updated. Yes, this patch has a huge pile of checkpatch complaints, but I'm NOT going to fix any of it. Why? First, I'm moving a large chunk of existing code and I'm not going to spend time adjusting it to match someone's idea of coding style. Second, in the end I expect all that moved code to go away by the time the rework is done so wasting time on it now to adhere to the standard is in the end a large waste of time. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c457377a3a18117aa99653f3715d81960a1c6bda Author: Janne Grunau Date: Mon Mar 23 18:18:54 2009 -0300 V4L/DVB (11152): hdpvr: Fix build with Config_I2C not set Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 235d0ff2874091981c482d71bbce8b7c30cbc3b3 Author: Jean-Francois Moine Date: Sun Mar 22 16:33:47 2009 -0300 V4L/DVB (11146): gspca - vc032x: Change the probe sequence. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e30bdc669371ad511a5b4898aacfc01015553c5b Author: Jean-Francois Moine Date: Sun Mar 22 16:31:32 2009 -0300 V4L/DVB (11145): gspca - t613: Greater delay after om6802 reset. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 249fe889fd39801bd3a20cf245170dbd277a0501 Author: Jean-Francois Moine Date: Sun Mar 22 16:30:42 2009 -0300 V4L/DVB (11144): gspca - t613: Don't re-read the ID registers at probe time. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3da37e42baa8bd5953899ac078e36c97ba172e42 Author: Jean-Francois Moine Date: Sun Mar 22 16:29:36 2009 -0300 V4L/DVB (11143): gspca - t613: Bad sensor detection. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fadadb7d7ad1d6c09863fcf24f83e59f596201ed Author: Devin Heitmueller Date: Sun Mar 22 23:42:26 2009 -0300 V4L/DVB (11142): au0828: fix oops on ARM platform when allocating transfer buffers Add missing URB_NO_TRANSFER_DMA_MAP flag, since the use of consistent memory is not permitted for DMA on the ARM platform. Thanks to Paul Thomas for providing sample ARM hardware that was experiencing the oops (tested on the at91rm9200 based LinuxStamp). Thanks to David Brownell for providing insight into the ARM memory architecture. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 9a4f8201a5d241dd725c1e1c796d826e49dcd396 Author: Devin Heitmueller Date: Sun Mar 22 23:41:28 2009 -0300 V4L/DVB (11141): em28xx: fix oops on ARM platform when allocating transfer buffers Add missing URB_NO_TRANSFER_DMA_MAP flag, since the use of consistent memory is not permitted for DMA on the ARM platform. Thanks to Paul Thomas for providing sample ARM hardware that was experiencing the oops (tested on the at91rm9200 based LinuxStamp). Thanks to David Brownell for providing insight into the ARM memory architecture. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f876897015e15e879ad531f78260086a7fdee813 Author: Devin Heitmueller Date: Sun Mar 22 23:39:12 2009 -0300 V4L/DVB (11140): usbvision: fix oops on ARM platform when allocating transfer buffers Add missing URB_NO_TRANSFER_DMA_MAP flag, since the use of consistent memory is not permitted for DMA on the ARM platform. Thanks to Paul Thomas for providing sample ARM hardware that was experiencing the oops (tested on the at91rm9200 based LinuxStamp). Thanks to David Brownell for providing insight into the ARM memory architecture. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 62cfc346a325f60256f5eda93ac3b6e7ba6cdc1b Author: Devin Heitmueller Date: Sun Mar 22 22:58:46 2009 -0300 V4L/DVB (11139): em28xx: add remote control definition for HVR-900 (both versions) The HVR-900 did not have a remote control defined, so it would not work. Add the line for both versions of the product. Thanks to Jens-Michael Hoffmann (#linuxtv user "jmho") for pointing out the issue and testing the patch. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f65a95bbf4f23dd83596e7c2dd78f4e1cc268c4f Author: Mauro Carvalho Chehab Date: Mon Mar 23 12:35:03 2009 -0300 V4L/DVB (11138): get_dvb_firmware: add support for downloading the cx2584x firmware for pvrusb2 Signed-off-by: Mauro Carvalho Chehab commit 5297e6f7e9818a43228f6b4131c4630f08075093 Author: Mauro Carvalho Chehab Date: Mon Mar 23 11:46:19 2009 -0300 V4L/DVB (11137): get_dvb_firmware: add cx23885 firmwares Signed-off-by: Mauro Carvalho Chehab commit b888c5dadb4ae409964bd7b9bedfac507ab10972 Author: Mauro Carvalho Chehab Date: Mon Mar 23 10:57:15 2009 -0300 V4L/DVB (11136): get_dvb_firmware: Add download code for cx18 firmwares Signed-off-by: Mauro Carvalho Chehab commit 1398ae1fe6048d49397dccaa4bc1a4101eecf643 Author: Mauro Carvalho Chehab Date: Fri Mar 20 19:33:59 2009 -0300 V4L/DVB (11127): Kconfig: replace all occurrences of CUSTOMIZE to CUSTOMISE There are several Kconfig items using CUSTOMIZE. Yet, most use the English writing CUSTOMISE. This generates lots of trouble, because people sometimes type the Kbuild item different. Let's standardise every occurrence using the same syntax. The changes were generated by this small shell script: for i in `find linux -type f`; do sed s,CUSTOMIZE,CUSTOMISE,g $i >/tmp/a && mv /tmp/a $i; done Signed-off-by: Mauro Carvalho Chehab commit e86da6f07ed6deebc199368bd0a47b3671829b80 Author: Janne Grunau Date: Thu Mar 19 19:00:35 2009 -0300 V4L/DVB (11125): fix mispelled Hauppauge in HD PVR and PVR USB2 driver comments Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit dceaddb978a7fcd2efbdf6775a509529757327c3 Author: Alan McIvor Date: Thu Mar 12 21:43:34 2009 -0300 V4L/DVB (11124): Add support for ProVideo PV-183 to bttv Add support for ProVideo PV-183 to bttv This patch adds support for the ProVideo PV-183 card to the bttv device driver. The PV-183 is a PCI card with 8 BT878 devices plus a Hint Corp HiNT HB4 PCI-PCI Bridge. Each BT878 has two composite input channels available. There are no tuners on this card. Signed-off-by: Alan McIvor Signed-off-by: Mauro Carvalho Chehab commit acc5d851b824c78df430537b6a2fc5951bec5daa Author: Hans Verkuil Date: Wed Mar 18 13:31:56 2009 -0300 V4L/DVB (11120): cafe_ccic: stick in a comment with a request for test results Due to lack of hardware this conversion to v4l2_device/v4l2_subdev is untested. If all goes well I should be able to test it in about a month, but just in case I can't manage that it should be made clear in the code that this isn't tested. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 69d94f7ec5edea85da0057c48c4f2877e5bb509e Author: Hans Verkuil Date: Wed Mar 18 13:25:54 2009 -0300 V4L/DVB (11118): cafe_ccic: replace debugfs with g/s_register ioctls. Using VIDIOC_DBG_S/G_REGISTER is the standard way of reading/writing register for advanced debugging under v4l2. In addition, using this means that the cafe_ccic driver doesn't need to have knowledge about the used sensor: the debug ioctl can be passed on to the sensor if it isn't for the host. Signed-off-by: Hans Verkuil Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit b794aabff01a704df5c0bcf6537e6a7343a08465 Author: Hans Verkuil Date: Wed Mar 18 13:24:05 2009 -0300 V4L/DVB (11117): ov7670: add support to get/set registers Signed-off-by: Hans Verkuil Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit ca07561ac70b00b5c2b5af727b3d0b6a4f91bee2 Author: Hans Verkuil Date: Wed Mar 18 13:23:13 2009 -0300 V4L/DVB (11116): ov7670: cleanup and remove legacy code. v4l2-i2c-drv-legacy.h and ov7670_command are no longer needed after the cafe driver is converted to use v4l2_subdev. Rather than using a large ov7670_control array, just call the handlers via a simple switch and use v4l2_ctrl_query_fill() to handle queryctrl. Signed-off-by: Hans Verkuil Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 8bcfd7af902eaa7c0029082247fe0682ce0c1a5b Author: Hans Verkuil Date: Wed Mar 18 13:16:44 2009 -0300 V4L/DVB (11115): cafe_ccic: use v4l2_subdev to talk to the ov7670 sensor. Signed-off-by: Hans Verkuil Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 21508b902b314e0cd9c081a9141b138e96c9f441 Author: Hans Verkuil Date: Wed Mar 18 13:13:09 2009 -0300 V4L/DVB (11114): cafe_ccic: convert to v4l2_device. Convert this driver to v4l2_device and removed the unnecessary cafe_dev_list. Signed-off-by: Hans Verkuil Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 14386c2b7793652a656021a3345cff3b0f6771f9 Author: Hans Verkuil Date: Wed Mar 18 13:01:06 2009 -0300 V4L/DVB (11113): ov7670: convert to v4l2_subdev Signed-off-by: Hans Verkuil Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 2da9479aaa331bdfaadab0d14f75fd76bfa5e56a Author: Hans Verkuil Date: Fri Feb 6 18:59:35 2009 -0300 V4L/DVB (11112): v4l2-subdev: add support for TRY_FMT, ENUM_FMT and G/S_PARM. These ops are used by the ov7670 driver, so these need to be added. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e34184edfbe3ea818408f0ac1cb1fe538301e67d Author: Jean Delvare Date: Sat Mar 14 15:21:24 2009 -0300 V4L/DVB (11111a): MAINTAINERS: Drop references to deprecated video4linux list Mailing list video4linux-list@redhat.com is deprecated, so drop references to it in MAINTAINERS. MAINTAINERS | 2 -- Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit dcd241c384357e5c146299d45d2ee2f4ad439723 Author: Mauro Carvalho Chehab Date: Thu Mar 19 21:41:08 2009 -0300 V4L/DVB (11111): dvb_dummy_fe: Fix compilation breakage As reported by Randy Dunlap : ERROR: "dvb_dummy_fe_ofdm_attach" [drivers/media/video/cx231xx/cx231xx-dvb.ko] undefined! This happens since cx231xx DVB part still misses the frontend modules. So, the dummy frontend were used for development. The proper fix is to implement the DVB modules there, as they will be required. While this won't happen, lets allow the compilation with or without the dummy FE testing module. Signed-off-by: Mauro Carvalho Chehab commit 6a39a38e338527effb2703e76aedd856cc7b3683 Author: Mauro Carvalho Chehab Date: Thu Mar 19 21:03:09 2009 -0300 V4L/DVB (11110): au8522/au0828: Fix Kconfig dependencies au8522 is now dependent of V4L2, as reported by Randy Dunlap : au8522_decoder.c:(.text+0x199898): undefined reference to `v4l2_ctrl_query_fill' au8522_decoder.c:(.text+0x1998b3): undefined reference to `v4l2_ctrl_query_fill' au8522_decoder.c:(.text+0x199944): undefined reference to `v4l2_device_unregister_subdev' au8522_decoder.c:(.text+0x19997c): undefined reference to `v4l2_chip_ident_i2c_client' au8522_decoder.c:(.text+0x199f1e): undefined reference to `v4l2_i2c_subdev_init' Cc: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 80c6e358c1b6da0b9aa97e10c82317b7104821bb Author: Mauro Carvalho Chehab Date: Thu Mar 19 19:26:23 2009 -0300 V4L/DVB (11109): au0828: Fix compilation when VIDEO_ADV_DEBUG = n As reported by Kyle McMartin and Randy Dunlap: drivers/media/video/au0828/au0828-video.c:1438: error: 'const struct v4l2_subdev_core_ops' has no member named 'g_register' drivers/media/video/au0828/au0828-video.c:1453: error: 'const struct v4l2_subdev_core_ops' has no member named 's_register' This patch properly implements those two API ioctls only when debug is enabled. Cc: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 06e9509ff3484578c111bbc6f9e0e97c086a1131 Author: Mauro Carvalho Chehab Date: Thu Mar 19 12:10:00 2009 -0300 V4L/DVB (11108): get_dvb_firmware: Add option to download firmware for cx231xx Signed-off-by: Mauro Carvalho Chehab commit 2ce949ec661efe1e9747ae1419932a4b6fb1e24b Author: Jean-Francois Moine Date: Thu Mar 19 06:15:21 2009 -0300 V4L/DVB (11106): gspca - ov534: New sensor ov965x and re-enable the webcam 06f8:3003 Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 84fbdf87ab8eaa4eaefb317a7eb437cd4d3d0ebf Author: Jean-Francois Moine Date: Thu Mar 19 06:12:59 2009 -0300 V4L/DVB (11105): gspca - ov534: Adjust the packet scan function - change max payload size to 2040 bytes (was 2048) - optimize Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3481c19854cdb1de1842c6ea6d558006ac0b3b7d Author: Jean-Francois Moine Date: Thu Mar 19 06:05:06 2009 -0300 V4L/DVB (11104): gspca - ov534: Bad frame pointer after adding the last packet Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0dc641dc9f7f168fc45f3032b22dcf7d5b57c47c Author: Jean-Francois Moine Date: Thu Mar 19 05:55:22 2009 -0300 V4L/DVB (11103): gspca - main: May have isochronous transfers on altsetting 0 Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 235f0e4348cc57d5a5fe36d07530ecf6541eeae5 Author: Hans Verkuil Date: Wed Mar 18 16:39:07 2009 -0300 V4L/DVB (11100): au8522: fix compilation warning. normal_i2c and I2C_CLIENT_INSMOD are only necessary for kernels < 2.6.22. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d64260d58865004c6354e024da3450fdd607ea07 Author: Hans Verkuil Date: Wed Mar 18 15:48:01 2009 -0300 V4L/DVB (11098): v4l2-common: remove incorrect MODULE test v4l2-common doesn't have to be a module for it to call request_module(). Just remove that test. Thanks-to: Guennadi Liakhovetski Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 76717b887cccc77d04357fc0d6ac98f894e3eb3c Author: Janne Grunau Date: Wed Mar 18 20:57:04 2009 -0300 V4L/DVB (11097): use video_ioctl2 as ioctl handler directly The encoder commands ioctls are available in v4l2_ioctl_ops. Use them and get rid of the custom ioctl handler and use video_ioctl2. Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 9aba42efe85bc7a55e3fed0747ce14abc9ee96e7 Author: Janne Grunau Date: Wed Mar 18 18:10:04 2009 -0300 V4L/DVB (11096): V4L2 Driver for the Hauppauge HD PVR usb capture device The device encodes component video up to 1080i to a MPEG-TS stream with H.264 video and stereo AAC audio. Newer firmwares accept also AC3 (up to 5.1) audio over optical SPDIF without reencoding. Firmware upgrade is unimplemeted but rather unimportant since the firmware sits on a flash chip. The I2C adapter to drive the integrated infrared receiver/sender is currently disabled due to a conflict with cx18-based devices. Tested-by: Jarod Wilson Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 8c84cfda3e37540abc38f42383b03dd69829faee Author: Janne Grunau Date: Wed Mar 18 17:00:39 2009 -0300 V4L/DVB (11095): adds V4L2_CID_SHARPNESS to v4l2_ctrl_query_fill() Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 4ab9b256b5908afbdc030a8c3184ce243f5aca39 Author: Andy Walls Date: Sat Mar 14 23:20:49 2009 -0300 V4L/DVB (11092): cx18: Optimize processing of VBI buffers from the capture unit Removed some unnecessary memcpy()'s by reworking the compress_*_vbi_buf() functions. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 6e1a63720228ef7fc3bd00b04dfb608064fbab4e Author: Andy Walls Date: Sat Mar 14 20:03:26 2009 -0300 V4L/DVB (11091): cx18, ivtv: Ensure endianess for linemasks in VBI embedded in MPEG stream The sliced VBI payloads that cx18 and ivtv would insert in the MPEG stream did not have consistent endianess for the linemasks in the payload (a big endian platform would write them out big endian). This change ensures the linemasks are always stored as little-endian in the MPEG stream to ensure cross platform consistency in parsing the generated MPEG stream. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit baadd7925c98968c94e9657272d91957a3ad0a41 Author: Devin Heitmueller Date: Sun Mar 15 20:05:51 2009 -0300 V4L/DVB (11089): au8522: finish conversion to v4l2_device/subdev Per Hans Verkuil instruction, remove the au8522_command and replace v4l2-i2c-drv-legacy.h with v4l2-i2c-drv.h Thanks to Hans Verkuil for reviewing the au8522 analog support. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 2689d3dcc6c75c0b4a05b66330db85df2c036d3e Author: Devin Heitmueller Date: Sun Mar 15 20:01:53 2009 -0300 V4L/DVB (11088): au0828: finish videodev/subdev conversion Per Hans Verkuil instruction, remove the deprecated attach_inform/detach_inform routines, and convert over the i2c calls to subdev calls. Thanks to Hans Verkuil for providing feedback on the au0828 analog support. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit dd27ade7a9195cb3b1f56df4d0ec39763830390b Author: Devin Heitmueller Date: Sun Mar 15 18:52:10 2009 -0300 V4L/DVB (11086): au0828: rename macro for currently non-function VBI support The VBI support or the au0828 has the framework written but it does not yet work. Rename the macro per Mauro's request. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 62899a28008d635f25c3408b4cc46021f0cb34d3 Author: Devin Heitmueller Date: Sun Mar 15 18:48:52 2009 -0300 V4L/DVB (11085): au0828/au8522: Codingstyle fixes Take a pass over all of the au0828/au8522 files and cleanup all the codingstyle issues. This patch does not make *any* functional change to the code. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3d62287e2c6c5b3351e04dd2c2209b2536995fdb Author: Devin Heitmueller Date: Sun Mar 15 17:48:26 2009 -0300 V4L/DVB (11084): au0828: add entry for undefined input type For the sake of completeness, include the "undefined" input type enumeration, even though there is no path that can actually call it. Thanks to Mauro Carvalho Chehab for pointing this out. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a1094c4cd10a7075598b73cd0bbf07f6b1acbb6a Author: Devin Heitmueller Date: Sun Mar 15 17:43:13 2009 -0300 V4L/DVB (11083): au0828: remove some unneeded braces There were some braces left behind from when there was more code in the block. Remove it. Thanks to Mauro Carvalho Chehab for pointing this out. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit c888923debf8c8a799629f77d07aeb0f8350c87b Author: Devin Heitmueller Date: Sun Mar 15 17:38:47 2009 -0300 V4L/DVB (11082): au0828: remove memset calls in v4l2 routines. The userland callers are responsible for clearing the output buffers, so remove the unneeded memset calls. Thanks to Mauro Carvalho Chehab for pointing this out. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e13ce79734348610a2b782cb818db65659b0dc83 Author: Devin Heitmueller Date: Wed Mar 11 21:58:04 2009 -0300 V4L/DVB (11081): au0828: make sure v4l2_device name is unique Make sure newly created v4l2 devices have a unique name, modeling the logic after the cx18 driver. Thanks to Andy Walls for pointing out the issue. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b14667f32ad0f85f986847ef65f9f3d12a44b71a Author: Devin Heitmueller Date: Wed Mar 11 03:01:04 2009 -0300 V4L/DVB (11080): au0828: Convert to use v4l2_device/subdev framework Convert over to using the new subdev framework for the au0828 bridge. This includes using the new i2c probing mechanism. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 2eaf396020555973cad7aa5b517c2418eccbca50 Author: Devin Heitmueller Date: Wed Mar 11 03:01:02 2009 -0300 V4L/DVB (11079): au0828: fix panic on disconnect if analog initialization failed If the analog initialization failed to create the video device, we never actually add the entry to the au0828_devlist. Therefore a panic occurs when unregistering the analog subsystem. Make it so we only remove the entry from the list if we added it to the list in the first place. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 220be77c6e4302207c34afc78a98b4994f92f6e5 Author: Devin Heitmueller Date: Wed Mar 11 03:01:01 2009 -0300 V4L/DVB (11078): au0828: properly handle non-existent analog inputs It is not valid to look for dev->board.input == NULL to detect an undefined analog configuration section, since it is a member of the struct and not a pointer (hence it will *always* be non-NULL). Do the check based on whether the first input is actually a valid input type instead. Thanks to Michael Krufky for providing sample hardware of various configurations to test with. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fc4ce6cd9855dcd1151a9afc067ea354179089f9 Author: Devin Heitmueller Date: Wed Mar 11 03:01:00 2009 -0300 V4L/DVB (11077): au0828: properly handle missing analog USB endpoint Move the setup of the analog isoc handler into au0828-video.c, so it does not occur if there is not an .input section defined for the board. Also fixes a case where if there is an input section but the board does not actually have analog support, the digital support will continue to work as expected. Thanks to Michael Krufky for providing sample hardware of various configurations to test with. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d9109bef4b4f501eee94ae68bf876f765d5c6941 Author: Devin Heitmueller Date: Wed Mar 11 03:00:58 2009 -0300 V4L/DVB (11076): au0828: make g_chip_ident call work properly Make the g_chip_ident call work for the au0828/au8522. Discovered when testing with the v4l2_compliance tool Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky [mchehab@redhat.com: fix merge conflict, due to a path change for analog demod] Signed-off-by: Mauro Carvalho Chehab commit b80f770a981db1d1f5a41626792c701f8c5bf973 Author: Devin Heitmueller Date: Wed Mar 11 03:00:57 2009 -0300 V4L/DVB (11075): au0828: make register debug lines easier to read Make it a little easier to read the debug messages for register read/write operations Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dc8685b565d6526aca6aaefb80059d115c124821 Author: Devin Heitmueller Date: Wed Mar 11 03:00:56 2009 -0300 V4L/DVB (11074): au0828: fix i2c enumeration bug There was a bug where enumerating the i2c for devices would result in false positives. The root of the issue was the scanning was using SMBUS_QUICK messages, which are zero length write requests (which our i2c adapter implementation didn't handle). Because we never strobed any bytes onto the bus, the status register would still contain the value from the previous request. Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5a5a4e16fa19fa3789398e8c707168b7da718b64 Author: Devin Heitmueller Date: Wed Mar 11 03:00:55 2009 -0300 V4L/DVB (11073): au0828: disable VBI code since it doesn't yet work Since the VBI support is not yet working for the au0828, don't advertise the capability or create the /dev/vbi device. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0ef21071d985cb9e33238210760810c71e100b20 Author: Devin Heitmueller Date: Wed Mar 11 03:00:53 2009 -0300 V4L/DVB (11072): au0828: advertise only NTSC-M (as opposed to all NTSC standards) We don't now how to make any variant of NTSC work other than NTSC-M, so don't advertise that we support the other variants. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e2bff45cd6151b4deb6adfd94eab87374f43ea34 Author: Devin Heitmueller Date: Wed Mar 11 03:00:49 2009 -0300 V4L/DVB (11071): tveeprom: add the xc5000 tuner to the tveeprom definition Prior to now, we never relied on the Hauppauge tveeprom to identify which tuner is associated with the board. Now that the HVR-950q determines what the tuner is based on the eeprom, set the tuner ID appropriately. Thanks to Michael Krufky for providing information on the tveeprom organization. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f1add5b5ec2a6efaa0f5648d0dc2c56d83a3ecf8 Author: Devin Heitmueller Date: Wed Mar 11 03:00:47 2009 -0300 V4L/DVB (11070): au0828: Rework the way the analog video binding occurs Rework the way boards are managed so that we can change the board description based on the Hauppauge eeprom (modeled after cx88-cards.c). Also, make sure that we don't load the analog stack if there are no analog inputs defined in the board profile. Thanks to Michael Krufky for providing information on the various ways different Hauppauge boards can be configured. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4ff5ed44f84aed6727ec226853a1c6b03c36db5e Author: Devin Heitmueller Date: Wed Mar 11 03:00:45 2009 -0300 V4L/DVB (11069): au8522: add mutex protecting use of hybrid state Access using the hybrid state framework requires the list to be protected by a mutex. Thanks to Michael Krufky for reporting this during a code review. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7fdd7c72ad65ef98d1071cf4cd8a39490f423bae Author: Devin Heitmueller Date: Wed Mar 11 03:00:43 2009 -0300 V4L/DVB (11068): au0828: add analog profile for the HVR-850 Add the analog parameters to the device profile for the HVR-850 Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 32c000ad93fe8c447342632024ddef1ca516a0e9 Author: Devin Heitmueller Date: Wed Mar 11 03:00:41 2009 -0300 V4L/DVB (11067): au0828: workaround a bug in the au0828 i2c handling There is an issue related to the i2c clock for addressing the xc5000. The au0828 chip does not support clock stretching, which the xc5000 makes use of. This results in cases where we silently get back garbage in i2c read operations. To work around this issue until we slow down the i2c clock when talking with that specific device. This was not an issue before we had analog support because we never needed to enumerate the i2c bus, and digital tuning never actually needed to perform read operations against the xc5000. Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 8b2f079523450fa2d65cbb3f8453820bf1e17533 Author: Devin Heitmueller Date: Wed Mar 11 03:00:40 2009 -0300 V4L/DVB (11066): au0828: add support for analog functionality in bridge Add support for the analog functionality found in the au0828 bridge Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky [mchehab@redhat.com: fix compilation by adding linux/version.h] Signed-off-by: Mauro Carvalho Chehab commit 968cf78285ef03672ae514e9ad7a60919eb97551 Author: Devin Heitmueller Date: Wed Mar 11 03:00:38 2009 -0300 V4L/DVB (11065): au8522: add support for analog side of demodulator Add support for the analog functionality in the au8522 analog/digital demodulator Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky [mchehab: renamed drivers/media/video/au8522_decoder.c as drivers/media/dvb/frontends/au8522_decoder.c to avoid breaking bisect] Signed-off-by: Mauro Carvalho Chehab commit 209fdf66b8699a6b2998b58e572d67230dae507f Author: Devin Heitmueller Date: Wed Mar 11 03:00:36 2009 -0300 V4L/DVB (11064): au8522: make use of hybrid framework so analog/digital demod can share state Make use of the hybrid tuner framework so the analog and digital parts of the au8522 demodulator can make use of the same shared state. Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7bf63eda681e095ca3c39d075354053107febf80 Author: Devin Heitmueller Date: Wed Mar 11 03:00:34 2009 -0300 V4L/DVB (11063): au8522: power down the digital demod when not in use When the au8522 is idle, put the chip into a low power mode (reduces power consumption from 450ma to 346ma) Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 083a17317be27a0f33d999b4360320b322a8b55b Author: Devin Heitmueller Date: Wed Mar 11 03:00:19 2009 -0300 V4L/DVB (11062): au8522: fix register read/write high bits For the i2c messages to read and write registers, the two high order bits of the first byte dictates whether it is a read or a write operation. Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0c44bf362fc1f0dc927b814184d9b877a2f507cf Author: Devin Heitmueller Date: Wed Mar 11 02:59:56 2009 -0300 V4L/DVB (11061): au8522: move shared state and common functions into a separate header files Move the au8522 state structure, as well as exposing functions needed by the analog side of the demodulator into a common header file. Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f56738cd81690dcaec92307b1a7f9f5f69af15b1 Author: Devin Heitmueller Date: Wed Mar 11 02:59:30 2009 -0300 V4L/DVB (11060): au8522: rename the au8522.c source file Rename the au8522.c file to au8522_dig.c so that more source files can be added to the driver while preserving the original name of au8522.ko Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ea2278633ab4728c41b4043f47df4d3e39131992 Author: Devin Heitmueller Date: Wed Mar 11 02:58:53 2009 -0300 V4L/DVB (11059): xc5000: fix bug for hybrid xc5000 devices with IF other than 5380 The xc5000 driver has a bug where the IF is always set to whatever the first caller to dvb_attach() provides. This fails when the device requires an IF other than 5380 and the analog driver is loaded first through tuner-core (which always supplies the hard-coded value of 5380). Thanks to Michael Krufky and Steven Toth for providing sample hardware, engineering level support, and testing. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e9d4a6d5ef58a700d3add96ffb984741c6e34fff Author: Abylay Ospan Date: Tue Mar 17 18:21:18 2009 -0300 V4L/DVB (11057): Fix CiMax stability in Netup Dual DVB-S2 CI It appears TS discontinuity about one per 10 hrs if CAM used. Patch to fix it. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit f1bee6994426c3a1435ee8d214b1c426a009784f Author: Abylay Ospan Date: Tue Mar 17 18:13:52 2009 -0300 V4L/DVB (11056): Bug fix in NetUP: restore high address lines in CI CI high address lines disappears due to wrong data type used. Patch to fix it. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 5765348cd41c17c797765174d479508ecfbd43de Author: Igor M. Liplianin Date: Sun Mar 15 07:31:45 2009 -0300 V4L/DVB (11055): Fix typo in stv0900 Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 11a84143b27303095b035931350e9233b538c4e3 Author: Igor M. Liplianin Date: Sun Mar 15 07:28:45 2009 -0300 V4L/DVB (11054): Shorten some lines in stv0900 to less then 81 characters Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit b8ced13462cdb0e407831683b8e2c989b13db3ac Author: Hans Verkuil Date: Sun Mar 15 06:53:32 2009 -0300 V4L/DVB (11053): saa7134: set v4l2_dev field of video_device The v4l2_dev field of video_device wasn't initialized. The parent field is derived from v4l2_dev, so that doesn't need to be set anymore. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1efd5261ff0b615c482c734e3fb11a75f671d8da Author: Hans Verkuil Date: Sat Mar 14 16:34:07 2009 -0300 V4L/DVB (11052): bt819: remove an unused header Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 15965f063d6d42bd451415923c4cccbdb4a61bdd Author: Hans Verkuil Date: Sat Mar 14 15:06:08 2009 -0300 V4L/DVB (11051): v4l-dvb: replace remaining references to the old mailinglist. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 33470423aba5da982dc944658da232942824f2d5 Author: Hans Verkuil Date: Sat Mar 14 12:53:37 2009 -0300 V4L/DVB (11048): zoran: fix incorrect return type of notify function. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9467fe126451c7fc7878d21f3cd1938421ef972e Author: Hans Verkuil Date: Sat Mar 14 12:40:51 2009 -0300 V4L/DVB (11047): cx88: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 74fc7bd9cec0ccdbea23659208492ec7ffc58297 Author: Hans Verkuil Date: Sat Mar 14 12:36:54 2009 -0300 V4L/DVB (11046): bttv: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f1ba28c3a6e472742cbd73b05b807684e5d56b5a Author: Hans Verkuil Date: Sat Mar 14 12:27:01 2009 -0300 V4L/DVB (11045): v4l2: call v4l2_device_disconnect in USB drivers. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ae6cfaace120f4330715b56265ce0e4a710e1276 Author: Hans Verkuil Date: Sat Mar 14 08:28:45 2009 -0300 V4L/DVB (11044): v4l2-device: add v4l2_device_disconnect Call v4l2_device_disconnect when the parent of a hotpluggable device disconnects. This ensures that you do not have a pointer to a device that is no longer present. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6273fda6e32e2cd9a478545d0cbc15ac497b1f4b Author: Andy Walls Date: Sat Mar 14 17:06:07 2009 -0300 V4L/DVB (11042): v4l2-api: Add definitions for V4L2_MPEG_STREAM_VBI_FMT_IVTV payloads This addition to the v4l2-api add definitions for the constants and data structures used for sliced VBI data insertion into MPEG streams triggered by V4L2_MPEG_STREAM_VBI_FMT_IVTV. This simply declares what the ivtv and cx18 drivers and MythTV have already been doing and provides a proper data structure definition to user space. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 77ac0baf24d1a43498f7bdf6efa2ee6c4ed0ebaa Author: Jean-Francois Moine Date: Mon Mar 2 06:40:52 2009 -0300 V4L/DVB (11040): gspca - most jpeg subdrivers: Have the JPEG quality settable. The JPEG quality of the images (quantization tables) is now settable by the VIDIOC_S_JPEGCOMP ioctl. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 71cb2764fcc51bd9e1b95be5b0f2da6f026634c7 Author: Jean-Francois Moine Date: Tue Mar 3 05:33:41 2009 -0300 V4L/DVB (11039): gspca - most jpeg subdrivers: Change the JPEG header creation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c98afbfc20355dd04a7b817b232e06a4c3e73bac Author: Philippe Rétornaz Date: Fri Mar 13 09:42:32 2009 -0300 V4L/DVB (11035): mt9t031 bugfix - The video device is not allocated when mt9t031_init() is called, don't use it in debug printk. - The clock polarity is inverted in mt9t031_set_bus_param(), use the correct one. Signed-off-by: Philippe Rétornaz Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d42574d1d26a17b5c4a3e9d5cbd2e5cacfd550fa Author: Sascha Hauer Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11034): soc-camera: remove now unused gpio member of struct soc_camera_link Signed-off-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e958e27adeade7fa085dd396a8a0dfaef7e338c1 Author: Sascha Hauer Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11033): mt9v022: allow setting of bus width from board code This patch removes the phytec specific setting of the bus width and switches to the more generic query_bus_param/set_bus_param hooks Signed-off-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 36034dc325ecab63c8cfb992fbf9a1a8e94738a2 Author: Sascha Hauer Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11032): mt9m001: allow setting of bus width from board code This patch removes the phytec specific setting of the bus width and switches to the more generic query_bus_param/set_bus_param hooks Signed-off-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d75b1dcc84a5c8bf3e660dd1ba3ae6cd5e6d0929 Author: Sascha Hauer Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11031): pcm990 baseboard: add camera bus width switch setting Some Phytec cameras have a I2C GPIO expander which allows it to switch between different sensor bus widths. This was previously handled in the camera driver. Since handling of this switch varies on several boards the cameras are used on, the board support seems a better place to handle the switch Signed-off-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 28f59339f72d191e24e0f97f156a481dd5c3db65 Author: Sascha Hauer Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11030): soc-camera: add board hook to specify the buswidth for camera sensors Camera sensors have a native bus width say support, but on some boards not all sensor data lines are connected to the image interface and thus support a different bus width than the sensors native one. Some boards even have a bus driver which dynamically switches between different bus widths with a GPIO. This patch adds a hook which board code can use to support different bus widths. Signed-off-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 97215cbd1bc3cc32a2a1b3a94b003c3cbcf95683 Author: Magnus Damm Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11029): video: use videobuf_waiton() in sh_mobile_ceu free_buffer() Make sure videobuf_waiton() is used before freeing a buffer. Without this fix we may return the buffer to the allocator before the bus mastering operation is finished. Reported-by: Matthieu CASTET Tested-by: Kuninori Morimoto Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f340e3f6f1c2061a65fd1cbd70e9e57e27d34212 Author: Kuninori Morimoto Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11028): ov772x: use soft sleep mode in stop_capture Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 025c18a19d7d7eb8745d25986f982a5f35a85157 Author: Guennadi Liakhovetski Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11027): soc-camera: configure drivers with a default format at probe time Currently soc-camera doesn't set up any image format without an explicit S_FMT. According to the API this should be supported, for example, capture-example.c from v4l2-apps by default doesn't issue an S_FMT. This patch moves negotiating of available host-camera format translations to probe() time, and restores the state from the last close() on the next open(). This is needed for some drivers, which power down or reset hardware after the last user closes the interface. This patch also has a nice side-effect of avoiding multiple allocation anf freeing of format translation tables. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e802967c7079d2b4cfbd107dc90812605dbcad5a Author: Guennadi Liakhovetski Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11026): sh-mobile-ceu-camera: set field to the value, configured at open() For the case, that we have to capture with a default format, i.e., when the user doesn't call S_FMT, we have to use the field value according to the default, configured at open() time. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit df2ed07025fc83f3b36470cf06d1816a5e07c90b Author: Guennadi Liakhovetski Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11025): soc-camera: configure drivers with a default format on open Currently soc-camera doesn't set up any image format without an explicit S_FMT. It seems this should be supported, since, for example, capture-example.c from v4l2-apps by default doesn't issue an S_FMT. This patch configures a default image format on open(). Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 09e231b35173313cd92e27532e5028f2042dcee4 Author: Guennadi Liakhovetski Date: Fri Mar 13 06:08:20 2009 -0300 V4L/DVB (11024): soc-camera: separate S_FMT and S_CROP operations As host and camera drivers become more complex, differences between S_FMT and S_CROP functionality grow, this patch separates them. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1cd3c0fa927084549005fc22e54d99684b314f14 Author: Hans Verkuil Date: Sun Mar 8 17:04:38 2009 -0300 V4L/DVB (11022): zoran/bt819: use new notify functionality. Bt819 needs the parent driver to drive a GPIO pin low and high in order to reset its fifo. Use the new notify callback for this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 98ec633972a70cf71d71bc8762804f0af4792d08 Author: Hans Verkuil Date: Sun Mar 8 17:02:10 2009 -0300 V4L/DVB (11021): v4l2-device: add a notify callback. Add a notify callback to v4l2_device to let sub-devices notify their parent of special events. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 005759613b95264fba9138010f112bc138c857c2 Author: Hans Verkuil Date: Fri Mar 13 10:03:04 2009 -0300 V4L/DVB (10988): v4l2-dev: use parent field if the v4l2_device has no parent set. Normally the parent device of v4l2_device is used as the video device node's parent. But if it was not set, then use the parent field in the video_device struct. This is needed in the cx88 driver, which has one core v4l2_device but creates multiple pci devices (one each for raw and mpeg video). So you cannot associate the core v4l2_device with a particular PCI device, but you can do that for each video_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit afd96668d8491f762e35c16ce65781da820a67fa Author: Hans Verkuil Date: Fri Mar 13 13:24:19 2009 -0300 V4L/DVB (10987): cx23885: fix crash on non-netup cards The new support for the CX23885_BOARD_NETUP_DUAL_DVBS2_CI board broke the existing boards. Interrupts for the netup part were enabled and handled without testing whether the current board actually had a netup -> instant and fatal crash. I've added tests to do this only for the CX23885_BOARD_NETUP_DUAL_DVBS2_CI board. Signed-off-by: Hans Verkuil Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9832d765f82769799ba15ac9d2e8edf8f7de6898 Author: Theodore Kilgore Date: Fri Mar 13 13:04:31 2009 -0300 V4L/DVB (10986): mr97310a: don't discard frame headers on stream output Fix a bug where all frame headers were being discarded, instead of being part of the stream output, on MR97310A cameras. The frame headers contain information which may be useful in processing the video output and therefore should be kept and not discarded. A corresponding patch to the decompression algorithm in libv4lconvert/mr97310a.c corrects the change in frame offset. Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9f9cd8f18c7faabf6dc144c198f6ee30429d3da0 Author: Michael Krufky Date: Thu Mar 12 10:12:16 2009 -0300 V4L/DVB (10984): lgdt3305: avoid OOPS in error path of lgdt3305_attach Setting state->frontend.demodulator_priv to NULL in the event of a kzalloc error will result in an OOPS. Just remove that line. Thanks to Matthias Schwarzott for pointing this out. Cc: Matthias Schwarzott Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7c026c35114d169d77c2543fdf4d5689a1c9a51d Author: Hans Verkuil Date: Thu Mar 12 18:56:15 2009 -0300 V4L/DVB (10983): v4l2-common: add missing i2c_unregister_device. If the i2c sub-device cannot be found, then we must unregister the i2c_client. Otherwise this will prevent a possible probe for a different device on that same address. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2c79252326421dd49c059aceec0880d2cf15b17a Author: Hans Verkuil Date: Thu Mar 12 18:34:19 2009 -0300 V4L/DVB (10980): doc: improve the v4l2-framework documentation. Emphasize the need to call i2c_set_adapdata and clarify the use of the chipid in v4l2_i2c_new_(probed_)device(). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5e585ef15b3633e1b0c022aa14bc88587827acd3 Author: Mauro Carvalho Chehab Date: Tue Mar 10 18:30:27 2009 -0300 V4L/DVB (10908): videobuf-core: also needs a minimal subset of V4L1 header Signed-off-by: Mauro Carvalho Chehab commit 0290152c0f0f4a1c3d6e2b6064780d0cc288d8a4 Author: Michael Krufky Date: Wed Mar 11 01:46:44 2009 -0300 V4L/DVB (10970): lgdt3305: add MODULE_VERSION We'll start off with MODULE_VERSION("0.1") Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 60ce3c471fdc4f5a173a393710138717b639e3c1 Author: Michael Krufky Date: Wed Mar 11 01:47:53 2009 -0300 V4L/DVB (10969): lgdt3305: add missing space in comment small whitespace cleanup - space missing after the * Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1c12148bdcc6a978ab6a9930d40ddfb9d26e9e82 Author: Michael Krufky Date: Wed Mar 11 01:45:44 2009 -0300 V4L/DVB (10968): lgdt3305: add email address to MODULE_AUTHOR Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c019f90ae9aa8b9c728321f886002b06dc2cf0cf Author: Hans Verkuil Date: Wed Mar 11 18:50:04 2009 -0300 V4L/DVB (10965): ivtv: bump version Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 34aecd2851bba5c2b7dae2f0dbe8e629b1c5e4ac Author: Hans Verkuil Date: Wed Mar 11 18:29:19 2009 -0300 V4L/DVB (10962): fired-avc: fix printk formatting warning. size_t should be printed with %zu. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4b766d3c15b99a6aff5696a74eb97c462990c069 Author: Alexey Klimov Date: Wed Mar 11 07:37:04 2009 -0300 V4L/DVB (10961): radio-terratec: remove linux/delay.h which hadn't been used. Signed-off-by: Alexey Klimov Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d8cd5e6c240bb3ff55e42afaa446c178ef8bb403 Author: Hans Verkuil Date: Wed Mar 11 04:34:09 2009 -0300 V4L/DVB (10960): omap24xxcam: don't set vfl_type. The vfl_type field is set by the core, so anything you fill in here will be overwritten. And it will be set to a VFL_TYPE_ value, not a VID_TYPE_ value which is an obsolete V4L1 type. Since these V4L1 types have been made unavailable for V4L2 drivers, this driver stopped compiling. In this case the fix is just removing this assignment. Cc: Sakari Ailus Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ab84f5736086b84d99015cd82515a31b95e03f48 Author: Hans Verkuil Date: Wed Mar 11 04:25:47 2009 -0300 V4L/DVB (10959): radio: remove uaccess include This include isn't needed and so can be removed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1fab14ed1acf791e990138c4acdaf4520962f2d5 Author: Mauro Carvalho Chehab Date: Tue Mar 3 14:35:41 2009 -0300 V4L/DVB (10951): xc5000: Fix CodingStyle errors introduced by the last patch Signed-off-by: Mauro Carvalho Chehab commit 0356baad85d59f18d4e64adec91459909ff71f20 Author: Sri Deevi Date: Tue Mar 3 06:07:42 2009 -0300 V4L/DVB (10950): xc5000: prepare it to be used by cx231xx module Signed-off-by: Srinivasa Deevi Signed-off-by: Mauro Carvalho Chehab commit 70101a2785598f1a743c1e0fb65264c55bf5a29f Author: Stephan Wienczny Date: Tue Mar 10 19:08:06 2009 -0300 V4L/DVB (10949): Add support for Terratec Cinergy HT PCI MKII This patch adds support for Terratec Cinergy HT PCI MKII with card id 79. Its more or less a copy of Pinnacle Hybrid PCTV. Thanks to k1ngf1sher on forum.ubuntuusers.de for the idea to copy that card. Signed-off-by: Stephan Wienczny Signed-off-by: Mauro Carvalho Chehab commit a27e4fd321cdfe5b333efb41589c1008c705e312 Author: Matthias Schwarzott Date: Tue Mar 10 13:55:14 2009 -0300 V4L/DVB (10948): flexcop-pci: Print a message in case the new stream watchdog detects a problem Print a message in case the new software IRQ watchdog detects a problem. I choose the info message category, this can be changed if not appropriate. Cc: Patrick Boettcher Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit cbb72b0f690b138bdc0c934b533390bf1ec59a04 Author: Scott James Remnant Date: Mon Mar 2 15:40:57 2009 -0300 V4L/DVB (10947): Auto-load videodev module when device opened. The videodev module is missing the char-major-81-* alias that would cause it to be auto-loaded when a device of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: Mauro Carvalho Chehab commit 7d7b4b635298fcf4c205a89486eb5f397c130f5b Author: Alexey Klimov Date: Tue Mar 10 05:14:00 2009 -0300 V4L/DVB (10946): radio-rtrack2: fix double mutex_unlock Patch fixes double mutex unlocking. Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit 5c8e2403ba06d39f04f6ae62f3afe5542e0eb533 Author: Martin Fuzzey Date: Mon Mar 9 20:16:00 2009 -0300 V4L/DVB (10945): pwc : fix LED and power setup for first open Call pwc_construct before trying to talk to device to obtain vc interface so that LED and power setup works the first time the video device is opened. Signed-off-by: Martin Fuzzey Signed-off-by: Mauro Carvalho Chehab commit 76ecf4599e55fd16bdb333a737c6243105c916e6 Author: Robert Millan Date: Wed Mar 11 08:18:53 2009 -0300 V4L/DVB (10944): Conceptronic CTVFMI2 PCI Id My BTTV_BOARD_CONCEPTRONIC_CTVFMI2 card wasn't auto-detected, here's a patch that adds its PCI id. lspci -nnv output: 05:06.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11) 05:06.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11) Press within 3 seconds if this is wrong. Signed-off-by: Mauro Carvalho Chehab commit 569b7ec73abf576f9a9e4070d213aadf2cce73cb Author: Jean Delvare Date: Sat Mar 7 07:42:12 2009 -0300 V4L/DVB (10943): cx88: Prevent general protection fault on rmmod When unloading the cx8800 driver I sometimes get a general protection fault. Analysis revealed a race in cx88_ir_stop(). It can be solved by using a delayed work instead of a timer for infrared input polling. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit fb6991d417a9f06978119ea597dc5955b3eb784d Author: Jean Delvare Date: Sat Mar 7 07:44:12 2009 -0300 V4L/DVB (10940): saa6588: Prevent general protection fault on rmmod The removal of the timer which polls the infrared input is racy. Replacing the timer with a delayed work solves the problem. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit c1089bdc07f06b90f0bc50d0789c2a4833097df7 Author: Jean Delvare Date: Sat Mar 7 07:43:43 2009 -0300 V4L/DVB (10939): ir-kbd-i2c: Prevent general protection fault on rmmod The removal of the timer which polls the infrared input is racy. Replacing the timer with a delayed work solves the problem. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit f263bac9f7181df80b732b7bc11a7a4e38ca962f Author: Jean Delvare Date: Sat Mar 7 07:43:01 2009 -0300 V4L/DVB (10938): em28xx: Prevent general protection fault on rmmod The removal of the timer which polls the infrared input is racy. Replacing the timer with a delayed work solves the problem. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit c61402bae843f1f7ec29a6fe81681be21c3d201c Author: Trent Piepho Date: Tue Mar 10 23:28:33 2009 -0300 V4L/DVB (10934): zoran: replace functions names in strings with __func__ It reduces the size of the driver over all, and the function names in strings need to be manually kept up to date while __func__ doesn't. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e5ee3f643dd6d25c73cfd1e943abc9b529d63697 Author: Trent Piepho Date: Tue Mar 10 23:28:31 2009 -0300 V4L/DVB (10933): zoran: Pass zoran_fh pointers instead of file pointers Many functions had a struct file pointer argument, but all they wants is the struct zoran_fh pointer from the file's private data. Since every caller of those functions already has the zoran_fh, just pass the that instead. This saves a dereference in each function change. While I'm at it, change the code formatting of affected functions to be kernel standard style. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ee9a9d661d96e29d93859d20125bc7e4cc75309b Author: Jean Delvare Date: Tue Mar 10 23:28:20 2009 -0300 V4L/DVB (10932): zoran: Don't frighten users with failed buffer allocation kmalloc() can fail for large video buffers. By default the kernel complains loudly about allocation failures, but we don't want to frighten the user, so ask kmalloc() to keep quiet on such failures. Cc: Hans Verkuil Signed-off-by: Jean Delvare Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4dbf46a0485a5b0704e1c4b55a173128fbaedec9 Author: Jean Delvare Date: Tue Mar 10 23:28:17 2009 -0300 V4L/DVB (10931): zoran: Drop the lock_norm module parameter The lock_norm module parameter doesn't look terribly useful. If you don't want to change the norm, just don't change it. As a matter of fact, no other v4l driver has such a parameter. Cc: Hans Verkuil Signed-off-by: Jean Delvare Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 1159b7f19f324db0c61d1277987374865690ec06 Author: Trent Piepho Date: Tue Mar 10 23:28:16 2009 -0300 V4L/DVB (10930): zoran: Unify buffer descriptors The zoran driver had two kinds of buffer descriptors, one for jpg buffers and one for raw buffers. They were mostly the same with only a couple Signed-off-by: Mauro Carvalho Chehab commit ce904bcba41d0b4b809e9573ca43f391e5ffcf4b Author: Michael Krufky Date: Mon Jan 19 01:12:55 2009 -0300 V4L/DVB (10927): dib0700: add support for Hauppauge ATSC MiniCard Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3abdedd8a4e3b1a0ad164c67929b3e798c85cd11 Author: Michael Krufky Date: Mon Jan 19 01:10:49 2009 -0300 V4L/DVB (10926): saa7134: enable digital tv support for Hauppauge WinTV-HVR1120 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cae78ed599c348999a318ace0fcc3ff0277c8fa4 Author: Michael Krufky Date: Tue Jan 13 04:40:36 2009 -0300 V4L/DVB (10925): add support for LG Electronics LGDT3305 ATSC/QAM-B Demodulator Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 90a4cc70fa853d83f0a7cc34b960744d8d0280e9 Author: Michael Krufky Date: Tue Jan 13 04:03:26 2009 -0300 V4L/DVB (10924): saa7134: enable serial transport streaming interface Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e8944282a76f94bcf84ae3b7a91328bd03835ea1 Author: Michael Krufky Date: Tue Mar 10 17:02:07 2009 -0300 V4L/DVB (10923): saa7134: fix typo in product name replace occurances of "HVR1150" with "HVR1120" - this was a typo. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1d578540a949802eebe8655c7ef9566c85966e32 Author: Hans Verkuil Date: Tue Mar 10 10:42:44 2009 -0300 V4L/DVB (10921): msp3400: remove obsolete V4L1 code There are no drivers left that call msp3400 with V4L1 commands. Remove it from this driver. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9f1a693f76700018d921cd7af86f7c994a300613 Author: Hans Verkuil Date: Sun Mar 8 10:35:23 2009 -0300 V4L/DVB (10920): v4l2-ioctl: fix partial-copy code. The code to optimize the usercopy only checked the ioctl NR field. However, this code is also called for non-V4L2 ioctls (either private or ioctls from linux/dvb/audio.h and linux/dvb/video.h for decoder drivers like ivtv). If such an ioctl has the same NR as a V4L2 ioctl, then disaster strikes. Modified the code to check on the full command ID. Thanks to Martin Dauskardt for tracing the ivtv breakage to this particular change. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 501cd11a34cd29e20f040bfd8a9e2b6fe6908c91 Author: Hans Verkuil Date: Sat Mar 7 13:10:43 2009 -0300 V4L/DVB (10919): tlv320aic23b: use v4l2-i2c-drv.h instead of drv-legacy.h This driver isn't used in any legacy mode, so no need for v4l2-i2c-drv-legacy.h. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cc5cef8ea4fdc41b44007c5d2c116fe97cb87293 Author: Hans Verkuil Date: Fri Mar 6 10:15:01 2009 -0300 V4L/DVB (10914): v4l2: fix compile warnings when printing u64 value. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9185cbfc336a080695304bcb781186559d987974 Author: Hans Verkuil Date: Fri Mar 6 09:58:12 2009 -0300 V4L/DVB (10912): vivi: fix compile warning. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fbc9fa4e8781170e2fbca2859feda114d4758132 Author: Hans Verkuil Date: Fri Mar 6 09:55:42 2009 -0300 V4L/DVB (10910): videodev2.h: remove deprecated VIDIOC_G_CHIP_IDENT_OLD As announced VIDIOC_G_CHIP_IDENT_OLD is now removed for 2.6.30. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cf5193c74009e33428daefbf74f4770733c8ee36 Author: Hans Verkuil Date: Fri Mar 6 09:29:09 2009 -0300 V4L/DVB (10909): tvmixer: remove last remaining references to this deleted module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7e0a16f6118a297dd467c1e5a0908429fcdf56af Author: Mauro Carvalho Chehab Date: Tue Mar 10 05:31:34 2009 -0300 V4L/DVB (10907): avoid loading the entire videodev.h header on V4L2 drivers Signed-off-by: Mauro Carvalho Chehab commit 42d12f5aa105af08bc0ed0580e32156a1a325c6b Author: Mauro Carvalho Chehab Date: Tue Mar 10 05:02:28 2009 -0300 V4L/DVB (10870a): remove all references for video_decoder.h changeset 04934e44e3784a1b969582e2d59afcec278470c6 removed the last implementation that were still using the V4L1 obsoleted header. Now, video_decoder.h is not used anymore by any driver. Let's remove it and all references for it in Kernel. Signed-off-by: Mauro Carvalho Chehab commit 1f5b5cf600ba860ba684e349e63d46438ba05cdf Author: Michael Krufky Date: Tue Mar 10 01:21:14 2009 -0300 V4L/DVB (10905): dib0700: enable DVB_FE_CUSTOMISE for dibcom frontends There was never any build-time dependency of the dib0700 usb module on the dib0070 tuner module. Now that the build-time dependencies of dib0700 on dib3000mc, dib7000p and dib7000m have been removed in the previous changesets, we can enable DVB_FE_CUSTOMISE for these modules under config DVB_USB_DIB0700 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f91294d37a1824c4487b041dc1b4aefbef5fc76e Author: Michael Krufky Date: Mon Mar 9 02:39:58 2009 -0300 V4L/DVB (10904): remove dib0070_ctrl_agc_filter from dib0070.h This function prototype is defined but the function itself does not exist. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7d828bf2b094c86f7904811e348d610d7c20f6fb Author: Michael Krufky Date: Tue Mar 10 00:53:57 2009 -0300 V4L/DVB (10903): cleanup linewraps in dib3000mc.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7991704dbd5c69bbf047ef6b9332a8701334975b Author: Michael Krufky Date: Mon Mar 9 02:37:55 2009 -0300 V4L/DVB (10902): cleanup linewraps in dib7000m.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4ec030b459917a11b1a8b07512c0a606371d2643 Author: Michael Krufky Date: Mon Mar 9 02:29:01 2009 -0300 V4L/DVB (10901): cleanup linewraps in dib7000p.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 53655c6a63bfa3224977fcc1edca28fb6529fc2b Author: Michael Krufky Date: Mon Mar 9 00:59:09 2009 -0300 V4L/DVB (10900): remove build-time dependencies on dib3000mc Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5aed9755bcdc20205901b5925a684f4e60060f23 Author: Michael Krufky Date: Mon Mar 9 00:04:17 2009 -0300 V4L/DVB (10899): remove build-time dependencies on dib7000p Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 181bc8d97a7433ee6e5b7eb14b467914e0437276 Author: Michael Krufky Date: Mon Mar 9 00:03:25 2009 -0300 V4L/DVB (10898): remove build-time dependencies on dib7000m Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0aab2e6044037c34ccb5fe94c616e532ba95f541 Author: Mauro Carvalho Chehab Date: Tue Mar 10 02:30:23 2009 -0300 V4L/DVB (10897): Fix Kbuild MEDIA_TUNER_CUSTOMIZE dependencies Signed-off-by: Mauro Carvalho Chehab commit 79a6650525755aaa3d30a9b6d8f9bc96788c1262 Author: Mauro Carvalho Chehab Date: Tue Mar 10 00:49:58 2009 -0300 V4L/DVB (10896): /frontends/Kconfig: Move af9013 Kconfig option to its proper place af9013 is not a development tool. It is, instead, a DVB-T module. Signed-off-by: Mauro Carvalho Chehab commit b24c20cc5b3a4c6e2ec8d6145d2c1f9920cab3f4 Author: Hans Verkuil Date: Mon Mar 9 08:11:21 2009 -0300 V4L/DVB (10894): ISA radio drivers: improve kernel log message It's much nicer if the log message tells you which io ports are possible, rather than having to run modinfo or look it up in the source or manual. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ec632c8a1094e52d3da903ba057accad15f11d04 Author: Hans Verkuil Date: Fri Mar 6 13:55:34 2009 -0300 V4L/DVB (10893): radio-zoltrix: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f1bfe89b6721ba9ad8c3c6e67cce58d5616cd012 Author: Hans Verkuil Date: Fri Mar 6 13:54:52 2009 -0300 V4L/DVB (10892): radio-typhoon: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1dc8aafc79ab9bde6b53cc3696cb0b032fb2fc3d Author: Hans Verkuil Date: Fri Mar 6 13:54:23 2009 -0300 V4L/DVB (10891): radio-trust: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5ac3d5bf4aedf55721cf4f65ab44fb1f598585ce Author: Hans Verkuil Date: Fri Mar 6 13:53:58 2009 -0300 V4L/DVB (10890): radio-terratec: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c32a9d7155307414bb6e120f4e6581a32ed708d3 Author: Hans Verkuil Date: Fri Mar 6 13:53:26 2009 -0300 V4L/DVB (10889): radio-sf16fmr2: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c41269fd9275cce88b90af644969c6a5e2067657 Author: Hans Verkuil Date: Fri Mar 6 13:52:34 2009 -0300 V4L/DVB (10888): radio-sf16fmi: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 922c78e9f6900ade073da1a92d43c56d77cf790f Author: Hans Verkuil Date: Fri Mar 6 13:52:06 2009 -0300 V4L/DVB (10887): radio-rtrack2: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2710e6aa3f15cb008577ce31fc469e8af7466075 Author: Hans Verkuil Date: Fri Mar 6 13:51:33 2009 -0300 V4L/DVB (10886): radio-maxiradio: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 087c61848cd1837321dc94d398b33cc863efc764 Author: Hans Verkuil Date: Fri Mar 6 13:51:08 2009 -0300 V4L/DVB (10885): radio-maestro: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 502b71b5704a3cc630cf6acaa95e3b3361898f7e Author: Hans Verkuil Date: Fri Mar 6 13:50:42 2009 -0300 V4L/DVB (10884): radio-gemtek: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 79f94878bb8013b4043d51ec241d7fdc9a6a0312 Author: Hans Verkuil Date: Fri Mar 6 13:50:07 2009 -0300 V4L/DVB (10883): radio-gemtek-pci: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bec2aec56561b70787ef62f070988594bd6d1b5f Author: Hans Verkuil Date: Fri Mar 6 13:48:47 2009 -0300 V4L/DVB (10882): radio-cadet: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e697e12ecede8ee4f5beb11ed4981d7254be0125 Author: Hans Verkuil Date: Fri Mar 6 13:48:18 2009 -0300 V4L/DVB (10881): radio-aztech: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 151c3f82529844c39ad52fe8d877dd2ffe06c70d Author: Hans Verkuil Date: Fri Mar 6 13:45:27 2009 -0300 V4L/DVB (10880): radio-aimslab: convert to v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f9996c95623d63de6f5957512976137bbac729f0 Author: Michael Krufky Date: Sat Feb 28 17:45:17 2009 -0300 V4L/DVB (10877): saa7134: add analog support for Hauppauge HVR1110r3 boards Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit adcc4b3e75c5f0293806766bcc5ed0bb62d5cda0 Author: Michael Krufky Date: Wed Mar 4 19:42:06 2009 -0300 V4L/DVB (10876): tda18271: add support for AGC configuration via tuner callback The tda827x driver supports a feature that the tda18271 driver was lacking until now. This patch adds support for device-level configuration via the tuner callback configuration interface. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3160fbc556aa2e60404fa4da35b3e13dd741a5a2 Author: Hans Verkuil Date: Sun Mar 8 10:19:44 2009 -0300 V4L/DVB (10874): w9968cf/ovcamchip: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4e06839fc7221872d7868855c05659f08d1c9f3d Author: Hans Verkuil Date: Sun Mar 8 06:56:19 2009 -0300 V4L/DVB (10873): w9968cf: add v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 78175bf2c5e4beb0874aee27dcfce58c4c7d4fb4 Author: Igor M. Liplianin Date: Fri Mar 6 19:32:54 2009 -0300 V4L/DVB (10871): stv0900: delete debug messages not related to stv0900 tuning algorythm Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit bd894b590ef45297c941b7af0e8de13a2fd306d6 Author: Mauro Carvalho Chehab Date: Mon Mar 9 22:16:42 2009 -0300 V4L/DVB (10870): v4l2-ioctl: get rid of video_decoder.h The V4L1 obsoleted header video_decoder.h is not used anymore by any driver. Only a name decoding function at v4l2-ioctl still implements it. Signed-off-by: Mauro Carvalho Chehab commit a99e30d70bcb83bdd097945df282199ead9c9a4b Author: Hans Verkuil Date: Fri Mar 6 12:15:08 2009 -0300 V4L/DVB (10868): vino: add note that this conversion is untested. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cea0c681bef872d0618d87be078cb006665a6fdf Author: Jean Delvare Date: Fri Mar 6 12:05:43 2009 -0300 V4L/DVB (10867): vino: fold i2c-algo-sgi code into vino. Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a0720d3b7b80163150fde73aa43ba8fcd417b9cb Author: Hans Verkuil Date: Wed Feb 18 19:23:43 2009 -0300 V4L/DVB (10866): saa7191, indycam: remove compat code. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 48f4dacb6759d6357036e2a37434bf8bade119c9 Author: Hans Verkuil Date: Wed Feb 18 19:18:26 2009 -0300 V4L/DVB (10865): vino: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 289596382e6aca005ca53ef20bbc44b9886cb0e0 Author: Hans Verkuil Date: Wed Feb 18 18:53:47 2009 -0300 V4L/DVB (10864): vino: introduce v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8340ff43c49fe8e0cd049b65fbd2156bd651697e Author: Hans Verkuil Date: Fri Feb 13 19:58:12 2009 -0300 V4L/DVB (10863): saa7191: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2b80a19181af3bb15ef1c022f4a56deabcc5bd5e Author: Hans Verkuil Date: Fri Feb 13 19:38:10 2009 -0300 V4L/DVB (10862): indycam: convert to v4l2_subdev Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cf4e9484f402c799fa25c9ffb7e9a3b620a3702d Author: Hans Verkuil Date: Fri Feb 27 09:05:10 2009 -0300 V4L/DVB (10861): vino/indycam/saa7191: convert to i2c modules to V4L2. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit babb7dc7776dd6ded4e1e6cb7acc34c25c0eb521 Author: Hans Verkuil Date: Fri Feb 13 07:31:05 2009 -0300 V4L/DVB (10860): saa7191: convert to v4l2-i2c-drv-legacy.h Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0ef4dbad4f2303b9210cd382bca430d016db5452 Author: Hans Verkuil Date: Thu Feb 12 11:31:13 2009 -0300 V4L/DVB (10859): vino: minor renames Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c49cb361dbc5a33f35f8d7eb26f0bddd83019e97 Author: Hans Verkuil Date: Thu Feb 12 10:32:50 2009 -0300 V4L/DVB (10858): vino: convert to video_ioctl2. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 49a53750b266899f259b1734a4a2c80d4376ba75 Author: Andy Walls Date: Sun Mar 1 23:10:07 2009 -0300 V4L/DVB (10856): cx18: Add interlock so sliced VBI insertion only happens for an MPEG PS The cx18 private packet insertion code only expects to operate on an MPEG PS when inserting private packets of sliced VBI data. This patch keeps the cx18 driver from corrupting the MPEG TS or other non-PS stream types, in case the user enables sliced VBI insertion for these MPEG stream types. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit cb95a40e54b96938c2e81de6a95609e915922962 Author: Andy Walls Date: Sat Feb 28 23:06:08 2009 -0300 V4L/DVB (10855): cx18: Fix VPS service register codes Based on a documentation clarification from Conexant, fix the register code used for sliced VBI VPS service. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit af7c58b1f5014bea181ef74d724ac960923dd403 Author: Andy Walls Date: Sat Feb 28 20:13:50 2009 -0300 V4L/DVB (10854): cx18: Correct comments about vertical and horizontal blanking timings This change only affects comments. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 583803d135b14d414e77b6d2b546a811cac9944e Author: Andy Walls Date: Sat Feb 28 18:48:27 2009 -0300 V4L/DVB (10853): cx18: Fix s-parse warnings and a logic error about extracting the VBI PTS My s-parse builds never griped about be32_to_cpu() casting to __be32, but Hans' builds did. This change explictly declares the pointer into the VBI buffer header as __be32, which is the correct thing to do as the data is always big endian when we go to fetch it. Hopefully this will quiet s-parse warnings. Also corrected a misplaced parenthesis logic error in checking for the VBI header magic number. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 386e439f0c32eb540e931b0d1874e3fd1a8a8f10 Author: Andy Walls Date: Sat Feb 28 16:42:51 2009 -0300 V4L/DVB (10852): cx18: Include cx18-audio.h in cx18-audio.c to eliminate s-parse warning Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 72401b7a37c6f0132ea2d0c3236ec706a9e5759e Author: Andy Walls Date: Sat Feb 28 14:51:47 2009 -0300 V4L/DVB (10851): cx18: Fix a video scaling check problem introduced by sliced VBI changes Fix a scaling check that was failing, due to a magic number I missed fixing during previous slice VBI changes. Now $ v4l2-ctl -v width=480,height=480,pixelformat=MPEG yields proper visual results again. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 098003d8e21c490c104b543918dea12b7608a173 Author: Andy Walls Date: Sat Feb 28 13:19:45 2009 -0300 V4L/DVB (10850): cx18: Use strlcpy() instead of strncpy() for temp eeprom i2c_client setup Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e276f7b5f9c41536f22bec1d8205e6b201300743 Author: Trent Piepho Date: Thu Mar 5 08:02:05 2009 -0300 V4L/DVB (10848): zoran: Change first argument to zoran_v4l2_buffer_status It was a struct file *, but all that function wants is the struct zoran_fh from the file's private data. Since every caller already has this, just pass the zoran_fh instead. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5a771cb186dfa1f663ea15cdff3e32e04a8427e3 Author: Randy Dunlap Date: Sun Mar 8 23:01:08 2009 -0300 V4L/DVB (10846): dvb/frontends: fix duplicate 'debug' symbol Fix dvb frontend debug variable to be static, to avoid linker errors: drivers/built-in.o:(.data+0xf4b0): multiple definition of `debug' arch/x86/kernel/built-in.o:(.kprobes.text+0x90): first defined here ld: Warning: size of symbol `debug' changed from 85 in arch/x86/kernel/built-in.o to 4 in drivers/built-in.o It would also be Good if arch/x86/kernel/entry_32.S didn't have a non-static 'debug' symbol. OTOH, it helps catch things like this one. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 632fe9fe440249642845675d97436c667cbbd21e Author: Oliver Endriss Date: Sat Feb 28 10:35:48 2009 -0300 V4L/DVB (10843): saa7146: Clean-up i2c error handling saa7146: Clean-up i2c error handling Simplify i2c error handling and fix incorrect handling of address errors in poll mode. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 7c9e34aaab50a6c8f69ce59816dd76a283090667 Author: Mauro Carvalho Chehab Date: Sun Mar 8 13:11:31 2009 -0300 V4L/DVB (10842): Adds some missing frontend selects for saa7134 and dvb-usb Some dvb frontends are required on some boards, but those dependencies were missed. Signed-off-by: Mauro Carvalho Chehab commit 7b9eb81e36b3926d3ee77fbd4bde88d28ab70fa0 Author: Mauro Carvalho Chehab Date: Sun Mar 8 12:55:29 2009 -0300 V4L/DVB (10840): em28xx-dvb: Remove an unused header Signed-off-by: Mauro Carvalho Chehab commit 45f5c1993fcc7501a4a431030242863abca38f69 Author: Mauro Carvalho Chehab Date: Sun Mar 8 08:02:53 2009 -0300 V4L/DVB (10838): get rid of the other occurrences of DVB_FE_CUSTOMIZE typo There are still more places where DVB_FE_CUSTOMIZE is used, instead of DVB_FE_CUSTOMISE. Signed-off-by: Mauro Carvalho Chehab commit 4609bdd927913c63db4477b066d002aed9cfc504 Author: Mauro Carvalho Chehab Date: Fri Mar 6 08:31:39 2009 -0300 V4L/DVB (10837): Kconfig: only open the customise menu if selected Instead of asking a lot of questions for the poor users, let's just hide the frontend customise menu, if the user doesn't want to customise. Signed-off-by: Mauro Carvalho Chehab commit af2ffb2cfd72dc949f1bac7f7de291f116ae87da Author: Mauro Carvalho Chehab Date: Fri Mar 6 08:25:35 2009 -0300 V4L/DVB (10836): Kconfig: replace DVB_FE_CUSTOMIZE to DVB_FE_CUSTOMISE The name of the option is DVB_FE_CUSTOMISE. However, on a few places, a wrong name were used, due to a typo (DVB_FE_CUSTOMIZE). Signed-off-by: Mauro Carvalho Chehab commit c1bda50fabdfc7d3e463e2db6c588aa0a30eb1ac Author: Mauro Carvalho Chehab Date: Fri Mar 6 08:06:24 2009 -0300 V4L/DVB (10835): Kconfig: Add some missing selects for a required frontends Signed-off-by: Mauro Carvalho Chehab commit 2bd1d9eb1c27034a77c8e1887156da72d6160ae1 Author: Vitaly Wool Date: Wed Mar 4 08:27:52 2009 -0300 V4L/DVB (10833): em28xx: enable Compro VideoMate ForYou sound Compro VideoMate uses an external audio DSP chip, controlled via tvaudio module (tda9874a). This patch improves em28xx infrastructure to support an external audio processor and fixes the Compro VideoMate entry to work with it. Signed-off-by: Vitaly Wool Signed-off-by: Mauro Carvalho Chehab commit 3341cc6e86da7b956084d5b6c9ca2e4f1c27f9bf Author: Randy Dunlap Date: Wed Mar 4 13:57:04 2009 -0300 V4L/DVB (10830): dm1105: uses ir_* functions, select VIDEO_IR dm1105 uses the ir_*() functions, so it needs to select VIDEO_IR to avoid build errors: dm1105.c:(.text+0x26b7ac): undefined reference to `ir_input_keydown' dm1105.c:(.text+0x26b7bc): undefined reference to `ir_input_nokey' (.devinit.text+0x29982): undefined reference to `ir_codes_dm1105_nec' (.devinit.text+0x2998a): undefined reference to `ir_input_init' Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 3b27591d4e0b455865969d9f9bfae0d19fd6e5c3 Author: Adam Baker Date: Tue Mar 3 20:20:47 2009 -0300 V4L/DVB (10829): Support alternate resolutions for sq905 Add support for the alternate resolutions offered by SQ-905 based cameras. As well as 320x240 all cameras can do 160x120 and some can do 640x480. Signed-off-by: Adam Baker Signed-off-by: Theodore Kilgore Signed-off-by: Mauro Carvalho Chehab commit 0c5db425519487d06a5a14eb369268f4a2b32677 Author: Bruno Christo Date: Mon Mar 2 22:38:59 2009 -0300 V4L/DVB (10827): Add support for GeoVision GV-800(S) I have a GeoVision GV-800(S) card, it has 4 CONEXANT BT878A chips. It has 16 video inputs and 4 audio inputs, and it is almost identical to the GV-800, as seen on http://bttv-gallery.de . The only difference appears to be the analog mux, it has a CD22M3494 in place of the MT8816AP. The card has a blue PCB, as seen in this picture: http://www.gsbr.com.br/imagem/kits/GeoVision%20GV%20800.jpg . This card wasn't originally supported, and it was detected as UNKNOWN/GENERIC. The video inputs weren't working, so I tried "forcing" a few cards like the GeoVision GV-600, but there was still no video. So I made a patch to support this card, based on the Kodicom 4400r. The GV-800(S) is identified as follows: ... 02:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 02:00.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) 02:04.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 02:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) 02:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 02:08.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) 02:0c.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 02:0c.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) ... 02:00.0 0400: 109e:036e (rev 11) Subsystem: 800a:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdfff000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 Kernel modules: bttv 02:00.1 0480: 109e:0878 (rev 11) Subsystem: 800a:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffe000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 02:04.0 0400: 109e:036e (rev 11) Subsystem: 800b:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffd000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 Kernel modules: bttv 02:04.1 0480: 109e:0878 (rev 11) Subsystem: 800b:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffc000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 02:08.0 0400: 109e:036e (rev 11) Subsystem: 800c:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffb000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 Kernel modules: bttv 02:08.1 0480: 109e:0878 (rev 11) Subsystem: 800c:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdffa000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 02:0c.0 0400: 109e:036e (rev 11) Subsystem: 800d:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdff9000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 Kernel modules: bttv 02:0c.1 0480: 109e:0878 (rev 11) Subsystem: 800d:763d Flags: bus master, medium devsel, latency 32, IRQ 10 Memory at cdff8000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 As you can see, the GV-800(S) card is almost identical to the GV-800 on bttv-gallery, so this patch might also work for that card. If not, only a few changes should be required on the gv800s_write() function. After this patch, the video inputs work correctly on linux 2.6.24 and 2.6.27 using the software 'motion'. The input order may seem a little odd, but it's the order the original software/driver uses, and I decided to keep that order to get the most out of the card. I tried to get the audio working with the snd-bt87x module, but I only get noise from every audio input, even after selecting a different mux with alsamixer. Also, after trying to play sound from those sources, I randomly get a RISC error about an invalid RISC opcode, and then that output stops working. I also can't change the sampling rate when recording. Any pointers to adding audio support are welcome. Signed-off-by: Bruno Christo Signed-off-by: Mauro Carvalho Chehab commit f1735bb2a583b53ffdabe23ba8b22350e2d5e597 Author: Erik S. Beiser Date: Sat Feb 28 22:29:20 2009 -0300 V4L/DVB (10826): cx88: Add IR support to pcHDTV HD3000 & HD5500 cx88: Add IR support to pcHDTV HD3000 & HD5500 Signed-off-by: Erik S. Beiser Signed-off-by: Mauro Carvalho Chehab commit 9abb6e6f5942885b7ca387a41e55e645732d63bc Author: Pascal Terjan Date: Thu Feb 26 10:31:41 2009 -0300 V4L/DVB (10825): Add ids for Yuan PD378S DVB adapter Signed-off-by: Arnaud Patard Signed-off-by: Pascal Terjan Cc: Patrick Boettcher [mchehab@redhat.com: Fixed a small merge conflict] Signed-off-by: Mauro Carvalho Chehab commit 0a6e1ed2f11d92e24c3792ce5403e2628a9f7a7e Author: sebastian.blanes@gmail.com Date: Tue Feb 24 14:51:43 2009 -0300 V4L/DVB (10824): Add "Sony PlayTV" to dibcom driver This patch introduces support for DVB-T for the following dibcom based card: Sony PlayTV (USB-ID: 1415:0003) Signed-off-by: Sebastián Blanes Cc: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 04574185aa9ad0e6be7db96252f3c479beb5b3fa Author: Matthias Schwarzott Date: Tue Feb 24 12:35:16 2009 -0300 V4L/DVB (10823): saa7134: add DVB support for Avermedia A700 cards Add DVB support for Avermedia DVB-S Pro and Avermedia DVB-S Hybrid+FM card both labled A700. They use zl10313 demod (driver mt312) and zl10036 tuner. [mchehab@redhat.com: change __FUNCTION__ into __func__] Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 68b3289fdb27f5d3e32587766ddafa487037b0bd Author: Matthias Schwarzott Date: Tue Feb 24 12:35:15 2009 -0300 V4L/DVB (10822): Add support for Zarlink ZL10036 DVB-S tuner. This driver is based on initial work by Tino Reichardt and was heavily changed. The datasheet of the zl10036 can be found here and on other places on the net: http://www.mcmilk.de/projects/dvb-card/datasheets/ZL10036.pdf The zl10038 is similar to the zl10036, so it is maybe possible to write a common driver of necessary. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 1a1500179a7c51c7851e18c56e7153c258fe91ab Author: Trent Piepho Date: Wed Mar 4 01:21:03 2009 -0300 V4L/DVB (10820): meye: Don't need to zero ioctl parameter fields The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from querycap, enum_input, enum_fmt_vid_cap, and g_fmt_vid_cap. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit c6a976e44ec37b93cbd62403971e9770ac60d389 Author: Trent Piepho Date: Wed Mar 4 01:21:03 2009 -0300 V4L/DVB (10819): gspca: Don't need to zero ioctl parameter fields The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from g_audio, enum_input, g_parm and gmbuf. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 38367255185408748c2d46641e06c83570af161c Author: Trent Piepho Date: Wed Mar 4 01:21:03 2009 -0300 V4L/DVB (10818): usbvision: Don't need to zero ioctl parameter fields The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from g_audio, queryctrl, and enum_fmt_vid_cap. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit df7bdfcd0efa9a25a7c9751a25b4d4efd9141b8d Author: Trent Piepho Date: Wed Mar 4 01:21:03 2009 -0300 V4L/DVB (10817): stkwebcam: Don't need to zero ioctl parameter fields The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from enum_fmt_vid_cap, g_fmt_vid_cap, and g_parm. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit f3334bcbf44ad9001460508ef4fbe51e706d24cf Author: Trent Piepho Date: Wed Mar 4 01:21:03 2009 -0300 V4L/DVB (10816): cx88: Don't need to zero ioctl parameter fields The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from enum_input and g_tuner. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 522a5f1430bb85ca00928b99caf3892023ad9632 Author: Trent Piepho Date: Wed Mar 4 01:21:03 2009 -0300 V4L/DVB (10815): bttv: Don't need to zero ioctl parameter fields The v4l2 core code in v4l2_ioctl will zero out the structure the driver is supposed to fill in for read-only ioctls. For read/write ioctls, all the fields which aren't supplied from userspace will be zeroed out. Zeroing code is removed from enum_input and g_tuner. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 717167e8ae13a61649a1faf867279440fee70b56 Author: Trent Piepho Date: Wed Mar 4 01:21:03 2009 -0300 V4L/DVB (10814): saa7146: some small fixes vidioc_enum_fmt_vid_overlay() did nothing but call vidioc_enum_fmt_vid_cap(), so just make saa7146_video_ioctl_ops.vidioc_enum_fmt_vid_overlay point to vidioc_enum_fmt_vid_cap() and get ride of vidioc_enum_fmt_vid_overlay(). Have gparm use v4l2_video_std_frame_period to fill in the frame period instead of just assuming PAL. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 51f0b8d57af501624ee55e8ca15d09d5bdc2b0dd Author: Trent Piepho Date: Wed Mar 4 01:21:02 2009 -0300 V4L/DVB (10813): v4l2: New function v4l2_video_std_frame_period Some code was calling v4l2_video_std_construct() when all it cared about was the frame period. So make a function that just returns that and have v4l2_video_std_construct() use it. At this point there are no users of v4l2_video_std_construct() left outside of v4l2-ioctl, so it could be un-exported and made static. Change v4l2_video_std_construct() so that it doesn't zero out the struct v4l2_standard passed in. It's already been zeroed out in the common ioctl code. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 337f9d205972bfe1cb7982384fd0f4caa4af001d Author: Trent Piepho Date: Wed Mar 4 01:21:02 2009 -0300 V4L/DVB (10812): v4l2: Zero out read-only ioctls in one place If an ioctl is read-only then the driver fills in all the fields. Lots of times drivers only care about some fields so it's best if video_ioctl2 takes care of zeroing out the entire structure before handing it to the driver. This saves code in each driver to do it and driver authors often forget. The existing memset code in some of the read-only ioctl handlers can be deleted. Convert a case statement to a single if statement. Deleted a debug line from ENUMAUDOUT that was copy-and-pasted to G_AUDOUT by mistake. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 19c96e4b7d3c80071982a052e4a921c1a39875d9 Author: Trent Piepho Date: Wed Mar 4 01:21:02 2009 -0300 V4L/DVB (10811): videodev: only copy needed part of RW ioctl's parameter There are many RW ioctls() in v4l2 where userspace only supplies one or two of the first fields in the structure passed to the ioctl. The driver then fills in the rest of the fields. Instead of copying the entire structure from userspace to the kernel we only need to copy those fields that userspace is actually supposed to supply. What's more, the fields that are meant to be only be output from the driver can be zeroed out in the videodev code, in case the driver doesn't fill them all in. Many of the ioctl handlers in v4l2_ioctl do this already, but my patch does this at one common point and so all the memsets for each ioctl can be deleted. For VIDIOC_G_SLICED_VBI_CAP, which has one input field ('type') and other output-only fields, the input field is near the end of the structure instead of at the beginning. So there is still a memset in it's ioctl handler to zero out the beginning of the struct. There were a couple mistakes with the existing code: For VIDIOC_G_AUDIO the index field was preserved, but G_AUDIO is a read only ioctl so nothing is copied from userspace to preserve. For VIDIOC_G_FREQUENCY the tuner field was not preserved like it should have been. This would be a problem if there was any hardware with more than one tuner/modulator. For VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS, none of the fields were preserved even though each ioctl has several field that are supposed to be inputs to the driver! Obviously these ioctls don't get used much. The index field is needed if the driver has multiple discrete sizes/rates and other fields can be used too, e.g. if the size depends on pixel format or frame rate depends on image size for example. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 55d5834d370416946fda7781a5a9ed394a465580 Author: Igor M. Liplianin Date: Wed Mar 4 10:40:31 2009 -0300 V4L/DVB (10808): Fix typo in lnbp21.c It was a typo in the function name, it should be lnbh24_attach, and not lnbp24_attach. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 5a23b0762c9095e137ce9a559cc7c37b2f8fd083 Author: Igor M. Liplianin Date: Tue Mar 3 12:06:09 2009 -0300 V4L/DVB (10805): Add support for NetUP Dual DVB-S2 CI card Add support for NetUP Dual DVB-S2 CI card The card based on cx23885 PCI-e bridge, CiMax SP2 Common Interface chips, STM lnbh24 LNB power chip, stv6110 tuners and stv0900 demodulator. http://www.linuxtv.org/wiki/index.php/NetUP_Dual_DVB_S2_CI Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit ce45264eca4963e666ec170af1eeb0c4f5f8339e Author: Igor M. Liplianin Date: Tue Mar 3 11:55:20 2009 -0300 V4L/DVB (10804): Add support for ST STV0900 dual demodulator. Add last piece of code to support ST STV0900 dual demodulator. The IC consist of two dependent parts. It may use single or dual mode. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 99277b3824e4bfd290c30e8981929373c9a9e6a4 Author: Igor M. Liplianin Date: Tue Mar 3 11:45:49 2009 -0300 V4L/DVB (10803): Add core code for ST STV0900 dual demodulator. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit db7a4843dbd10db48752ded4dba81dfb9f580861 Author: Igor M. Liplianin Date: Tue Mar 3 11:41:39 2009 -0300 V4L/DVB (10802): Add more headers for ST STV0900 dual demodulator. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit e2bc99bac5415d4e6d252322c408b5008b0f3485 Author: Igor M. Liplianin Date: Tue Mar 3 11:35:25 2009 -0300 V4L/DVB (10801): Add headers for ST STV0900 dual demodulator. The IC consist of two dependent parts. It may use single or dual mode. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 8c1a23312b120194a415be354808f58ace582d10 Author: Igor M. Liplianin Date: Tue Mar 3 11:24:18 2009 -0300 V4L/DVB (10800): Add support for ST LNBH24 LNB power controller. The controller consist of two independent parts. Every part is similar to LNBP21, but has configurable i2c address. It is used in NetUP Dual DVB-S2 CI card. http://linuxtv.org/wiki/index.php/NetUP_Dual_DVB_S2_CI Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 47220bc11f5bb4bc21ae7227278452ae82fefe18 Author: Igor M. Liplianin Date: Tue Mar 3 11:16:40 2009 -0300 V4L/DVB (10799): Add support for ST STV6110 silicon tuner. The tuner is used in NetUP Dual DVB-S2 CI card. http://linuxtv.org/wiki/index.php/NetUP_Dual_DVB_S2_CI Signed-off-by: Igor M. Liplianin [mchehab@redhat.com: removed a wrong header: "cx23885.h"] Signed-off-by: Mauro Carvalho Chehab commit c184dcd282337c09695a4c1761d7ac77fdc8fb7d Author: Abylay Ospan Date: Tue Mar 3 11:06:00 2009 -0300 V4L/DVB (10798): Add CIMax(R) SP2 Common Interface code for NetUP Dual DVB-S2 CI card Add CIMax2 Common Interface code for NetUP Dual DVB-S2 CI card. SmarDTV CIMax(R) SP2 is Dual CableCARD, DVB Common Interface and OpenCable Hardware Controller. Signed-off-by: Abylay Ospan Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit b45c0551f94dbc160e94f48a034a51312acec81d Author: Abylay Ospan Date: Tue Mar 3 11:00:18 2009 -0300 V4L/DVB (10797): Add EEPROM code for NetUP Dual DVB-S2 CI card. Signed-off-by: Abylay Ospan Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit c253a17126d6e841720d5926c6d426745693676b Author: Abylay Ospan Date: Tue Mar 3 10:55:38 2009 -0300 V4L/DVB (10796): Add init code for NetUP Dual DVB-S2 CI card Add init code for NetUP Dual DVB-S2 CI card The card based on cx23885 PCI-e bridge, CiMax SP2 Common Interface chips, STM lnbh24 LNB power chip, stv6110 tuners and stv0900 demodulator. Signed-off-by: Abylay Ospan Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 9cfb6a3f1b16e82fab97831265858aa2d1983883 Author: Trent Piepho Date: Tue Mar 3 20:44:45 2009 -0300 V4L/DVB (10794): v4l2: Move code to zero querybuf output struct to v4l2_ioctl For VIDIOC_QUERYBUF only the first two fields, size and type, are used as input. The rest can be filled in by the driver as output. Most drivers do not actually use all the field and unused ones should be zeroed out. Some drivers have code to do this and some drivers should but don't. So put some zero out code in v4l2_ioctl so that all drivers using that system get it. The drivers that have zeroing code get that code removed. Some drivers checked that the type field was valid, but v4l2_ioctl already does this so those checks can be removed as well. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 86b5aeacabb4451655c528c41d45ca05b753f72c Author: Trent Piepho Date: Tue Mar 3 18:52:57 2009 -0300 V4L/DVB (10792): cx88: remove unnecessary forward declaration of cx88_core A recent patch added a forward declaration of cx88_core right before the main definition of that structure, which is obviously unneeded. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 428c8d19167c4597adf4d164262c68befafde9bf Author: Trent Piepho Date: Tue Mar 3 18:51:52 2009 -0300 V4L/DVB (10791): videodev: not possible to register NULL video_device video_register_device_index() checks if it was passed a NULL video_device pointer (which isn't allowed) _after_ it has already dereferenced it with video_get_drvdata(vdev). The checks are clearly pointless and can be removed, as the function would have crashed before reaching them if vdev ever was NULL. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit f985c7006756cb7da452815d4bf040c02decd044 Author: Jean-Francois Moine Date: Sat Feb 28 08:23:25 2009 -0300 V4L/DVB (10788): gspca - vc032x: Bad matrix for sensor mi1310_soc. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 253bae5748010e218539603f1ec18f7fc6a03002 Author: Jean-Francois Moine Date: Sat Feb 28 08:09:24 2009 -0300 V4L/DVB (10787): gspca - mars: Bad webcam register values tied to saturation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7434ca4343c001267cec25b0ade01b0551beb1e4 Author: Michael Krufky Date: Mon Jan 19 01:11:49 2009 -0300 V4L/DVB (10784): mxl5007t: update driver for MxL 5007T V4 Signed-off-by: Michael Krufky Signed-off-by: Asaf Fishov Signed-off-by: Mauro Carvalho Chehab commit 3d0081dd10d95cf1934b9ff2cf50c596a6d43417 Author: Michael Krufky Date: Sat Feb 28 22:55:55 2009 -0300 V4L/DVB (10783): mxl5007t: fix devname for hybrid_tuner_request_state Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d202515bd16df5c25f43e3430db7b82643ec8af8 Author: Michael Krufky Date: Sat Feb 28 19:56:30 2009 -0300 V4L/DVB (10782): mxl5007t: warn when unknown revisions are detected Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d90958e6d0445fba57b532a3ee0549f0abc58db3 Author: Michael Krufky Date: Sat Feb 28 19:42:59 2009 -0300 V4L/DVB (10781): mxl5007t: mxl5007t_get_status should report if tuner is locked report TUNER_STATUS_LOCKED if rf_locked or ref_locked Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b1ff363bfe279c41bd4e43886d47c810459a244e Author: Michael Krufky Date: Sat Feb 28 19:34:25 2009 -0300 V4L/DVB (10780): mxl5007t: remove function mxl5007t_check_rf_input_power This function does not work properly and is not necessary - remove it for now. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 69e233332432551e10d64492e60d84fee7657bb6 Author: Michael Krufky Date: Sat Feb 28 19:16:22 2009 -0300 V4L/DVB (10779): mxl5007t: remove analog tuning code Analog doesn't work in this driver yet. This code just adds extra bloat, so remove it for now. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0d02efe486ef251e2f625fc846cb5f241eb57160 Author: Michael Krufky Date: Fri Feb 27 02:42:16 2009 -0300 V4L/DVB (10772): siano: prevent duplicate variable declaration Fix the following build error: drivers/media/dvb/siano/smsusb.o: In function `get_order': include/asm-generic/page.h:10: multiple definition of `sms_dbg' drivers/media/dvb/siano/sms1xxx.o:include/asm-generic/page.h:10: first defined here drivers/media/dvb/siano/smsdvb.o: In function `get_order': include/asm-generic/page.h:10: multiple definition of `sms_dbg' drivers/media/dvb/siano/sms1xxx.o:include/asm-generic/page.h:10: first defined here Thanks to Mauro Carvalho Chehab for his original patch to address this issue. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9b76ede411145d7456ae5e467b65003ca7990b06 Author: Mauro Carvalho Chehab Date: Fri Feb 27 11:51:24 2009 -0300 V4L/DVB (10771): tea575x-tuner: convert it to V4L2 API Signed-off-by: Mauro Carvalho Chehab commit 85f8841e8a17367a85a60b6d30eff7858d9d1598 Author: Mauro Carvalho Chehab Date: Fri Feb 27 09:32:31 2009 -0300 V4L/DVB (10769): Update dependencies of the modules converted to V4L2 Several modules were converted to V4L2 API. Update their dependencies on Kconfig. Signed-off-by: Mauro Carvalho Chehab commit 006e7179577b40be0b97a93c11def536a64abac0 Author: Andy Walls Date: Sat Feb 21 22:44:50 2009 -0300 V4L/DVB (10764): cx18: Disable AC3 controls as the firmware doesn't support AC3 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f85953d324dea12ca9c8bcd5bb0a7c22da690a9f Author: Andy Walls Date: Sat Feb 21 22:40:52 2009 -0300 V4L/DVB (10763): cx18: Increment version number due to significant changes for v4l2_subdevs Driver is now at version 1.1.0. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 8d037ed14d1be0eff67fed0f9b1b333b0d52ec78 Author: Andy Walls Date: Sat Feb 21 22:35:11 2009 -0300 V4L/DVB (10762): cx18: Get rid of unused variables related to video output Remove variables that were holdovers from ivtv for supporting the CX23415 MPEG decoder output. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 6246d4e1b30aa9404d2603dc09a823aba36d9c13 Author: Andy Walls Date: Sat Feb 21 22:27:37 2009 -0300 V4L/DVB (10761): cx18: Change log lines for internal subdevs and fix tveeprom reads Give messages originating from internal subdevs a header using the subdev's name. Fixed an uninitialized variable problem with reading the EEPROM, noticed from log output. Got rid of the unused cx18_av_exit() function. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 6da6bf5e43f409672f5525657ff59282e160c59f Author: Andy Walls Date: Sat Feb 21 19:53:54 2009 -0300 V4L/DVB (10760): cx18: Fix a memory leak of buffers used for sliced VBI insertion We leaked buffers every time a device was removed, if the user had enabled sliced VBI insertion into the MPEG stream. MythTV uses that. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit eefe1010a4657959588afc7fb3551cfa4e8bb4a7 Author: Andy Walls Date: Sat Feb 21 18:42:49 2009 -0300 V4L/DVB (10759): cx18: Convert GPIO connected functions to act as v4l2_subdevices Convert GPIO line functions, such a audio routing and device resets, to v4l2_subdevices. This essentially completes the conversion of cx18 to the v4l2_device/v4l2_subdevice framework. No regression testing has taken place as of yet. Also an ivtv legacy bug with GPIO mux routing and going to/from radio mode was commented, but not fixed. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ff2a20018094c593a35f4887bbdabf8926ddb6e6 Author: Andy Walls Date: Fri Feb 20 23:52:13 2009 -0300 V4L/DVB (10758): cx18: Convert I2C devices to v4l2_subdevices This is a major perturbation to cx18 I2C device handling to convert it to the v4l2_device/subdeivce framework. This change breaks GPIO audio multiplexer control for the time being. It will be fixed in a coming change. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit fa3e70360c86480acbaa54c9791e843196327a66 Author: Andy Walls Date: Mon Feb 16 02:23:25 2009 -0300 V4L/DVB (10757): cx18, v4l2-chip-ident: Finish conversion of AV decoder core to v4l2_subdev Added a new chip identifer to v4l2-chip-ident for the integrated A/V broadcast decoder core internal to the CX23418. Completed separation and encapsulation of the A/V decoder core interface as a v4l2_subdevice. The cx18 driver now compiles and links again. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 5811cf99df2e3c102055be3ea77508e56c9f77c6 Author: Andy Walls Date: Sat Feb 14 17:08:37 2009 -0300 V4L/DVB (10756): cx18: Slim down instance handling, build names from v4l2_device.name Convert card instance handling to a lighter weight mechanism like ivtv. Also convert name strings and debug messages to use v4l2_device.name. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1a2670465ec94029e5df62e3decca9e2f7aea075 Author: Andy Walls Date: Sat Feb 14 02:32:39 2009 -0300 V4L/DVB (10755): cx18: Convert the integrated A/V decoder core interface to a v4l2_subdev This is the next step in converting the cx18 driver to use the v4l2_device/ v4l2_subdevice framework. This is a straightforward conversion of the cx18_av_*[ch] files. It compiles, but leaves the driver in an unlinkable state at the moment. Note, the cx18 integrated A/V digitizer will now make a host match at address 1, as far as v4l2-dbg is concerned. That means it identifies itself as a separate "chip", and acts as an alias to the integrated A/V decoder registers that are also available with the host match at address 0. Signed-off-by: Andy Walls [mchehab@redhat.com: fix merge conflicts due to the removal of v4l2_ctrl_query_fill_std()] Signed-off-by: Mauro Carvalho Chehab commit a0beec8f6fd37fc1418970ab6a574fabedd9e324 Author: Michael Krufky Date: Thu Feb 26 18:32:36 2009 -0300 V4L/DVB (10753): siano: convert EXPORT_SYMBOL to EXPORT_SYMBOL_GPL As pointed out by Mauro Chehab, we should always use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL wherever possible. A message was posted to the linux-media mailing list about this, checking with Uri Shkolnik of Siano Mobile Silicon if this is okay to convert. As per Uri's response to this email, it is OK for us to make this conversion. http://www.spinics.net/lists/linux-media/msg02200.html Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 05860f2d966c7d43aebde26eec7f9b8dee6d1523 Author: Michael Krufky Date: Sun Aug 31 17:39:58 2008 -0300 V4L/DVB (10752): sms1xxx: load smsdvb module automatically based on device id The smsdvb module was separated from the core and usb code. This change loads smsdvb automatically for driver configurations that depend on it. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b9391f4160a62f8c44bee6b93dab33cf329857c7 Author: Michael Krufky Date: Sun Aug 31 16:08:15 2008 -0300 V4L/DVB (10751): sms1xxx: fix checkpatch.pl violations introduced by previous changeset Fix checkpatch.pl violations introduced by previous changeset: ERROR: do not use C99 // comments 156: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1373: +//#ifdef DVB_CORE ERROR: do not use C99 // comments 157: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1374: +// smsdvb_unregister(); ERROR: do not use C99 // comments 158: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1375: +//#endif WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 163: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1380: +EXPORT_SYMBOL(smscore_onresponse); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 164: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1381: +EXPORT_SYMBOL(sms_get_board); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 165: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1382: +EXPORT_SYMBOL(sms_debug); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 166: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1383: +EXPORT_SYMBOL(smscore_putbuffer); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 167: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1384: +EXPORT_SYMBOL(smscore_registry_getmode); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 168: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1385: +EXPORT_SYMBOL(smscore_register_device); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 169: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1386: +EXPORT_SYMBOL(smscore_set_board_id); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 170: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1387: +EXPORT_SYMBOL(smscore_start_device); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 171: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1388: +EXPORT_SYMBOL(smsusb_id_table); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 172: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1389: +EXPORT_SYMBOL(smscore_unregister_device); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 173: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1390: +EXPORT_SYMBOL(smscore_getbuffer); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 174: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1391: +EXPORT_SYMBOL(smscore_get_device_mode); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 175: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1392: +EXPORT_SYMBOL(smscore_register_client); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 176: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1393: +EXPORT_SYMBOL(smscore_unregister_hotplug); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 177: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1394: +EXPORT_SYMBOL(smsclient_sendrequest); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 178: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1395: +EXPORT_SYMBOL(smscore_unregister_client); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 179: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1396: +EXPORT_SYMBOL(smscore_get_board_id); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 180: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1397: +EXPORT_SYMBOL(smscore_register_hotplug); WARNING: line over 80 characters 391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398: +extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename); ERROR: "foo* bar" should be "foo *bar" 391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398: +extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename); WARNING: line over 80 characters 392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399: +extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size); ERROR: "foo* bar" should be "foo *bar" 392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399: +extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size); ERROR: space required after that ',' (ctx:VxV) 392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399: +extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size); ^ WARNING: __func__ should be used instead of gcc specific __FUNCTION__ 489: FILE: linux/drivers/media/dvb/siano/smsusb.c:443: + printk(KERN_INFO"%s Entering status %d.\n", __FUNCTION__, msg.event); WARNING: __func__ should be used instead of gcc specific __FUNCTION__ 501: FILE: linux/drivers/media/dvb/siano/smsusb.c:455: + printk(KERN_INFO "%s Entering.\n", __FUNCTION__); ERROR: space prohibited before that '++' (ctx:WxB) 505: FILE: linux/drivers/media/dvb/siano/smsusb.c:459: + for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i ++) ^ WARNING: __func__ should be used instead of gcc specific __FUNCTION__ 517: FILE: linux/drivers/media/dvb/siano/smsusb.c:471: + __FUNCTION__, rc); Signed-off-by: Michael Krufky [mchehab@redhat.com: sms_dbg were declared on 3 different files] Signed-off-by: Mauro Carvalho Chehab commit e0f14c2574ded46b9ec8a1518922d07bc4001c18 Author: Uri Shkolnik Date: Sun Aug 31 00:44:04 2008 -0300 V4L/DVB (10750): import changes from Siano Import the following changes from Uri Shkolnik * Two-ways merge with Siano internal repository * Continuing with DVB sub-system separation * kconfig and makefile updates * Code cleanup This is a work-in-progress sync with Siano's internal repository. Some changes had to be altered or dropped in order not to break the build. This breaks normal operation for the current driver, but it is being committed now for tracking purposes. These changes introduce the following checkpatch.pl violations: ERROR: do not use C99 // comments 156: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1373: +//#ifdef DVB_CORE ERROR: do not use C99 // comments 157: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1374: +// smsdvb_unregister(); ERROR: do not use C99 // comments 158: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1375: +//#endif WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 163: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1380: +EXPORT_SYMBOL(smscore_onresponse); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 164: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1381: +EXPORT_SYMBOL(sms_get_board); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 165: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1382: +EXPORT_SYMBOL(sms_debug); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 166: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1383: +EXPORT_SYMBOL(smscore_putbuffer); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 167: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1384: +EXPORT_SYMBOL(smscore_registry_getmode); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 168: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1385: +EXPORT_SYMBOL(smscore_register_device); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 169: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1386: +EXPORT_SYMBOL(smscore_set_board_id); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 170: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1387: +EXPORT_SYMBOL(smscore_start_device); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 171: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1388: +EXPORT_SYMBOL(smsusb_id_table); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 172: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1389: +EXPORT_SYMBOL(smscore_unregister_device); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 173: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1390: +EXPORT_SYMBOL(smscore_getbuffer); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 174: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1391: +EXPORT_SYMBOL(smscore_get_device_mode); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 175: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1392: +EXPORT_SYMBOL(smscore_register_client); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 176: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1393: +EXPORT_SYMBOL(smscore_unregister_hotplug); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 177: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1394: +EXPORT_SYMBOL(smsclient_sendrequest); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 178: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1395: +EXPORT_SYMBOL(smscore_unregister_client); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 179: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1396: +EXPORT_SYMBOL(smscore_get_board_id); WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable 180: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:1397: +EXPORT_SYMBOL(smscore_register_hotplug); WARNING: line over 80 characters 391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398: +extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename); ERROR: "foo* bar" should be "foo *bar" 391: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:398: +extern int smscore_get_fw_filename(struct smscore_device_t *coredev, int mode, char* filename); WARNING: line over 80 characters 392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399: +extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size); ERROR: "foo* bar" should be "foo *bar" 392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399: +extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size); ERROR: space required after that ',' (ctx:VxV) 392: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:399: +extern int smscore_send_fw_file(struct smscore_device_t *coredev, u8* ufwbuf,int size); ^ WARNING: __func__ should be used instead of gcc specific __FUNCTION__ 489: FILE: linux/drivers/media/dvb/siano/smsusb.c:443: + printk(KERN_INFO"%s Entering status %d.\n", __FUNCTION__, msg.event); WARNING: __func__ should be used instead of gcc specific __FUNCTION__ 501: FILE: linux/drivers/media/dvb/siano/smsusb.c:455: + printk(KERN_INFO "%s Entering.\n", __FUNCTION__); ERROR: space prohibited before that '++' (ctx:WxB) 505: FILE: linux/drivers/media/dvb/siano/smsusb.c:459: + for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i ++) ^ WARNING: __func__ should be used instead of gcc specific __FUNCTION__ 517: FILE: linux/drivers/media/dvb/siano/smsusb.c:471: + __FUNCTION__, rc); total: 7 errors, 23 warnings, 524 lines checked Signed-off-by: Uri Shkolnik Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 841a3f0de9a55682d33aa8bf770ff4f7cbb7e5da Author: Michael Krufky Date: Sun Aug 31 17:03:15 2008 -0300 V4L/DVB (10749): sms1xxx: move smsusb_id_table into smsusb.c Move the usb_device_id table to the smsusb module in preparation for the sms1xxx module to be split into sub-modules. This will allow the smsusb driver to start up automatically upon insertion of the USB device. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dba843afad56245949700ff478210b2acbcb2428 Author: Uri Shkolnik Date: Sun Aug 31 00:44:04 2008 -0300 V4L/DVB (10748): sms1xxx: restore smsusb_driver.name to smsusb The sms1xxx driver will be broken down into smaller modules, so the original name, smsusb, is more appropriate. Signed-off-by: Uri Shkolnik Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 62c7167dd7b7556abdb107d32e3c4fbea61539c6 Author: Michael Krufky Date: Sun Aug 31 17:15:47 2008 -0300 V4L/DVB (10747): sms1xxx: move definition of struct smsdvb_client_t into smsdvb.c Nobody uses struct smsdvb_client_t other than smsdvb.c -- this does not need to be inside smscoreapi.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d54093afb1eaa34ff0026cfcf72f471b9bf77e8a Author: Michael Krufky Date: Tue Dec 16 02:56:08 2008 -0300 V4L/DVB (10746): sms1xxx: enable rf switch on Hauppauge Tiger devices Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b72857dd457b96de653b19b3c40394dac6285819 Author: Igor M. Liplianin Date: Thu Feb 26 03:49:44 2009 -0300 V4L/DVB (10744): dm1105: infrared remote code is remaked. The driver infrared remote code part is altered to switch to a work queue. Also ir_codes table moved to ir-common module for shared access. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit d1498ffc474b18574ed2d5e4d9a33fd21eaaf3cf Author: Igor M. Liplianin Date: Thu Feb 26 03:40:41 2009 -0300 V4L/DVB (10743): dm1105: not demuxing from interrupt context. The driver already has DMA buffer organized like ringbuffer, so it is easy to switch to a work queue. Length of ringbuffer can easily be increased, if someone need it. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit ac40d9e09825c62b77e8b11b3ed201f390550351 Author: Douglas Schilling Landgraf Date: Wed Feb 25 16:55:48 2009 -0300 V4L/DVB (10741): em28xx: Add Kaiser Baas Video to DVD maker support Added usb vendor/product id for Kaiser Baas Video to DVD maker. Thanks to Trevor Campbell for providing all data and tests needed to add this card to em28xx driver. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1f372a930c85270b4435b508b3e029021b1c5b62 Author: Douglas Schilling Landgraf Date: Wed Feb 25 16:54:31 2009 -0300 V4L/DVB (10740): em28xx-cards: Add SIIG AVTuner-PVR board Added SIIG AVTuner-PVR to the right entry. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 812c582390f2c6b81c0400d1286a7bce39d161d0 Author: Douglas Schilling Landgraf Date: Wed Feb 25 16:52:31 2009 -0300 V4L/DVB (10739): em28xx-cards: remove incorrect entry Removed EM2821_BOARD_PROLINK_PLAYTV_USB2 entry. This entry has a incorrect tuner set. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit cc1139c7cdc1455fdf460c33fe63a36524753834 Author: Mauro Carvalho Chehab Date: Thu Feb 26 23:08:22 2009 -0300 V4L/DVB(10738a): remove include/linux/video_encoder.h include/linux/video_encoder.h is not used anymore by a v4l driver. Let's remove it and its occurences. Signed-off-by: Mauro Carvalho Chehab commit 770060385a1694a8d909e7872c4ce0703da2b069 Author: Mauro Carvalho Chehab Date: Thu Feb 26 21:22:18 2009 -0300 V4L/DVB (10738): Get rid of video_decoder.h header were uneeded Now, just a few modules are still dependent of this legacy header: $ grep -l DECODER_ `find linux/drivers/media/ -name '*.[ch]' -exec grep -l video_decoder '{}' \;` linux/drivers/media/video/v4l2-ioctl.c linux/drivers/media/video/indycam.c linux/drivers/media/video/saa7191.c linux/drivers/media/video/vino.c Signed-off-by: Mauro Carvalho Chehab commit e686e73ca7e6b157c8a4877c5dc9655b20c4967a Author: Hans Verkuil Date: Fri Feb 20 15:06:59 2009 -0300 V4L/DVB (10733): zoran: increase bufsize to a value suitable for 768x576. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 27f79525738ef626dfd4df5798bfb86ad5d6d98e Author: Hans Verkuil Date: Fri Feb 20 07:34:28 2009 -0300 V4L/DVB (10732): zoran: s_jpegcomp should return a proper result, not 0. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2d26698e859994d4febb2d27b055bdc37d8e368e Author: Hans Verkuil Date: Thu Feb 19 17:41:19 2009 -0300 V4L/DVB (10731): zoran i2c modules: remove i2c autoprobing support. Zoran doesn't do autoprobing anymore, so remove support for this from the i2c modules. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7f6adeaf2d8800b66c5dd6c2cf2622dfdd68bd31 Author: Hans Verkuil Date: Thu Feb 19 17:31:17 2009 -0300 V4L/DVB (10730): v4l-dvb: cleanup obsolete references to v4l1 headers. Signed-off-by: Hans Verkuil [mchehab@redhat.com: fix compilation of tea575x-tuner.c] Signed-off-by: Mauro Carvalho Chehab commit 0ab6e1c38d80ab586e3a1ca9e71844131d9f51dc Author: Hans Verkuil Date: Thu Feb 19 16:18:23 2009 -0300 V4L/DVB (10729): zoran: convert to v4l2_device/v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 35631dcc7f09522ff3119ba72d1252f80419779a Author: Hans Verkuil Date: Thu Feb 19 14:56:37 2009 -0300 V4L/DVB (10728): adv7175: convert to v4l2-subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7d9ef21c2fd4d4d302cd2026c477c058f17d2ba8 Author: Hans Verkuil Date: Thu Feb 19 14:47:22 2009 -0300 V4L/DVB (10727): adv7170: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7e5eaadcbd8894b25f715aa03cb632d0df63269c Author: Hans Verkuil Date: Thu Feb 19 14:36:53 2009 -0300 V4L/DVB (10726): vpx3220: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 780d8e1552efb61122c269382b3fa8987aca3e89 Author: Hans Verkuil Date: Thu Feb 19 13:24:47 2009 -0300 V4L/DVB (10725): saa7185: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e7946844e676b5d33876d36db92f386a9907a0f4 Author: Hans Verkuil Date: Thu Feb 19 12:24:27 2009 -0300 V4L/DVB (10724): saa7110: convert to v4l2_subdev. Signed-off-by: Hans Verkuil [mchehab@redhat.com: fix merge conflict with removal of v4l2_ctrl_query_fill_std()] Signed-off-by: Mauro Carvalho Chehab commit 18d135ad6dbd6f4a32759ac9bd74ac92c96ae182 Author: Hans Verkuil Date: Thu Feb 19 11:51:16 2009 -0300 V4L/DVB (10723): ks0127: add supported ks0127 variants to the i2c device list. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0750e9719ea42ce84af1e55183d6329d6b49ba5e Author: Hans Verkuil Date: Thu Feb 19 11:50:27 2009 -0300 V4L/DVB (10722): ks0127: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a91f56e7ebe8f33861c613f03faee0b354bea6c1 Author: Hans Verkuil Date: Thu Feb 19 08:54:36 2009 -0300 V4L/DVB (10721): bt856: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2883913c5e06a04d04eeeae9ad7ff9b737559355 Author: Hans Verkuil Date: Thu Feb 19 08:08:07 2009 -0300 V4L/DVB (10720): bt819: that delay include is needed after all. Thanks to Jean Delvare for pointing this out. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c2179ad87240cf31b751f198c55140211e8cef89 Author: Hans Verkuil Date: Thu Feb 19 06:36:36 2009 -0300 V4L/DVB (10719): bt819: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8e4e1d8054b037e867849162ba78cf9b153b0dcc Author: Hans Verkuil Date: Thu Feb 19 04:49:29 2009 -0300 V4L/DVB (10718): bt866: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 886fe23d1ce99e35f95449a004647d24508a3d63 Author: Hans Verkuil Date: Wed Feb 18 18:34:55 2009 -0300 V4L/DVB (10717): zoran: TRY_FMT and S_FMT now do the same parameter checks. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 497d7d0b92b1eccbd76bbe054d791e471d29b599 Author: Hans Verkuil Date: Wed Feb 18 18:33:35 2009 -0300 V4L/DVB (10716): zoran: change buffer defaults to something that works with tvtime By popular request increased the default number and size of the buffers to something that tvtime likes. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 602dd48a35e8697be441d1749103187e6b5a922a Author: Hans Verkuil Date: Wed Feb 18 17:39:45 2009 -0300 V4L/DVB (10715): zoran: clean up some old V4L1 left-overs and remove the MAP_NR macro. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 107063c6156a0cbf055e771baafc28a3e3c0fb9b Author: Hans Verkuil Date: Wed Feb 18 17:26:06 2009 -0300 V4L/DVB (10714): zoran et al: convert zoran i2c modules to V4L2. The zoran i2c modules were still using V4L1 internally. Replace this with V4L2. Also deleted saa7111.c and saa7114.c, we use saa7115.c instead. Signed-off-by: Hans Verkuil [mchehab@redhat.com: fix v4l2_ctrl_query_fill_std merge conflict] Signed-off-by: Mauro Carvalho Chehab commit 84c1b09495ea366276726b0df2dcd7898cda9d0f Author: Hans Verkuil Date: Wed Feb 18 17:15:46 2009 -0300 V4L/DVB (10713): zoran: if reqbufs is called with count == 0, do a streamoff. count == 0 has a special meaning, implement this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5ca75b00ffd0df5bae16e84830f2710537efed11 Author: Hans Verkuil Date: Wed Feb 18 17:12:34 2009 -0300 V4L/DVB (10712): zoran: fix G_FMT Returned height was really height / 2. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0ba514d5d39d017e320ffba6d2a98563b829d37c Author: Hans Verkuil Date: Wed Feb 18 17:11:17 2009 -0300 V4L/DVB (10711): zoran: fix TRY_FMT support Actually try to turn the format into something usable rather than just rejecting it if it isn't perfect. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7f37cc9bae7aa29d567460c3ac8178d587f710bc Author: Hans Verkuil Date: Wed Feb 18 17:00:37 2009 -0300 V4L/DVB (10710): zoran: cleanups in an attempt to make the source a bit more readable. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit aff88bca73a16039ed0988660dc7ab755c3e1741 Author: Hans Verkuil Date: Wed Feb 18 13:52:24 2009 -0300 V4L/DVB (10709): zoran: set correct parent of the video device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dcbd83b1777fa6ed566a8bba035332ed245c0826 Author: Hans Verkuil Date: Wed Feb 18 13:51:13 2009 -0300 V4L/DVB (10708): zoran: remove old V4L1 ioctls, use v4l1-compat instead. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9f1b9efa6712201aacc590b3250e6f39f9e13f21 Author: Hans Verkuil Date: Wed Feb 18 13:28:28 2009 -0300 V4L/DVB (10707): zoran: set bytesperline to 0 when using MJPEG. Remove bogus check on bytesperline in the try_fmt_vid_out call. Just set it to 0. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3e66793b622feb383dec59d9c044a4c908d7c5c7 Author: Hans Verkuil Date: Wed Feb 18 13:24:56 2009 -0300 V4L/DVB (10706): zoran: fix field typo. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 869826a1cbd30f2604de4add19cfa847e00f2d19 Author: Hans Verkuil Date: Wed Feb 18 13:23:24 2009 -0300 V4L/DVB (10705): zoran: use slider flag with volume etc. controls. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b80696b700b25b7aa054610af84a1f05e4f4ea58 Author: Hans Verkuil Date: Wed Feb 18 13:20:05 2009 -0300 V4L/DVB (10704): zoran: remove broken BIGPHYS_AREA and BUZ_HIMEM code, and allow for kmallocs > 128 kB Remove memory allocation madness. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 96b8e145f0a6f3c0470b5cdbe7ba9be314bb556f Author: Hans Verkuil Date: Wed Feb 18 13:13:31 2009 -0300 V4L/DVB (10703): zoran: convert to video_ioctl2 and remove 'ready_to_be_freed' hack. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 17bdd9ddd14dc4d15277aacb277272f7a6c4eb2a Author: Hans Verkuil Date: Wed Feb 18 12:35:33 2009 -0300 V4L/DVB (10702): saa7115: add querystd and g_input_status support for zoran. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9040320a899f41cc1978bdd4b6867b172da9b021 Author: Hans Verkuil Date: Wed Feb 18 12:23:38 2009 -0300 V4L/DVB (10701): saa7185: add colorbar support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 674a323218ab0b0be100b51c251a72787b5c9e3a Author: Hans Verkuil Date: Wed Feb 18 12:22:16 2009 -0300 V4L/DVB (10700): saa7115: don't access reg 0x87 if it is not present. Devices like the saa7111 do not have this register, so check for this before using it. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 10afbef15e7bba5e1008f583852077743d28c395 Author: Hans Verkuil Date: Sat Feb 21 18:47:24 2009 -0300 V4L/DVB (10698): v4l2-common: remove v4l2_ctrl_query_fill_std The v4l2_ctrl_query_fill_std() function wasn't one the best idea I ever had. It doesn't add anything valuable that cannot be expressed equally well with v4l2_ctrl_query_fill and only adds overhead. Replace it with v4l2_ctrl_query_fill() everywhere it is used and remove it from v4l2_common.c. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1df795370c1392a026c63816368108187aec2ec1 Author: Hans Verkuil Date: Sat Feb 21 18:11:31 2009 -0300 V4L/DVB (10692): usbvision: convert to v4l2_device/v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ab373190813a2e89f9ab7338c6b106804611f2b7 Author: Hans Verkuil Date: Sat Feb 21 18:08:41 2009 -0300 V4L/DVB (10691): v4l2-common: add v4l2_i2c_subdev_addr() Add small function to retrieve the i2c address from a v4l2_subdev pointer. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 81dde91f640d6dea89229bb00c4ff38739fc1867 Author: Hans Verkuil Date: Fri Feb 20 06:30:12 2009 -0300 V4L/DVB (10687): v4l2-common/v4l2-spec: support/document write-only and button controls The controls V4L2_CID_PAN_RESET and V4L2_CID_TILT_RESET changed their type to button controls (these are unused at the moment, so this is a safe change). The controls V4L2_CID_PAN_RELATIVE, V4L2_CID_TILT_RELATIVE, V4L2_CID_FOCUS_RELATIVE and V4L2_CID_ZOOM_RELATIVE are marked as write-only controls. Cc: Laurent Pinchart Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1a367f3bc3a750b839c5711ecd0c9941e2c5aafa Author: Hans Verkuil Date: Fri Feb 20 05:55:39 2009 -0300 V4L/DVB (10686): v4l2: add V4L2_CTRL_FLAG_WRITE_ONLY flag. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 11c469e6160f2f829819787bc86f177e7c5a3623 Author: Hans Verkuil Date: Fri Feb 20 05:50:52 2009 -0300 V4L/DVB (10685): v4l2: add colorfx support to v4l2-common.c, and add to 'Changes' in spec. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e2d750fcef6dd15afdf327c56156d85085eb4978 Author: Jean-Francois Moine Date: Thu Feb 19 15:41:28 2009 -0300 V4L/DVB (10681): gspca - zc3xx: Bad probe of the ov7630c sensor. This patch fixes an other bug of the kernel bug report 12737. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 603538a085e42c02b9b3184b6104d73e22a7e5d1 Author: Jean-Francois Moine Date: Thu Feb 19 15:38:31 2009 -0300 V4L/DVB (10680): gspca - zc3xx: Bad probe of the ov7xxx sensors. This patch fixes one bug of the kernel bug report 12737. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8d97770a687b282184e85027628b030f8a5c53d2 Author: Jean-Francois Moine Date: Thu Feb 19 15:34:48 2009 -0300 V4L/DVB (10679): gspca - sonixj: Handle the webcam 0c45:613c instead of sn9c102. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit afb13683e988707bb6120435926243954e283b3e Author: Antonio Ospite Date: Mon Feb 23 12:13:24 2009 -0300 V4L/DVB (10676): mt9m111: Call icl->reset() on mt9m111_reset(). Call icl->reset() on mt9m111_reset(). Signed-off-by: Antonio Ospite Acked-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f7f41483bec8e8ddf3a6bd905b549d0a8d488fdb Author: Guennadi Liakhovetski Date: Mon Feb 23 12:13:24 2009 -0300 V4L/DVB (10675): soc-camera: extend soc_camera_bus_param_compatible with more tests Add data signal polarity, mode, and bus-width tests to soc_camera_bus_param_compatible(). Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 4f67130ad35d6760c27984cf94b13a8cb85e4034 Author: Guennadi Liakhovetski Date: Mon Feb 23 12:13:24 2009 -0300 V4L/DVB (10674): soc-camera: camera host driver for i.MX3x SoCs Tested with 8 bit Bayer and 8 bit monochrome video. create mode 100644 arch/arm/plat-mxc/include/mach/mx3_camera.h create mode 100644 drivers/media/video/mx3_camera.c Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 70e1d353e5d70551c5f69d464c4d194afae62f63 Author: Guennadi Liakhovetski Date: Mon Feb 23 12:13:23 2009 -0300 V4L/DVB (10673): mt9t031: fix gain and hflip controls, register update, and scaling Multiple fixes: 1. allow register update by setting the Output Control register to 2 and not 3 2. fix scaling factor calculations 3. recover lost HFLIP control 4. fix Global Gain calculation Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c8329accf7e75a8a8fbe4ad0a15a3eacf221f380 Author: Guennadi Liakhovetski Date: Mon Feb 23 12:12:58 2009 -0300 V4L/DVB (10672): sh_mobile_ceu_camera: include NV* formats into the format list only once. Currently, if an soc-camera device, connected to the sh_mobile_ceu_camera camera host driver, supports several formats from the UYVY, VYUY, YUYV, YVYU set, the driver would add four NV* formats for each of them. This patch fixes this misbehaviour. Reported-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c354b400c0eac1cc0009958754797538857ce640 Author: Kuninori Morimoto Date: Mon Feb 23 12:12:58 2009 -0300 V4L/DVB (10671): sh_mobile_ceu: SOCAM flags are not platform dependent sh_mobile_ceu_camera.c support for signal polarity flags isn't platform dependent, provide them locally. Only the bus width is implementation specific. Signed-off-by: Kuninori Morimoto Acked-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1af1b7a2def2f0936fc95edb5dcb3871934b7852 Author: Kuninori Morimoto Date: Mon Feb 23 12:12:58 2009 -0300 V4L/DVB (10670): tw9910: bit mask operation fix on tw9910_mask_set. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 051489119affd527f2834e9f8ba3e2a71bf1ca23 Author: Kuninori Morimoto Date: Mon Feb 23 12:12:58 2009 -0300 V4L/DVB (10669): ov772x: Add image flip support o ov772x_camera_info :: flags supports default image flip. o V4L2_CID_VFLIP/HFLIP supports image flip for user side. Thank Magnus for advice. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 66b46e68a52114e7065f0bfd0016276ae5925e70 Author: Kuninori Morimoto Date: Mon Feb 23 12:12:58 2009 -0300 V4L/DVB (10668): ov772x: bit mask operation fix on ov772x_mask_set. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit cdce7c0be2b3377cc389dc03cc855f3d2e452df3 Author: Kuninori Morimoto Date: Mon Feb 23 12:12:58 2009 -0300 V4L/DVB (10667): ov772x: setting method to register is changed. Color format regs array had been used, but it was not easy to understand what to want to do, and additional bit became complex. This patch modify this problem. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 2941e81f64c2c3f99d03be09790f610dd6fedf64 Author: Kuninori Morimoto Date: Mon Feb 23 12:12:58 2009 -0300 V4L/DVB (10666): ov772x: move configuration from start_capture() to set_fmt() soc_camera framework requires, that camera configuration is performed in set_fmt, and start_capture and stop_capture only turn the camera on/off. This patch modifies ov772x to comply to this requirement. Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 2d9329f3a551b50350a15d19edd9ab3df6c6bad0 Author: Guennadi Liakhovetski Date: Mon Feb 23 12:12:58 2009 -0300 V4L/DVB (10665): soc-camera: add data signal polarity flags to drivers All soc-camera camera and host drivers must specify supported data signal polarity, after all drivers are fixed, we'll add a suitable test to soc_camera_bus_param_compatible(). Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 8420fa7ee22c1d681549ff7ab0466ceda5a911c2 Author: Matthias Schwarzott Date: Mon Feb 23 12:26:38 2009 -0300 V4L/DVB (10662): remove redundant memset after kzalloc Hi there! While having a look at the allocation of struct dvb_frontend in *_attach functions, I found some cases calling memset after kzalloc. This is redundant, and the attached patch removes these calls. I also changed one case calling kmalloc and memset to kzalloc. Regards Matthias Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 51ca3bddf34bb6cdbdddd89f59fe3a0131d40eba Author: Roel Kluin Date: Wed Feb 18 06:11:10 2009 -0300 V4L/DVB (10657): [PATCH] V4L: missing parentheses? Add missing parentheses Signed-off-by: Roel Kluin Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6722e0ef1f72d86169b2b0f96ad34afd225cd080 Author: Sebastian Andrzej Siewior Date: Mon Jan 12 06:17:43 2009 -0300 V4L/DVB (10655): tvp514x: make the module aware of rich people because they might design two of those chips on a single board. You never know. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Mauro Carvalho Chehab commit df7fa09cca9d80f746c29f95b09a7223f6c2f4e7 Author: Mauro Carvalho Chehab Date: Wed Feb 25 09:06:13 2009 -0300 V4L/DVB (10654): em28xx: VideoMate For You USB TV box requires tvaudio As reported by Vitaly Wool : > about half a year ago I posted the patch that basically enabled Compro > VideoMate For You USB TV box support. > The main problem is I couldn't get the sound working. > So I kind of decomposed the box and found out the audio decoder chip > used there was Philips TDA9874A. As far as I can see, it's not supported > within the em28xx suite although it is for other TV tuner drivers. A tvaudio modprobing confirms that tda9874a chip is accessible via i2c: tvaudio: TV audio decoder + audio/video mux driver tvaudio: known chips: tda9840, tda9873h, tda9874h/a, tda9850, tda9855, tea6300, tea6320, tea6420, tda8425, pic16c54 (PV951), ta8874z tvaudio' 1-0058: chip found @ 0xb0 tvaudio' 1-0058: tvaudio': chip_read2: reg254=0x11 tvaudio' 1-0058: tvaudio': chip_read2: reg255=0x2 tvaudio' 1-0058: tda9874a_checkit(): DIC=0x11, SIC=0x2. tvaudio' 1-0058: found tda9874a. tvaudio' 1-0058: tda9874h/a found @ 0xb0 (em28xx #0) tvaudio' 1-0058: tda9874h/a: chip_write: reg0=0x0 tvaudio' 1-0058: tda9874h/a: chip_write: reg1=0xc0 tvaudio' 1-0058: tda9874h/a: chip_write: reg2=0x2 tvaudio' 1-0058: tda9874h/a: chip_write: reg11=0x80 tvaudio' 1-0058: tda9874h/a: chip_write: reg12=0x0 tvaudio' 1-0058: tda9874h/a: chip_write: reg13=0x0 tvaudio' 1-0058: tda9874h/a: chip_write: reg14=0x1 tvaudio' 1-0058: tda9874h/a: chip_write: reg15=0x0 tvaudio' 1-0058: tda9874h/a: chip_write: reg16=0x14 tvaudio' 1-0058: tda9874h/a: chip_write: reg17=0x50 tvaudio' 1-0058: tda9874h/a: chip_write: reg18=0xf9 tvaudio' 1-0058: tda9874h/a: chip_write: reg19=0x80 tvaudio' 1-0058: tda9874h/a: chip_write: reg20=0x80 tvaudio' 1-0058: tda9874h/a: chip_write: reg24=0x80 tvaudio' 1-0058: tda9874h/a: chip_write: reg255=0x0 tvaudio' 1-0058: tda9874a_setup(): A2, B/G [0x00]. tvaudio' 1-0058: tda9874h/a: thread started] This patch automatically loads tvaudio when needed (currently, only with this board). Signed-off-by: Mauro Carvalho Chehab commit 50144aeeb702ea105697ae5249f059ea3990b838 Author: Laurent Pinchart Date: Mon Feb 16 17:41:52 2009 -0300 V4L/DVB (10652): uvcvideo: Add quirk to override wrong bandwidth value for Vimicro devices At least 3 Vimicro cameras (0x332d, 0x3410 and 0x3420) fail to return correct bandwidth information. The first model rounds the value provided by the host to the nearest supported packet size, while the other two always request the maximum bandwidth. Introduce a device quirk to override the value returned by the device with an estimated bandwidth computed by the driver from the frame size and frame rate, and enable it for all Vimicro cameras. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit c90e777976f6237a0cdb644c6a9406907939b174 Author: Laurent Pinchart Date: Sat Feb 14 19:39:08 2009 -0300 V4L/DVB (10651): uvcvideo: Ignore empty bulk URBs Devices may send a zero-length packet to signal the end of a bulk payload. If the payload size is a multiple of the URB size the zero-length packet will be received by the URB completion handler. Handle this by ignoring all empty URBs. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 72362422f3a9cb66e26fa9f0d90d3ef5241e78ba Author: Laurent Pinchart Date: Sat Feb 14 19:26:56 2009 -0300 V4L/DVB (10650): uvcvideo: Initialize streaming parameters with the probe control value The UVC specification requires SET_CUR requests on the streaming commit control to use values retrieved from a successful GET_CUR request on the probe control. Initialize streaming parameters with the probe control current value to make sure the driver always complies. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 4a5aa62bd5e27d90ceb11bc256de659d5c99e0dc Author: Hans Verkuil Date: Sat Feb 14 13:50:19 2009 -0300 V4L/DVB (10647): vivi: add slider flag to controls. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c41ee24bc44d5ce813da1fcf8a0f018a825cfa84 Author: Hans Verkuil Date: Sat Feb 14 13:43:44 2009 -0300 V4L/DVB (10646): vivi: controls are per-device, not global. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5ab6c9af375e27c48bd2e86f4d9f6d68c9ab98fd Author: Hans Verkuil Date: Sat Feb 14 13:23:12 2009 -0300 V4L/DVB (10645): vivi: introduce v4l2_device and do several cleanups - add v4l2_device - remove BKL - make the debug parameter settable on the fly - set bus_info in querycap Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b01676005446ad51a32bb00577647c7aae7d2624 Author: Hans Verkuil Date: Sat Feb 14 12:00:53 2009 -0300 V4L/DVB (10644): v4l2-subdev: rename dev field to v4l2_dev Remain consistent in the naming: fields pointing to v4l2_device should be called v4l2_dev. There are too many device-like entities without adding to the confusion by mixing naming conventions. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3a63e4492fbc7aa7f99d4368822da1382ec6fe03 Author: Hans Verkuil Date: Sat Feb 14 11:54:23 2009 -0300 V4L/DVB (10643): v4l2-device: allow a NULL parent device when registering. Some drivers (e.g. for ISA devices) have no parent device because there is no associated bus driver. Allow the parent device to be NULL in those cases when registering v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 62cfdacc9431cad7f9093e91b17ea68d684188ae Author: Hans Verkuil Date: Sat Feb 14 11:37:17 2009 -0300 V4L/DVB (10642): vivi: update comment to reflect that vivi can now create more than 32 devs. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 775a05dd547747cdcc079e03f4e89c7475caa735 Author: Hans Verkuil Date: Sat Feb 14 11:31:01 2009 -0300 V4L/DVB (10641): v4l2-dev: remove limit of 32 devices per driver in get_index() get_index() had a limitation of 32 devices per driver. This was unnecessarily strict and has been replaced with the maximum number of devices. That should really satisfy anyone! Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 27d35fc3fb06284edec8a3c9f6872a1ce7405a48 Author: Adam Baker Date: Fri Feb 6 15:12:46 2009 -0300 V4L/DVB (10639): gspca - sq905: New subdriver. Add initial support for cameras based on the SQ Technologies SQ-905 chipset (USB ID 2770:9120) to V4L2 using the gspca infrastructure. Currently only supports one resolution and doesn't attempt to inform libv4l what image flipping options are needed. Signed-off-by: Adam Baker Signed-off-by: Theodore Kilgore Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 748c01488923fa1b0c94046d731116125dc16a60 Author: Jean-Francois Moine Date: Fri Feb 6 14:11:58 2009 -0300 V4L/DVB (10638): gspca - t613: Bad debug level when displaying the sensor type. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c35d066e852256fa6492bb68315cf564494c8823 Author: Jean-Francois Moine Date: Fri Feb 6 13:45:23 2009 -0300 V4L/DVB (10637): gspca - t613: Bad sensor name in kernel trace when 'other' sensor. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2797ba2a1727df07a4c74d494a43296cbf5179b9 Author: Jean-Francois Moine Date: Thu Feb 5 15:12:24 2009 -0300 V4L/DVB (10636): gspca - sonixj: Add autogain for ov7630/48 and vflip for ov7648. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c33c02ed07d678625d7ca2e26238c8e925710138 Author: Jean-Francois Moine Date: Thu Feb 5 15:04:33 2009 -0300 V4L/DVB (10635): gspca - sonixj: No vertical flip control for mt9v111. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 090264e508c20baa0c3eea5a7d8eea4db84a29cc Author: Jean-Francois Moine Date: Thu Feb 12 08:05:45 2009 -0300 V4L/DVB (10620): gspca - main: More checks of the device disconnection. - prevent application oops when the device is disconnected - wake up the application at disconnection time - check the disconnection in ioctl dqbuf and poll Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 10711d07c109a1b2b3245d68ada6aba5c8c59147 Author: Tobias Lorenz Date: Thu Feb 12 14:56:30 2009 -0300 V4L/DVB (10534): Output HW/SW version from scratchpad This patch adds functions to access the scratchpad. For it is this good for? In the first two bytes, the developers stored the HW/PCB version and the software release of the firmware. This is now written to syslog, so debugging get's easier. Also knowing the versions is the key for flash upgrades later on. There are also some cleanups of the flash report sizes. Altogether this should justify the new version number 1.0.9. Thanks to Rick Bronson Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit b7763f9bee2a1a59c0481b408ca42097944e1651 Author: Márton Németh Date: Sun Feb 1 19:31:54 2009 -0300 V4L/DVB (10633): DAB: fix typo Fix typo in "DAB adapters" section in Kconfig. Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit cb3bf504f7c875070d56e84ce1e28aff8c3b6790 Author: Oldřich Jedlička Date: Thu Feb 12 03:43:11 2009 -0300 V4L/DVB (10632): Added support for AVerMedia Cardbus Hybrid remote control Added support for I2C device at address 0x40 and subaddress 0x0d/0x0b that provides remote control key reading support for AVerMedia Cardbus Hybrid card, possibly for other AVerMedia Cardbus cards. The I2C address 0x40 doesn't like the SAA7134's 0xfd quirk, so it was disabled. [mchehab@redhat.com: CodingStyle fixes] Signed-off-by: Oldřich Jedlička Signed-off-by: Mauro Carvalho Chehab commit 995a65285bde47bbb2a0c3dadc0b8822d47d78f4 Author: Randy Dunlap Date: Thu Feb 12 15:19:24 2009 -0300 V4L/DVB (10631): zoran: fix printk format Fix printk format warning: drivers/media/video/zoran/zoran_driver.c:345: warning: format '%lx' expects type 'long unsigned int', but argument 5 has type 'phys_addr_t' Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 7d979a86a95036a0c765aaa90f8bcefb4096a406 Author: Roel Kluin Date: Wed Feb 11 06:34:11 2009 -0300 V4L/DVB: calibration still successful at 10 With while (i++ < 10) { ... } i can reach 11, so callibration still succeeds at i == 10. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 320a46485c83e70e374afa8bdfe8cd39a801cd5d Author: Roel Kluin Date: Mon Feb 9 18:57:06 2009 -0300 V4L/DVB (10629): tvp514x: try_count reaches 0, not -1 with while (try_count-- > 0) { ... } try_count reaches 0, not -1. Cc: Vaibhav Hiremath Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit e23b290716ad9355d9f17b569c8c9e659ff68aa7 Author: Tobias Klauser Date: Mon Feb 9 18:06:49 2009 -0300 V4L/DVB (10628): V4L: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Cc: Jean-Francois Moine Cc: Sakari Ailus Signed-off-by: Tobias Klauser Signed-off-by: Mauro Carvalho Chehab commit 92e8c91bd2a0db4b129baf332344f564bdfca941 Author: Jean-Francois Moine Date: Mon Feb 2 16:25:38 2009 -0300 V4L/DVB (10618): gspca - some drivers: Fix compilation warnings. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5899c75f0252552f3683e9bba2f2680ea69f76b3 Author: Jean-Francois Moine Date: Mon Feb 2 07:43:50 2009 -0300 V4L/DVB (10617): gspca - vc032x: Remove the vc0321 reset. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ac829d62eeb5440899f0f034a9f756c2296105a5 Author: Kuninori Morimoto Date: Tue Jan 27 03:02:41 2009 -0300 V4L/DVB (10616): tw9910: color format check is added on set_fmt Signed-off-by: Kuninori Morimoto Signed-off-by: Mauro Carvalho Chehab commit 2c32cc0c1f54d62c7e9ab81d1c1a3aa5b9efd73d Author: Sergio Aguirre Date: Tue Jan 20 18:34:43 2009 -0300 V4L/DVB (10575): V4L2: Add COLORFX user control This is a common feature on many cameras. the options are: Default colors, B & W, Sepia Signed-off-by: Sergio Aguirre Signed-off-by: Mauro Carvalho Chehab commit 314893605e07547c372ebc6187e28c784ce0b1ed Author: Tim Farrington Date: Thu Jan 15 09:58:55 2009 -0300 V4L/DVB (10574): saa7134: fix Avermedia E506R composite input Make correction to composite input plus svideo input to Avermedia E506R Signed-off-by: Tim Farrington Signed-off-by: Mauro Carvalho Chehab commit a7a1c0e60c706fc04c42c020cd9c45b8bfe14e8b Author: Mauro Carvalho Chehab Date: Sat Feb 14 07:51:28 2009 -0300 V4L/DVB (10571): v4l2-framework.txt: Fixes the videobuf init functions Documents the driver usage functions, instead of the generic one used by the videobuf specific handlers. Signed-off-by: Mauro Carvalho Chehab commit 44061c05ac8dedcc45c439e871f654c9521cc726 Author: Mauro Carvalho Chehab Date: Sat Feb 14 07:29:07 2009 -0300 V4L/DVB (10570): v4l2-framework: documments videobuf usage on drivers Signed-off-by: Mauro Carvalho Chehab commit 4b10d3b626922ffa2387905a230b12450281a12d Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10568): bttv: dynamically allocate device data The bttv driver had static array of structures for up to 16 possible bttv devices, even though few users have more than one or two. The structures were quite large and this resulted in a huge BSS segment. Change the driver to allocate the bttv device data dynamically, which changes "struct bttv bttvs[BTTV_MAX]" to "struct bttv *bttvs[BTTV_MAX]". It would be nice to get ride of "bttvs" entirely but there are some complications with gpio access from the audio & mpeg drivers. To help bttvs removal along anyway, I changed the open() methods use the video device's drvdata to get the driver data instead of looking it up in the bttvs array. This is also more efficient. Some WARN_ON()s are added in cases the device node exists by the bttv device doesn't, which I don't think should be possible. The gpio access functions need to check if bttvs[card] is NULL now. Though calling them on a non-existent card in the first place is wrong, but hard to solve given the fundamental problems in how the gpio access code works. This patch reduces the bss size by 66560 bytes on ia32. Overall change is a reduction of 66398 bytes, as the WARN_ON()s add some 198 bytes. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 6f98700a5bb8d218162b04db1b8a3921a0dcc7ce Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10567): bttv: shrink muxsel data in card database Over half of the card database was used to store muxsel data. 64 bytes were used to store one 32 bit word for each of up to 16 inputs. The Bt8x8 only has two bits to control its mux, so muxsel data for 16 inputs will fit into a single 32 bit word. There were a couple cards that had special muxsel data that didn't fit in two bits, but I cleaned them up in earlier patches. Unfortunately, C doesn't allow us to have an array of bit fields. This makes initializing the structure more of a pain. But with some cpp magic, we can do it by changing: .muxsel = { 2, 3, 0, 1 }, .muxsel = { 2, 2, 2, 2, 3, 3, 3, 3, 1, 1 }, Into: .muxsel = MUXSEL(2, 3, 0, 1), .muxsel = MUXSEL(2, 2, 2, 2, 3, 3, 3, 3, 1, 1), That's not so bad. MUXSEL is a fancy macro that packs the arguments (of which there can be one to sixteen!) into a single word two bits at a time. It's a compile time constant (a variadic function wouldn't be) so we can use it to initialize the structure. It's important the the arguments to the macro only be plain decimal integers. Stuff like "0x01", "(2)", or "MUX3" won't work properly. I also created an accessor function, bttv_muxsel(btv, input), that gets the mux bits for the selected input. It makes it cleaner to change the way the muxsel data is stored. This patch doesn't change the code size and decreases the datasegment by 9440 bytes. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 430390e67b39ccf56d98286f5e5a72d903c9cf87 Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10566): bttv: clean up mux code for IDS Eagle This card apparently uses an external mux and the Bt878's mux should always be set to MUX2. The values for the external mux control bits were stored in the muxsel field. This meant that when changing inputs the driver would switch the Bt878's mux to whatever value the external mux was supposed to be set to, then eagle_muxsel() would switch it back to MUX2 and program the external mux. This creates an unnecessary switch of the Bt878's mux. So change muxsel to be 2 for each input. The external mux bits are just "input&3" so they don't really need to be stored anywhere. This also eliminates the last non-standard use of the muxsel data. Cc: M G Berberich Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 13afaefc0392d377d23ce5b7e1f4f3944a00e1f1 Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10565): bttv: fix external mux for RemoteVision MX Old versions of the bttv driver would use the high nibble of an input's muxsel value to program the GPIO lines enabled via gpiomask2. Apparently this was supposed to be for switching external audio muxes. Anyway, the code that did this was removed sometime in the pre-git 2.6 series. The RemoteVision MX board used this feature to control an external video mux and I guess no one noticed when they removed the code. Move the extra gpio mux data out of the high nibble of muxsel and to rv605_muxsel(), then have that function set the gpio lines with it. From looking at the CD22M3494E datasheet, it seems like the mdelay(1) is a much longer delay than necessary. It looks like only around 20 ns is necessary. Cc: Miguel Freitas Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 15f8eeb2a86b969d82bfca5d54f1fb30c35cf243 Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10564): bttv: fix external mux for PHYTEC VD-009 Old versions of the bttv driver would use the high nibble of an input's muxsel value to program the GPIO lines enabled via gpiomask2. Apparently this was supposed to be for switching external audio muxes. Anyway, the code that did this was removed sometime in the pre-git 2.6 series. These phytec boards used this feature to control an external video mux and I guess no one noticed when they removed the code. So add a muxsel_hook for these boards that does the necessary gpio setting. BTW, I doubt the needs_tvaudio setting for these cards is correct. Cc: Dirk Heer Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit fb5deb1b9ecc3c64b713f33ec56781c01a0b11b9 Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10563): bttv: clean up mux code for IVC-120G The card data for BTTV_BOARD_IVC120 set muxsel to a bunch of bogus values (1 to 16), which the common mux code would use to set the Bt878's mux to some random value. Then the custom code in ivc120_muxsel() would change the Bt878's mux to the right value (always MUX0). Better to just make the muxsel data correct (all zeros, easy!) and get the mux right to begin with. Then the extra Bt878 mux setting code in ivc120_muxsel() can be eliminated (the rest of the code for the IVC-120G's external mux is still there of course). This will help me clean up muxsel for some other changes. It should also get rid of an unnecessary mux switch when changing from certain inputs to certain other inputs on the IVC-120G. Cc: Alan Garfield Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5221e21e5ecd3aebd2e8e3234bd18883ce720945 Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10562): bttv: rework the way digital inputs are indicated The code was using a muxsel value of -1U to indicate a digital input. A couple places in were checking of muxsel < 0 to detect this, which doesn't work of course because muxsel is unsigned and can't be negative. Only a couple cards had digital inputs and it was always the last one, so for the card database create a one bit field that indicates the last input is digital. On init, this is used to set a new field in the bttv struct to the digital input's number or UNSET for none. This makes it easier to check if the current input is digital. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4c548d4b28c0c65938914b2790fd2ca2e9c61d63 Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10561): bttv: store card database more efficiently The bttv card database is quite large and the data structure used to store it wasn't very efficient. Most of the field are only used at card initialization time so it doesn't matter if they aren't efficient to access. Overall the changes reduce code size by 60 bytes in ia32. The data size is decreased by 5024 byes. It is probably even more for 64-bit kernels. Move the fields in the struct around to be sorted from largest to smallest. This saves on padding space used for alignment. Get rid of the unused digital_mode field. Leave the setting as a comment in the few cards entries that set it, in case someone ever writes the code. Get rid of the unused audio_inputs field. Leave the values in the card entries in case someone ever writes code that might use it. Get ride of the unused radio_addr field. No card entries even set it to anything interesting so it's not left as comments. All the code that used it was removed in commit v2.6.14-3466-g291d1d7 from Nov 8th 2005. Reduce video_inputs to u8 as no card has more than 255 inputs (the most is 16). Change tuner_addr to u8. I2C addresses are only seven bits and 255 means ADDR_UNSET, so everything fits. Make has_radio a one bit flag. Make the pll setting a two bit field. Reduce svhs to four bits as no card has an s-video input above 9. Change the value for no s-video input from UNSET (which is -1U and out of range of four bits) to NO_SVHS (which is now 15). Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit abb0362f49c361f71b5aa6d244d4847145ed53c1 Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10560): bttv: make tuner card info more consistent The bttv card database structure had a "tuner" field that was the input number of the tuner input or UNSET for no tuner. However, the only values it could ever be are 0 and UNSET. Having a tuner on an input other than 0 didn't work and was never used. There is also a "tuner_type" field that can be set to TUNER_ABSENT to indicate no tuner, which makes "tuner = UNSET" redundant. In many cases, tuner_type was set to UNSET when there was no tuner, which isn't quite correct. tuner_type == UNSET is supposed to mean the tuner type isn't yet known. So, I changed cards where "tuner == UNSET" to always have tuner_type of TUNER_ABSENT. At this point the tuner field is redundant, so I deleted it. I have the card setup code set the card's tuner_type (not the card type's tuner_type!) to TUNER_ABSENT if it hasn't yet been set at the end of the setup code. Various places that check if the card has a tuner will now look for this instead of checking the card type's "tuner" field. Also autoload the tuner module before issuing the TUNER_SET_TYPE_ADDR I2C client call instead of after issuing it. Overall, on ia32 this decreases compiled code size by about 24 bytes and reduces the data size by 640 bytes. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 72134a6d5199c3f5c8efe914e49072bde95948b3 Author: Trent Piepho Date: Wed Jan 28 21:32:59 2009 -0300 V4L/DVB (10559): bttv: Fix TDA9880 norm setting code The code to set the norm for the TDA9880 analog demod was comparing btv->norm, an index into the bttv driver's norm array, to V4L2_STD_NTSC, which is a bit flag that's part of the V4L2 API. This doesn't work of course and results in the PAL path always being taken. What's more, it modified the bttv_tvcards[] entries for cards using the TDA9880. This is wrong because changing the norm on one card will also affect other cards of the same type. Writing to bttv_tvcards is also bad because it should be read-only or even devinitdata. Changing the norm would also cause the audio to become unmuted. Have the code get called for both norm setting and audio input setting (which where the gpios are set) to avoid needed to modify bttv_tvcards. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4ef2ccc2611456667ea78c6f418ce87e1fa9fac5 Author: Trent Piepho Date: Wed Jan 28 21:32:58 2009 -0300 V4L/DVB (10558): bttv: norm value should be unsigned The norm value in the driver is an index into an array and the the driver doesn't allow it to be negative or otherwise invalid. It should be unsigned but wasn't in all places. Fix some structs and functions to have the norm be unsigned. Get rid of useless checks for "< 0". Most of the driver code can't handle a norm value that's out of range, so change some ">= BTTV_TVNORMS" checks to BUG_ON(). There's no point in silently ignoring invalid driver state just to crash because of it later. Reported-by: Roel Kluin Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 1d6af821a91df15e3fc2720c223ec514ae83dc86 Author: Douglas Schilling Landgraf Date: Thu Feb 12 14:22:42 2009 -0300 V4L/DVB (10556): em28xx-cards: Add Pinnacle Dazzle Video Creator Plus DVC107 description Added board Pinnacle Dazzle Video Creator Plus DVC107 to name description field. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 55bf0e7013c2204aba3897987284ced7d3b8ff8b Author: Nicola Soranzo Date: Thu Feb 12 14:21:52 2009 -0300 V4L/DVB (10555): em28xx: CodingStyle fixes Coding style fixes for recent changesets in em28xx. Signed-off-by: Nicola Soranzo Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 2ba588942c45a03a29a7a097e62bf0beceddb0e8 Author: Hans Verkuil Date: Fri Feb 13 10:57:48 2009 -0300 V4L/DVB (10544): v4l2-common: add comments warning that about the sort order Control arrays as are used with v4l2_ctrl_next must be sorted from low to high. Add a comment at the top of all such arrays to warn about this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1b6f1d9603a46a73ceed8daf7a3285559727fec3 Author: Hans Verkuil Date: Fri Feb 13 07:48:21 2009 -0300 V4L/DVB (10542): v4l2-subdev: add querystd and g_input_status In order to convert the v4l1 zoran and vino i2c drivers to v4l2 these extra ops are required. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ee6f78cd03caae54baafb2e79a39b4aee90e6931 Author: Hans Verkuil Date: Fri Feb 13 05:12:02 2009 -0300 V4L/DVB (10540): cx2341x: fixed bug causing several audio controls to be no longer listed The cx2341x_mpeg_ctrls array must be ordered by control ID. I know that this is bad design, but for now I will just fix this bug and revisit it when all drivers have moved to v4l2_device/v4l2_subdev, since that will allow me to do greatly improve control handling. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7911a709581bcebc2a2b915adb1b00b37e40a641 Author: Hans Verkuil Date: Fri Feb 13 05:08:27 2009 -0300 V4L/DVB (10539): saa6588: remove legacy_class, not needed for saa6588 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f1f8c907b752ed281b1b4e6ca3605db50a8d6250 Author: Hans Verkuil Date: Wed Feb 11 19:28:30 2009 -0300 V4L/DVB (10538): saa6588: add g_chip_ident support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c3fda7f835b025f3c020fa0865086fd23609e7ca Author: Hans Verkuil Date: Wed Feb 11 19:23:57 2009 -0300 V4L/DVB (10537): saa6588: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b5ffc223e48417c2db0a4ce1beacdbab6503a472 Author: Hans Verkuil Date: Wed Feb 11 19:14:09 2009 -0300 V4L/DVB (10536): saa6588: convert to v4l2-i2c-drv-legacy.h Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7f53b35c2bc0324fb97008403e35073db7210353 Author: Tobias Lorenz Date: Thu Feb 12 14:55:56 2009 -0300 V4L/DVB (10531): Code rearrangements in preparation for other report types LED_REPORT and all flash REPORTs are on it's way. This code rearrangement cleans up the code for proper integration later on. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 00ec8d0799d56448525b51abbf2075951f637b37 Author: Tobias Lorenz Date: Thu Feb 12 14:55:45 2009 -0300 V4L/DVB (10530): Documentation and code cleanups - "DealExtreme" sells the "PCear" radio and that comes from "Sanei Electric". - MPlayer is also usable as radio application. - Consistent usage of tabulators and blanks in the code. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit f74a61e3c6f218053742c2caf3e247fb41bf395e Author: Indika Katugampala Date: Wed Feb 11 11:13:05 2009 -0300 V4L/DVB (10528): em28xx: support added for IO-DATA GV/MVP SZ - EMPIA-2820 chipset [dougsland@redhat.com: Fixed CodingStyle] Signed-off-by: Indika Katugampala Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit a1a6ee74f2c68918f2e145dccba3637eea91a52a Author: Nicola Soranzo Date: Tue Feb 10 23:28:24 2009 -0300 V4L/DVB (10525): em28xx: Coding style fixes and a typo correction Lots of coding style fixes and a typo correction for em28xx. [dougsland@redhat.com: fixed a reject due to a change on em28xx-audio.c] Signed-off-by: Nicola Soranzo Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7aa0eabde08259c47586df934921c67cff36e7dc Author: Douglas Schilling Landgraf Date: Tue Feb 10 22:00:06 2009 -0300 V4L/DVB (10524): em28xx: Add DVC 101 model to Pinnacle Dazzle description Added DVC 101 model to Pinnacle Dazzle description Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 22cff7b381eca256d2afb460b3b9815f83810011 Author: Douglas Schilling Landgraf Date: Sun Feb 8 01:38:10 2009 -0300 V4L/DVB (10523): em28xx-audio: Add macros EM28XX_START_AUDIO / EM28XX_STOP_AUDIO Added macros EM28XX_START_AUDIO and EM28XX_STOP_AUDIO for em28xx_cmd(). Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5c030de4757f64246897babcaa7091b4b391a660 Author: Alexey Klimov Date: Sun Feb 8 01:16:32 2009 -0300 V4L/DVB (10522): em28xx-audio: replace printk with em28xx_errdev Patch removes printk and place em28xx_errdev macros to provide information about driver name to dmesg. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bf510ac380c0e5aac813455fdf7364613cf75b72 Author: Douglas Schilling Landgraf Date: Sun Feb 8 01:11:13 2009 -0300 V4L/DVB (10521): em28xx-audio: Add lock for users Added lock for users count Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit df39ca6437410b9428ebd3ce30fcde193782410d Author: Douglas Schilling Landgraf Date: Sun Feb 8 14:17:15 2009 -0300 V4L/DVB (10520): em28xx-audio: Add spinlock for trigger Added spinlock for trigger session Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit c744dff260e9efb1080d1e823e588f85176a057b Author: Robert Krakora Date: Sun Feb 8 13:10:39 2009 -0300 V4L/DVB (10519): em28xx: Fix for em28xx audio startup Essentially if a snd_em28xx_capture_trigger() stop followed by a snd_em28xx_capture_trigger() start would not yield any data because there was some logic put in with an adev->shutdown variable which did not seem warranted in my humble opinion. It would cause snd_em28xx_capture_trigger start never to start up the audio stream until the device was closed and reopened again. Upon re-opening the device adev->shutdown is reset and audio data would again flow. Signed-off-by: Robert Krakora Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit aa5a1821859c9c2915bc00e79f6e01e619df6e8f Author: Robert Krakora Date: Sun Feb 8 13:09:11 2009 -0300 V4L/DVB (10518): em28xx: Fix for em28xx memory leak and function rename Fix for em28xx memory leak and function rename Signed-off-by: Robert Krakora Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 3e099baff451affd13a93c6fed216943e01b80fd Author: Douglas Schilling Landgraf Date: Sun Feb 8 10:45:34 2009 -0300 V4L/DVB (10517): em28xx: remove bad check (changeset a31c595188af) Removed bad check. Thanks to Robert Krakora to report that. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 56ee38071fe0cf1746d53c5b40a46a835b24fbe4 Author: Mauro Carvalho Chehab Date: Wed Feb 11 14:18:36 2009 -0300 V4L/DVB (10516): em28xx: Add support for Easy Cap Capture DC-60 Thanks to Peter Senna Tschudin for borrow me one of those devices. Signed-off-by: Mauro Carvalho Chehab commit 9fc2c5ee5d9d797730dd05616757b329f6a227e9 Author: Mauro Carvalho Chehab Date: Wed Feb 11 14:15:14 2009 -0300 V4L/DVB (10515): Adds IR table for the IR provided with this board and includes it at Kaiomy entry. Thanks to Peter Senna Tschudin for borrow me one of those devices. Signed-off-by: Mauro Carvalho Chehab commit 0bf4f6ce6d43b135867a78fa1b4ac58e22d2e329 Author: Mauro Carvalho Chehab Date: Wed Feb 11 14:13:20 2009 -0300 V4L/DVB (10514): em28xx: Add support for Kaiomy TVnPC U2 stick Thanks to Peter Senna Tschudin for borrow me one of those devices. Signed-off-by: Mauro Carvalho Chehab commit 517efa89acef3ac440e6e1ca10252d407ba51abf Author: Mauro Carvalho Chehab Date: Mon Feb 9 13:12:41 2009 -0300 V4L/DVB (10512): tda1004x: Fix eeprom firmware load on boards with 16MHz Xtal For i2c normal work, we need to slow down the bus speed. However, the slow down breaks the eeprom firmware load. So, use normal speed for eeprom booting and then restore the i2c speed after that. It should also be noticed that no other I2C transfer should be in course while booting from eeprom, otherwise, tda10046 goes into an instable state. So, proper locking are needed at the i2c bus master. Tested with saa7134 MSI TV @nyware A/D board, that comes with an eeprom with firmware version 29. Signed-off-by: Mauro Carvalho Chehab commit befd6e645cc38eae0cfd4ef98b3daf0986240e2c Author: Mauro Carvalho Chehab Date: Mon Feb 9 12:27:03 2009 -0300 V4L/DVB (10511): saa7134: get rid of KBL KBL is not needed on saa7134, so, let's remove it. However, we should take some care to avoid opening the module while initializing it. This issue exists with newer udev's that opens a device as soon as the driver is registered. So, a proper lock is needed on open. Signed-off-by: Mauro Carvalho Chehab commit 553d3c5067afceda3cdbfbf51c1e4a512a3b0627 Author: Mauro Carvalho Chehab Date: Mon Feb 9 05:33:54 2009 -0300 V4L/DVB (10509): saa7134-video: two int controls lack a step Fix two broken controls where a step weren't specified. Without a step, userspace apps won't allow to adjust such controls. Signed-off-by: Mauro Carvalho Chehab commit eb47b5f981eaae280cf95b9511243f074d01424b Author: Mauro Carvalho Chehab Date: Mon Feb 9 05:29:54 2009 -0300 V4L/DVB (10508): saa7134: Cleanup: remove unused waitqueue from struct The waitqueue is never used. So, let's just remove it. Signed-off-by: Mauro Carvalho Chehab commit b9348353a7520073ea57ed937730a70986932fe3 Author: Mauro Carvalho Chehab Date: Sun Feb 8 09:33:15 2009 -0300 V4L/DVB (10507): saa7134: Fix analog mode on devices that need to open an i2c gate Some saa7134 devices require to open an i2c gate before tuning. This patch fix the initialization for those devices. The nxt200x_gate_ctrl() logic were returned back to the old place, since we don't know how to close the gate. A future pacth could revert that change and provide the proper close gate control, to avoid keeping it open forever. Signed-off-by: Mauro Carvalho Chehab commit 18b1ae7dd83e4ec5ab28711e4b28e4b2e1c0b53c Author: Mauro Carvalho Chehab Date: Sun Feb 8 08:50:50 2009 -0300 V4L/DVB (10506): saa7134: move tuner init code to saa7134-cards On certain devices, before opening a tuner, we need to open the tuner gate via i2c. This patch just moves the tuner probing code to the same place where such i2c commands are handled, to make easier to fix this trouble on later patches. Signed-off-by: Mauro Carvalho Chehab commit 31063814400cd37d47f5f58a96e58596196f04b0 Author: Mauro Carvalho Chehab Date: Sun Feb 8 08:42:29 2009 -0300 V4L/DVB (10505): tda8290: Print an error if i2c_gate is not provided While here, be sure that gate will be kept disabled if an error occurs. Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 68d5ce70217ddd20baf3583ce25f08e869eb148f Author: Mauro Carvalho Chehab Date: Sun Feb 8 08:34:43 2009 -0300 V4L/DVB (10504): tda827x: Be sure that gate will be open/closed at the proper time The gate control logic is broken: several routines just keep it open; other rotines close it properly; there are even other routines that assumes that it is open without really checking or opening it. Instead of having to manually handle the gate control and having such troubles, let a sub-routine take care of the gate, opening it before i2c_transfer and closing it after that. This avoids leaving the gate into a random state. Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 230b65f9945b468c23188572144b4f066af8f98c Author: Hans Verkuil Date: Sat Feb 7 20:42:33 2009 -0300 V4L/DVB (10502): saa7146: move v4l2 device registration to saa7146_vv. Doing the v4l2_device registration in the saa7146 core will make it dependent on v4l2, even for DVB-only boards. This registration and unregistration belongs in saa7146_vv instead. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit eae4d69b6a337d29060dcad3a4e19e3e8ace3e70 Author: Hans Verkuil Date: Sat Feb 7 20:15:22 2009 -0300 V4L/DVB (10501): saa7146: prevent unnecessary loading of v4l2-common. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5a5b9647af504a326c02ecbc58ca4224fb408511 Author: Hans Verkuil Date: Sat Feb 7 11:25:05 2009 -0300 V4L/DVB (10500): saa7146: setting control while capturing should return EBUSY, not EINVAL. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1b8dac150a01e2312d8e3fedd6462a0ec34c96d0 Author: Hans Verkuil Date: Sat Feb 7 11:18:05 2009 -0300 V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev. Modified mxb to load the i2c modules through v4l2_subdev. So no more probing. Modified tea6415c and tea6420 to use the standard routing ops to do the routing, rather than using private commands. Dropped the private commands from tda9840 (they were never used except during initialization of the module). Added saa7146 support for VIDIOC_DBG_G_CHIP_IDENT. Converted saa5246a and saa5249 to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d30e21ddcdc948ecedfb46a0ed021d57f310a6f3 Author: Hans Verkuil Date: Sat Feb 7 07:45:08 2009 -0300 V4L/DVB (10498): saa7146: the adapter class will be NULL when v4l2_subdev is used. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 45d809431daaa3ab01f877388d09676d05b469be Author: Hans Verkuil Date: Sat Feb 7 07:38:12 2009 -0300 V4L/DVB (10497): saa7146: i2c adapdata now points to v4l2_device. Prepare for converting to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ef77a26be1883366bb78741d1808e5c86a14ec76 Author: Hans Verkuil Date: Sat Feb 7 07:23:40 2009 -0300 V4L/DVB (10496): saa7146: implement v4l2_device support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 80b36e0fcfe7520ee92f648148d091ad880ae711 Author: Hans Verkuil Date: Sat Feb 7 11:00:02 2009 -0300 V4L/DVB (10490): v4l2: prefill ident and revision from v4l2_dbg_chip_ident. Drivers that implement this always have to set the ident and revision to V4L2_IDENT_NONE and 0. Do this in the v4l2 core so drivers don't have to do this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 89aec3e1baaddeaa5636487f0e23f807eb758168 Author: Hans Verkuil Date: Sat Feb 7 07:07:04 2009 -0300 V4L/DVB (10489): doc: use consistent naming conventions for vdev and v4l2_dev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8ac05ae3192ce8a71fc84e4a88772cce0c09173c Author: Hans Verkuil Date: Sat Feb 7 07:02:27 2009 -0300 V4L/DVB (10488): ivtv: cleanup naming conventions Use consistent naming for pci_dev, v4l2_device and video_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d7493e518fa98d2c30c545c518df075903bae513 Author: Hans Verkuil Date: Fri Feb 6 15:35:22 2009 -0300 V4L/DVB (10487): doc: update hm12 documentation. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a4a787187bcf94b1bf4deb74cbe30eb442519875 Author: Hans Verkuil Date: Fri Feb 6 15:31:59 2009 -0300 V4L/DVB (10486): ivtv/cx18: fix g_fmt and try_fmt for raw video The raw video device didn't report the image size correctly. When setting a new image the image height has to be a multiple of 32 lines. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fdf9c9979a355916433262ea5e5e64bed5def86e Author: Alexey Klimov Date: Sun Feb 8 02:00:14 2009 -0300 V4L/DVB (10465): dsbr100: Add few lost mutex locks. Patch adds two lost mutex locks. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit dc025d4a1afac9576987748f15e9ba47c7bd20db Author: Alexey Klimov Date: Thu Feb 5 22:52:29 2009 -0300 V4L/DVB (10464): radio-si470x: use usb_make_path in usb-radio drivers Place usb_make_path in radio-si470x.c that used when reporting bus_info information in vidioc_querycap. Acked-by: Tobias Lorenz Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit e57458dc7086bac9e05b6fc6d5ab336de1647c12 Author: Alexey Klimov Date: Thu Feb 5 09:00:03 2009 -0300 V4L/DVB (10463): radio-mr800: fix checking of retval after usb_bulk_msg Patch corrects checking of returned value after usb_bulk_msg. Now we also check if number of transferred bytes equals to BUFFER_LENGTH. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 71f07d94ce26f80381acf90cc222eb683ffcc8f3 Author: Alexey Klimov Date: Thu Feb 5 08:58:31 2009 -0300 V4L/DVB (10462): radio-mr800: increase version and add comments Increase driver version to 0.10, remove old and add new useful comments. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 52433bbbef633047838dcc5a735ee241a05234a0 Author: Alexey Klimov Date: Thu Feb 5 08:57:19 2009 -0300 V4L/DVB (10461): radio-mr800: add few lost mutex locks Patch adds two lost mutex locks. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1bb16d7156d7d6b7e357de561bf965fd65545bb0 Author: Alexey Klimov Date: Thu Feb 5 08:56:07 2009 -0300 V4L/DVB (10460): radio-mr800: add stereo support Patch introduces new amradio_set_stereo function. Driver calls this func to make stereo radio reception. Corrects checking of returned value after usb_bulk_msg. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f7c1a3809bbcf45bf801cef1954f9500140697b7 Author: Alexey Klimov Date: Thu Feb 5 08:54:17 2009 -0300 V4L/DVB (10459): radio-mr800: fix amradio_set_freq Fixing frequency adjustment to provide better diapason(band?) fit. Also, add AMRADIO_SET_FREQ to the list of commands. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit db821804f4c0b0c667c9c928b49f62678d3931dd Author: Alexey Klimov Date: Thu Feb 5 08:53:02 2009 -0300 V4L/DVB (10458): radio-mr800: move radio start and stop in one function Patch introduces new amradio_set_mute function. Amradio_start and amradio_stop removed. This makes driver more flexible and it's useful for next changes. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8edafcc63d2a4a9e108c1f52689b1ff22b91b233 Author: Alexey Klimov Date: Thu Feb 5 08:51:51 2009 -0300 V4L/DVB (10457): radio-mr800: add more dev_err messages in probe Patch adds 3 dev_err messages in usb_amradio_probe() function. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 65c51dc97845692dc08646030136184958044763 Author: Alexey Klimov Date: Thu Feb 5 08:49:58 2009 -0300 V4L/DVB (10456): radio-mr800: place dev_err instead of dev_warn There should be dev_err message if video_register_device() fails. Correct this situation. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit a5d6947515cc489001938339a8de9c000b2f8aba Author: Alexey Klimov Date: Thu Feb 5 08:48:43 2009 -0300 V4L/DVB (10455): radio-mr800: codingstyle cleanups Cleanups of many if-check constructions. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d563399859bcc984aa2df38df62851163b1690b3 Author: Jochen Friedrich Date: Mon Feb 2 14:59:50 2009 -0300 V4L/DVB (10453): af9015: add MC44S803 support Add MC44S803 support to AF9015 driver. Signed-off-by: Jochen Friedrich Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit b72dbaefbdcdfc9b69fc3861b9de0a6240f5cc8a Author: Jochen Friedrich Date: Mon Feb 2 14:50:09 2009 -0300 V4L/DVB (10452): Add Freescale MC44S803 tuner driver Add Freescale MC44S803 tuner driver. Signed-off-by: Jochen Friedrich Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 812b1f9d54a5f75066f8a5c92166a979c48c98c6 Author: Andy Walls Date: Sun Feb 8 22:40:04 2009 -0300 V4L/DVB (10446): cx18: Finally get sliced VBI working - for 525 line 60 Hz systems at least Sliced VBI, in the manner that ivtv implements it as a separate data stream, now works for 525 line 60 Hz systems like NTSC-M. It may work for 625 line 50 Hz systems, but I have more engineering work to do, to verify it is operating properly. Sliced data insertion into the MPEG PS should be working, but is untested. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 466df46484aced005fa41706f87e18eaa86918ad Author: Andy Walls Date: Sat Feb 7 15:47:28 2009 -0300 V4L/DVB (10445): cx18: Process Raw VBI on a whole frame basis; fix VBI buffer size The cx23418 appears to send Raw VBI buffers with a PTS on a per frame basis, not per field, so process Raw VBI on a whole frame basis and reduce some complexity. Fix VBI buffer size computation to handle a whole frame of Raw VBI for a 625 line system, which is the worst case and will work for 525 lines systems as well. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 01cbc214cfa6e0dbfaea617d32d6d66e7f6608ff Author: Andy Walls Date: Sat Feb 7 01:31:22 2009 -0300 V4L/DVB (10444): cx18: Fix sliced VBI PTS and fix artifacts in last raw line of field Fixed an endianess problem with the collection of the PTS from the VBI buffer given to us by the encoder. Also extrapolated the last 12 bytes of the last line of each field, to remove artifacts created by removing the first 12 bytes of each field for raw VBI. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f37aa51190c4391005bb71c92cd976f811500105 Author: Andy Walls Date: Sat Feb 7 01:15:44 2009 -0300 V4L/DVB (10443): cx18: Use correct line counts per field in firmware API call The driver was incorrectly setting 0 line counts in a firmware API call to set the maximum amount of lines per field. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit dcc0ef88209a26719241bcb7741f05f1b9ecc30e Author: Andy Walls Date: Fri Feb 6 18:33:43 2009 -0300 V4L/DVB (10442): cx18: Fixes for enforcing when Encoder Raw VBI params can be set The Encoder will only allow the Raw VBI parameters, along with a number of other API parameters, to take effect when no analog captures are in progress. These parameters must be set before the first analog capture starts, be it MPEG, VBI, YUV, etc., and cannot be changed until the last one stops. It is not obvious to me what capture channel API parameters are shared and which ones must be set per capture channel, so set them all for every analog capture channel start up. This fixes the driver so that VBI capture can be started up after the MPEG capture is going. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c1994084d6ad7d1a411219727fc135a18c40f9c8 Author: Andy Walls Date: Thu Feb 5 22:37:49 2009 -0300 V4L/DVB (10441): cx18: Fix VBI ioctl() handling and Raw/Sliced VBI state management More sliced VBI fixes to bring the cx18 driver closer to full V4L2 spec compliance for VBI and to get sliced VBI working better. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 776fa869883e60a065df13e73252344477c8e1aa Author: Andy Walls Date: Sun Feb 1 21:42:12 2009 -0300 V4L/DVB (10440): cx18: Fix presentation timestamp (PTS) for VBI buffers The old code from ivtv used a CX23415/6 PTS, which was simply left at 0 in the cx18 driver. Since the CX23418 gives us what I think is a PTS (or some other 90 kHz clock count) with each VBI buffer, this change has the cx18 driver use that as a PTS. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 302df9702192a68578916ef922c33370cbba350d Author: Andy Walls Date: Sat Jan 31 00:33:02 2009 -0300 V4L/DVB (10439): cx18: Clean-up and enable sliced VBI handling Removed legacy ivtv state variables, added comments, and cleaned up sliced VBI related code. Enabled sliced VBI. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 4325dff220918c2ced82d16c3475d9a5afb1cab3 Author: Andy Walls Date: Sun Feb 1 23:44:00 2009 -0300 V4L/DVB (10437): cx18: Remove an unused spinlock Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0b089742c79b39d4a650614896fec7a6569f338e Author: Andy Walls Date: Sun Feb 1 16:53:20 2009 -0300 V4L/DVB (10436): cx18: Fix coding style of a switch statement per checkpatch.pl Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d5c02f6b27b8e70c11b341eef709e5f64ca16e42 Author: Andy Walls Date: Fri Jan 30 22:48:40 2009 -0300 V4L/DVB (10435): cx18: Normalize APU after second APU firmware load Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 072e6183c26cb00de0368a06cbbda2a2d55e6844 Author: Andy Walls Date: Fri Jan 30 22:39:26 2009 -0300 V4L/DVB (10434): cx18: Smarter verification of CX18_AUDIO_ENABLE register writes The CX18_AUDIO_ENABLE register usually never reads back what was just written under normal circumstances. Perform better checking that a write went to the register as expected with a specification of what bits to verify. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e474200d3502d4cb3cc240930640c7d857bf777b Author: Andy Walls Date: Fri Jan 30 22:21:45 2009 -0300 V4L/DVB (10433): cx18: Defer A/V core initialization until a valid cx18_av_cmd arrives Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 49796e4059b40032f3dba0fa5ad559ef4b977e89 Author: Jean-Francois Moine Date: Mon Feb 2 06:33:31 2009 -0300 V4L/DVB (10432): gspca - vc032x: Cleanup source, optimize and check i2c_write. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8d538699e761be7b1ad431273919034806132806 Author: Jean-Francois Moine Date: Sun Feb 1 16:15:01 2009 -0300 V4L/DVB (10431): gspca - vc032x: Bad revision for the webcam 041e:405b. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2687a2fb1ce2b764298fb40c96765b04eaddac95 Author: Jean-Francois Moine Date: Sun Feb 1 14:48:55 2009 -0300 V4L/DVB (10430): gspca - sonixj: Adjust some exchanges with the sensor mt9v111. This patch also enables the autogain for the mt9v111. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 65c5259cc44c822215e670025c226d77f5a323bf Author: Jean-Francois Moine Date: Sun Feb 1 14:26:51 2009 -0300 V4L/DVB (10429): gspca - sonixj: Simplify the probe of the sensors mi0360/mt9v111. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b083b92f9386d82e8ff3c1cfe04eefae488cbf1f Author: Jean-Francois Moine Date: Sun Feb 1 14:20:07 2009 -0300 V4L/DVB (10428): gspca - sonixj: Specific gamma tables per sensor. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5e31dc8dda6e52934acfa4706854cc2a22542949 Author: Jean-Francois Moine Date: Sun Feb 1 13:59:42 2009 -0300 V4L/DVB (10427): gspca - sonixj: Sensor sp80708 added for webcam 0c45:6143. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0fbe057412a68d830698333eef24b47b5b0e8bef Author: Jean-Francois Moine Date: Fri Jan 30 12:14:02 2009 -0300 V4L/DVB (10425): gspca - sonixj: Bad initialization of sensor mt9v111. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6af4e7a15086782c7702491774cbb349ec763fb8 Author: Jean-Francois Moine Date: Thu Jan 29 16:34:25 2009 -0300 V4L/DVB (10424): gspca - vc032x: Add resolution 1280x1024 for sensor mi1310_soc. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 661ab25d6f44a98ecf3a23ab37721ec83b2986cc Author: Jean-Francois Moine Date: Thu Jan 29 16:03:19 2009 -0300 V4L/DVB (10423): gspca - sonixj: Bad sensor definition of the webcams 0c45:60c0. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit de43cd37b88408280cb4e533c9fee820fb8d5c73 Author: Jean-Francois Moine Date: Thu Jan 29 06:02:37 2009 -0300 V4L/DVB (10421): gspca - documentation: Add the webcam 041e:405b. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a92e9064bb2fbbc09fc1e70fc5d2e4b6ab8be9e8 Author: Jean-Francois Moine Date: Thu Jan 29 05:32:23 2009 -0300 V4L/DVB (10420): gspca - vc032x: Webcam 041e:405b added and mi1310_soc updated. The mi1310_soc sequences come from the ms-win driver C0130Dev.inf. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3ef2c5be9c79ce668e3e58d323379be24e39e20c Author: Jean-Francois Moine Date: Thu Jan 29 04:59:45 2009 -0300 V4L/DVB (10419): gspca - sonixj: Sensor mt9v111 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 50b1a9fc259042666605ff65acd572eaa656ab0b Author: Michael Krufky Date: Fri Jan 23 15:28:10 2009 -0300 V4L/DVB (10417): sms1xxx: add missing usb id 2040:2011 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f6070767f9b6157a405112bfc6d4ae3c923ee1b1 Author: Michael Krufky Date: Tue Jan 6 14:10:59 2009 -0300 V4L/DVB (10416): tveeprom: update to include Hauppauge tuners 151-155 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d251499119e4e893cbf6f7aa134dc80bb9ddd73a Author: Michael Krufky Date: Fri Jan 30 00:24:01 2009 -0300 V4L/DVB (10415): dib0700: add data debug to dib0700_i2c_xfer_new Data debug for i2c transactions was provided by the functions called by dib0700_i2c_xfer_legacy, but not dib0700_i2c_xfer_new. This patch adds the missing data debug dumps to dib0700_i2c_xfer_new. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8afe6ad6176205b9612110b8f64dbf3325a1c236 Author: Igor M. Liplianin Date: Thu Jan 29 21:57:07 2009 -0300 V4L/DVB (10413): Bug fix: Restore HVR-4000 tuning. Some cards uses cx24116 LNB_DC pin for LNB power control, some not uses, some uses it different way, like HVR-4000. Tested-by : Edgar Hucek Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit e230b22b59bc07d906f1558a8951206ccab33824 Author: Hans Verkuil Date: Thu Jan 29 16:21:12 2009 -0300 V4L/DVB (10409): v4l: remove unused I2C_DRIVERIDs. I2C_DRIVERIDs are phased out. Remove those that are unused at the moment. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit de6476f5f6ae9f792a8828782bdbc47372a021fb Author: Hans Verkuil Date: Thu Jan 29 16:09:13 2009 -0300 V4L/DVB (10408): v4l2: fix incorrect hue range check A hue of -128 was rejected due to an incorrect range check, which was faithfully copy-and-pasted into four drivers... Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9ddd3b01043269a9a8803b6b8b8b472e054733c Author: Hans Verkuil Date: Thu Jan 29 06:23:18 2009 -0300 V4L/DVB (10406): gspca: fix compiler warning Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 23ce51d9751f716953c83fd2355c0b584bdc679a Author: Mauro Carvalho Chehab Date: Sat Jan 31 08:14:24 2009 -0300 V4L/DVB (10405): saa7134-core: loading saa7134-alsa is now the default Most boards nowadays supports saa7134-alsa. Even some of they doesn't have any option to wire an audio cable. So, lets load saa7134-alsa by default, if the board is not based on saa7130 and if saa7134-alsa is compiled. Signed-off-by: Mauro Carvalho Chehab commit 74d200f13156f7057ed62ecca086be75cdf363d5 Author: Mauro Carvalho Chehab Date: Sat Jan 31 08:10:49 2009 -0300 V4L/DVB (10404): saa7134-core: remove oss option, since saa7134-oss doesn't exist anymore Signed-off-by: Mauro Carvalho Chehab commit aaf50d7d0e12ec797dc0677c4fc853839bdcf07d Author: Mauro Carvalho Chehab Date: Mon Jan 19 08:01:24 2009 -0300 V4L/DVB (10394): KWorld ATSC 115 all static saa7134: Fix tuner access on Kworld ATSC110 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Signed-off-by: Mauro Carvalho Chehab commit 9a909447d3af6917bf2f7eaae08af0c9e1c3593e Author: Hans Werner Date: Wed Jan 14 13:17:59 2009 -0300 V4L/DVB (10392): lnbp21: documentation about the system register Here is a patch which adds some documentation about meanings of the the lnbp21 system register bits. Signed-off-by: Hans Werner Signed-off-by: Mauro Carvalho Chehab commit 784e29d2031b535637f65a8b81fb0871c7c51b3f Author: Jan Engelhardt Date: Sun Jan 11 06:12:43 2009 -0300 V4L/DVB (10391): dvb: constify VFTs dvb: constify VFTs Signed-off-by: Jan Engelhardt Signed-off-by: Mauro Carvalho Chehab commit c675e79c917c02a54f54fcac3776ccf0b428bd37 Author: Jean-Francois Moine Date: Mon Jan 26 05:29:06 2009 -0300 V4L/DVB (10389): gspca - zc3xx: Do work the sensor adcm2700. The lack of the green color is fixed by sensor sequences closer to the ms-win traces. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit db91235ee8350149213435c4cf178a7627c968b9 Author: Lierdakil Date: Sun Jan 25 14:37:26 2009 -0300 V4L/DVB (10388): gspca - pac207: Webcam 093a:2474 added. Signed-off-by: Lierdakil Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1de1ddf35752485fd1b7774385b72f0f618058fd Author: Jean-Francois Moine Date: Sat Jan 24 15:42:50 2009 -0300 V4L/DVB (10387): gspca - spca505: Move some sequences from probe to streamon. The webcams worked only one time after connection. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a5df5c14335988317da4ba9aec64b7eb971a6ffc Author: Jean-Francois Moine Date: Fri Jan 23 14:42:03 2009 -0300 V4L/DVB (10384): gspca - spca505: Simplify and add the brightness in start. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 16631aedb23bac40332549dcaed90c804271cc5b Author: Jean-Francois Moine Date: Thu Jan 22 14:56:42 2009 -0300 V4L/DVB (10383): gspca - spca505: Cleanup and optimize code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 409b11dd74e653dd4dace01b0f3f8e987fe7fe81 Author: Jean-Francois Moine Date: Thu Jan 22 12:53:56 2009 -0300 V4L/DVB (10382): gspca - t613: Bad returned value when no known sensor found. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2d56f3bbe795b72207ec127cb3dc3b08bb4b8775 Author: Jean-Francois Moine Date: Thu Jan 22 08:25:16 2009 -0300 V4L/DVB (10381): gspca - t613: New unknown sensor added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 82e2549102a11c6ffc09f960e2325fd092c002a3 Author: Jean-Francois Moine Date: Thu Jan 22 07:18:48 2009 -0300 V4L/DVB (10380): gspca - t613: Cleanup and optimize code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5932028f749fe26292948d6d7d7ae1ee912350b3 Author: Thierry MERLE Date: Wed Jan 21 15:32:26 2009 -0300 V4L/DVB (10379): gspca - main: Use usb_make_path() for VIDIOC_QUERYCAP. Signed-off-by: Thierry MERLE Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d08e2ce0ebb38f2b66d875a09ebab3ed548354ee Author: Jean-Francois Moine Date: Tue Jan 20 16:21:44 2009 -0300 V4L/DVB (10378): gspca - main: Avoid error on set interface on disconnection. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c314b53bdd2059860ae49c0cd1256d9c60b185fd Author: Jean-Francois Moine Date: Tue Jan 20 10:02:35 2009 -0300 V4L/DVB (10376): gspca - zc3xx: Remove some useless tables of sensor adcm2700. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f1ee8e88e93cec2aabbd6669a0a94c8b8ad6d8fc Author: Jean-Francois Moine Date: Tue Jan 20 08:14:17 2009 -0300 V4L/DVB (10375): gspca - zc3xx: Remove duplicated sequence of sensor cs2102k. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5be2b095b04b309267644ed6ecd1e092669fc4ad Author: Jean-Francois Moine Date: Tue Jan 20 05:12:34 2009 -0300 V4L/DVB (10374): gspca - zc3xx: Bad probe of the sensor adcm2700. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3d22118360cdf603ebce1a3b927139e23aa3b9b1 Author: Jean-Francois Moine Date: Mon Jan 19 15:18:44 2009 -0300 V4L/DVB (10373): gspca - zc3xx: Sensor adcm2700 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9881918756be1cf0a33ae7454ca767682cbfadc3 Author: Jean-Francois Moine Date: Mon Jan 19 07:37:33 2009 -0300 V4L/DVB (10372): gspca - sonixj: Cleanup code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a48196a2f74a2e19e67debe194e337dfc583702f Author: Jean-Francois Moine Date: Sun Jan 18 14:24:52 2009 -0300 V4L/DVB (10371): gspca - spca561: Fix image problem in the 352x288 mode of rev72a. With the wrong clock value, the image had two moving colored lines. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8fee8453969ccb0ecc2da128879e54641028ffd1 Author: Jean-Francois Moine Date: Sat Jan 17 04:46:38 2009 -0300 V4L/DVB (10370): gspca - main: Have 3 URBs instead of 2 for ISOC transfers. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ceb35beaed9fc8e71755ac99a83a105730c64111 Author: Kyle Guinn Date: Sat Jan 17 04:32:32 2009 -0300 V4L/DVB (10369): gspca - mr97310a: Fix camera initialization copy/paste bugs. Signed-off-by: Kyle Guinn Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0dbc2c1674b346ff22f729af14efa4822f81325c Author: Jean-Francois Moine Date: Fri Jan 16 16:24:28 2009 -0300 V4L/DVB (10368): gspca - spca561: Fix bugs and rewrite the init/start of the rev72a. The bugs were in the first init sequence of the sensor. The rewrite is adapted from a ms-win trace. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 576ed7b5696b9435e8e6a6ec0c57da1f19c7e469 Author: Jean-Francois Moine Date: Fri Jan 16 08:57:28 2009 -0300 V4L/DVB (10367): gspca - spca561: Optimize the isoc scanning function. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d661e62205498ce6518b9859bc30444e59737d8b Author: Kyle Guinn Date: Fri Jan 16 05:36:14 2009 -0300 V4L/DVB (10366): gspca - mr97310a: New subdriver. This patch adds support for USB webcams based on the MR97310A chip. It was tested with an Aiptek PenCam VGA+ webcam. Signed-off-by: Kyle Guinn Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 553d0d839b93550780d1b46e6bcd01a3c5c5883e Author: Kyle Guinn Date: Fri Jan 16 05:28:38 2009 -0300 V4L/DVB (10365): Add Mars-Semi MR97310A format The MR97310A is a dual-mode webcam controller that provides compressed BGGR Bayer frames. The decompression algorithm for still images is the same as for video, and is currently implemented in libgphoto2. Signed-off-by: Kyle Guinn Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 48d7a8912751d46f5401cbd86eb6408b48050da2 Author: Jean-Francois Moine Date: Thu Jan 15 09:34:55 2009 -0300 V4L/DVB (10363): gspca - spca500: Abnormal error message when starting ClickSmart310. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 592f4eb9a2dc63afdbe78e2874d728f6e9e1e9f0 Author: Jean-Francois Moine Date: Thu Jan 15 08:01:32 2009 -0300 V4L/DVB (10361): gspca - sonixj: Gamma control added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 625deb3d25a45102b155764beb2e8f232b8d5864 Author: Jean-Francois Moine Date: Thu Jan 15 06:11:49 2009 -0300 V4L/DVB (10360): gspca - mars: Bad interface/altsetting since 0a10a0e906be. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8d584a53ac82edc0bc01add620d94b3a2d4e9cce Author: Jean-Francois Moine Date: Tue Jan 13 06:07:59 2009 -0300 V4L/DVB (10357): gspca - main: Cleanup code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8c2ba44106a8693c7f5d2da93c3ab135254d86af Author: Jean-Francois Moine Date: Tue Jan 13 05:55:40 2009 -0300 V4L/DVB (10356): gspca - sonixj: Cleanup code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b505cbcb095b8f55a7c594a78863f45ec28f59c9 Author: Jean-Francois Moine Date: Sat Jan 10 16:14:12 2009 -0300 V4L/DVB (10354): gspca - tv8532: Change the max brightness. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8789d810f104a3e9f4289382968cf5482934b9fd Author: Jean-Francois Moine Date: Sat Jan 10 16:11:25 2009 -0300 V4L/DVB (10353): gspca - some subdrivers: Don't get the control values from the webcam. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b3f5dbd0e1d4a1f9ed17cb40b9f789c606c44206 Author: Jean-Francois Moine Date: Sat Jan 10 15:54:44 2009 -0300 V4L/DVB (10352): gspca - spca508: Cleanup code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ca5e578f503133a580fbd5bed39cecf1e3c6e3a2 Author: Jean-Francois Moine Date: Fri Jan 9 09:13:26 2009 -0300 V4L/DVB (10350): gspca - tv8532: Cleanup code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0a32ef3fc81fcebf679139534a9f806cb9ff538c Author: Jean-Francois Moine Date: Thu Jan 8 16:30:58 2009 -0300 V4L/DVB (10348): gspca - mars: Bad isoc packet scanning. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a0306bfa011d86899f3e88d35b6ffe525271bafc Author: Jean-Francois Moine Date: Thu Jan 8 16:29:38 2009 -0300 V4L/DVB (10347): gspca - mars: Optimize, rewrite initialization and add controls. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3ab67baf36c1f5356afb6424aca77866d91a6b5b Author: Jean-Francois Moine Date: Thu Jan 8 09:38:45 2009 -0300 V4L/DVB (10346): gspca - zc3xx: Fix bad variable type with i2c read. The returned value of i2c read is a 16 bits word. It was stored in a 8 bits variable, preventing a sensor to be detected. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 36e819db435a61819d50c57c424a5ab2b9634e59 Author: Jean-Francois Moine Date: Wed Jan 7 16:49:57 2009 -0300 V4L/DVB (10345): gspca - jpeg subdrivers: One quantization table per subdriver. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 96ff65144c3e302698d6c53b8d05098844c6b064 Author: Antonio Ospite Date: Wed Jan 7 09:09:36 2009 -0300 V4L/DVB (10344): gspca - ov534: Disable the Hercules webcams. The Hercules webcam based on ov534 use different sensor than Playstation Eye, disable them until full support is provided. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ef6bc5aec2d8bd53dcc851a5cd2fc8e918db239b Author: Jean-Francois Moine Date: Wed Jan 7 08:00:18 2009 -0300 V4L/DVB (10343): gspca - zc3xx / zc0301: Handle the 0ac8:303b instead of zc0301. This webcam is generic and some sensors are not treated by the driver zc0301. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5658ae9007490c18853fbf112f1b3516f5949e62 Author: Erik Andren Date: Wed Jan 7 06:11:50 2009 -0300 V4L/DVB (10342): gspca - stv06xx: Add ctrl caching to the vv6410. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d5b53f467bf5c2d0dbd5b043461275255073886d Author: Erik Andren Date: Wed Jan 7 06:09:27 2009 -0300 V4L/DVB (10341): gspca - stv06xx: Plug a memory leak in the pb0100 sensor driver. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 11fb06bd8da59c0a516e1b5f3d200a484becdf06 Author: Jean-Francois Moine Date: Thu Jan 1 13:20:42 2009 -0300 V4L/DVB (10337): gspca - common: Simplify the debug macros. The err, warning and info redefinitions don't need the use of do {} while. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e6b148490f5e9ebb90ecb4a8de930be1b8936a16 Author: Alexey Klimov Date: Thu Jan 1 13:04:58 2009 -0300 V4L/DVB (10336): gspca - all subdrivers: Return ret instead of -1 in sd_mod_init. Signed-off-by: Alexey Klimov Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f69e9529ed96ff917096d0b7b3015c8d8ea5750d Author: Alexey Klimov Date: Thu Jan 1 13:02:07 2009 -0300 V4L/DVB (10335): gspca - all subdrivers: Fix CodingStyle in sd_mod_init function. Introduce int ret and check it value after call to usb_register(). Signed-off-by: Alexey Klimov Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 766231ab859546edd459242c2dbd805bc7fd446e Author: Erik Andren Date: Wed Dec 31 14:33:53 2008 -0300 V4L/DVB (10334): gspca - stv06xx: Rework control description. Signed-off-by: Erik Andren Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 50e06dee958bdb81229cb42486f7fdc4917fa4da Author: Jean-Francois Moine Date: Wed Dec 31 08:13:46 2008 -0300 V4L/DVB (10333): gspca - main and many subdrivers: Remove the epaddr variable. The transfer endpoint address is now automatically chosen. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit afd46291393e20736368e275a6f5f7c44dfe9540 Author: Jean-Francois Moine Date: Wed Dec 31 07:27:42 2008 -0300 V4L/DVB (10332): gspca - main: Version change. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 90b0f69b0b8ec6774c90d18c98fa9c6acc2870df Author: Jose Alberto Reguero Date: Fri Jan 23 19:23:23 2009 -0300 V4L/DVB (10330): af9015: New remote RM-KS for Avermedia Volar-X The new Avermedia Volar-X is shipped with a new remote(RM-KS). The attached patch add a new option to the remote parameter of dvb_usb_af9015 for this remote. Signed-off-by: Felipe Morales Moreno Signed-off-by: Jose Alberto Reguero Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 66bc8e7ff5dcc2850f119dee7fe9719c798af9d0 Author: Antti Palosaari Date: Fri Jan 23 12:11:14 2009 -0300 V4L/DVB (10329): af9015: remove dual_mode module param Remove dual_mode module param. Possible 2nd FE seems not to be buggy any more and therefore can be enabled as default. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit b124d597496fad3ba1ead7ed3b6c197c5b0a2ee7 Author: Douglas Schilling Landgraf Date: Sun Jan 25 19:19:23 2009 -0300 V4L/DVB (10327): em28xx: Add check before call em28xx_isoc_audio_deinit() Just call em28xx_isoc_audio_deinit() if em28xx sent a usb_submit(). Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 00bc0645f02ec0c3486a9f6af9b6167ce5eda62c Author: Douglas Schilling Landgraf Date: Sun Jan 25 15:12:29 2009 -0300 V4L/DVB (10326): em28xx: Cleanup: fix bad whitespacing Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 51caf91f5ba4f6c02ba2bd53c3f113b9da544ebb Author: Alexey Klimov Date: Sun Jan 25 12:53:09 2009 -0300 V4L/DVB (10324): em28xx: Correct mailing list Move development mail-list to linux-media on vger.kernel.org. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f7fe3e6f3c3e9ef6ba5ca187b514d225296d18dd Author: Douglas Schilling Landgraf Date: Mon Jan 19 09:31:55 2009 -0300 V4L/DVB (10323): em28xx: Add entry for GADMEI TVR200 Added entry for GADMEI TVR200. Thanks to Yohanes Nugroho for testing and data collection. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 83c4fdf7aa9e6630f668de0932b0bd44d587ec7a Author: Devin Heitmueller Date: Wed Jan 21 01:55:45 2009 -0300 V4L/DVB (10321): dib0700: Report dib0700_i2c_enumeration failures Make it clear that a failure in dib0700_i2c_enumeration is a fatal condition and we cannot continue. If the failure occurs, do not attempt to attach to the tuner. Problem Noticed the issue when debugging an i2c issue a YUAN High-Tech STK7700PH for user Roshan Karki . Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 8db12cdfa65df5abb76ba352bc21f12742fd473d Author: Devin Heitmueller Date: Wed Jan 21 01:40:04 2009 -0300 V4L/DVB (10320): dib0700: fix i2c error message to make data type clear Make it clear that the address is in hex format. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit c985a8dca3320a11550efc995d8bb40d1d739493 Author: Arne Luehrs Date: Wed Jan 21 01:37:20 2009 -0300 V4L/DVB (10319): dib0700: enable IR receiver in Nova TD usb stick (52009) Adds the IR data structure to the configuration datastructure of the Hauppauge WinTV Nova-TD USB stick (52009) Provided remote control is the same as theone provided with the Nova-T500 Card. Signed-off-by: Arne Luehrs Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit c7181cfa6b8fa54ea4f3361e111afb60b095297a Author: Alexey Klimov Date: Sun Jan 25 20:05:58 2009 -0300 V4L/DVB (10316): v4l/dvb: use usb_make_path in usb-radio drivers Place usb_make_path in dsbr100.c, radio-mr800.c, radio-si470x.c that used when reporting bus_info information in vidioc_querycap. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d0852ed27c650237800470b5cbde368316813406 Author: Hans Verkuil Date: Mon Jan 26 19:13:05 2009 -0300 V4L/DVB (10313): saa7146: fix VIDIOC_ENUMSTD. The previous conversion to video_ioctl2 broke VIDIOC_ENUMSTD. This is now fixed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e22ed887ee18fde79c013825017521ec64eb8ed5 Author: Thierry MERLE Date: Tue Jan 20 18:19:25 2009 -0300 V4L/DVB (10309): s2255drv: use usb_make_path to report bus info usb_make_path reports canonical bus info. Use it when reporting bus info in VIDIOC_QUERYCAP. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit b12049a2c3d31e5a167a50ea842b0e7ed3024b80 Author: Thierry MERLE Date: Tue Jan 27 16:53:23 2009 -0300 V4L/DVB (10308): uvcvideo: use usb_make_path to report bus info usb_make_path reports canonical bus info. Use it when reporting bus info in VIDIOC_QUERYCAP. Signed-off-by: Thierry MERLE Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit cb97716f3bcc3710b5dc44c01fd7450d032c74e0 Author: Thierry MERLE Date: Tue Jan 20 18:01:33 2009 -0300 V4L/DVB (10307): em28xx: use usb_make_path to report bus info usb_make_path reports canonical bus info. Use it when reporting bus info in VIDIOC_QUERYCAP. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 6f2a278171bf7fc8153a42baa26b51d1ecb4c83f Author: Thierry MERLE Date: Tue Jan 20 17:40:44 2009 -0300 V4L/DVB (10306): usbvision: use usb_make_path to report bus info usb_make_path reports canonical bus info. Use it when reporting bus info in VIDIOC_QUERYCAP. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 5993a663a96df53f14d9e71abc27bcbd442317df Author: Mauro Carvalho Chehab Date: Fri Jan 23 21:35:12 2009 -0300 V4L/DVB (10305): videobuf-vmalloc: Fix: videobuf memory were never freed videobuf_vmalloc_free() is never freeing the video buffer memory. Due to that, after multiple open/closes, user can suffer a panic: Kernel BUG at mm/slab.c:2650 invalid opcode: 0000 [1] SMP last sysfs file: /class/video4linux/video0/dev CPU 4 Modules linked in: vivi(U) videodev(U) v4l1_compat(U) v4l2_compat_ioctl32(U) videobuf_vmalloc(U) videobuf_core(U) ipv6 xfrm_nalgo autofs4 vmnet(U) vmblock(U) vmci(U) vmmon(U) ip_conntrack_netbios_ns ipt_REJECT xt_state ip_conntrack nfnetlink xt_tcpudp iptable_filter ip_tables x_tables cpufreq_ondemand dm_mirror dm_log dm_multipath scsi_dh dm_mod video backlight sbs i2c_ec button battery asus_acpi acpi_memhotplug ac lp testmgr_cipher testmgr aead crypto_blkcipher crypto_algapi crypto_api arc4 snd_hda_intel nvidia(PFU) snd_seq_dummy snd_seq_oss snd_seq_midi_event rt73usb crc_itu_t snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss tg3 sr_mod snd_pcm snd_timer snd_page_alloc snd_hwdep pcspkr rt2500usb cdrom rt2x00usb rt2x00lib libphy snd parport_pc soundcore shpchp serio_raw i2c_i801 i5400_edac parport ata_piix sg mac80211 edac_mc i2c_core cfg80211 ahci libata sd_mod scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd Pid: 6215, comm: v4l-stress-buff Tainted: PF 2.6.18-118.el5 #1 RIP: 0010:[] [] cache_grow+0x1e/0x395 RSP: 0018:ffff810128a35d28 EFLAGS: 00010006 RAX: 0000000000000000 RBX: 00000000000080d0 RCX: 00000000ffffffff RDX: 0000000000000000 RSI: 00000000000080d0 RDI: ffff8101042d8340 RBP: ffff8101042ce5e0 R08: ffff81012fc1e8c0 R09: ffff8101042eac00 R10: 0000000000000000 R11: ffffffff882a5139 R12: ffff8101042d8340 R13: ffff8101042ce5c0 R14: 0000000000000000 R15: ffff8101042d8340 FS: 0000000000000000(0000) GS:ffff81012fc24d40(0063) knlGS:00000000f7f706c0 CS: 0010 DS: 002b ES: 002b CR0: 000000008005003b CR2: 00000000f7f9a000 CR3: 0000000117ad0000 CR4: 00000000000006e0 Process v4l-stress-buff (pid: 6215, threadinfo ffff810128a34000, task ffff810128fcb820) Stack: ffffc20012a39000 0000004415173ff8 ffff810000011c10 000280d200000000 0000000000000002 00000000ffffffff ffff8101042ce5e0 ffff81012fc1e8c0 ffff8101042ce5c0 000000000000000c ffff8101042d8340 ffffffff8005bdde Call Trace: [] cache_alloc_refill+0x136/0x186 [] kmem_cache_alloc_node+0x98/0xb2 [] __vmalloc_area_node+0x62/0x153 [] vmalloc_user+0x15/0x50 [] :videobuf_vmalloc:__videobuf_iolock+0xe6/0x155 [] :vivi:buffer_prepare+0xb9/0xe6 [] :videobuf_core:__videobuf_read_start+0xa2/0x10f [] :videobuf_core:videobuf_read_stream+0x9c/0x1f3 [] vfs_read+0xcb/0x171 [] sys_read+0x45/0x6e [] sysenter_do_call+0x1b/0x67 Code: 0f 0b 68 af 1e 2a 80 c2 5a 0a f6 c7 20 0f 85 53 03 00 00 89 RIP [] cache_grow+0x1e/0x395 RSP <0>Kernel panic - not syncing: Fatal exception Thanks to Douglas Schilling Landgraf for writing a stress tool for testing and to Robert Krakora to trace the code and discover the point where the bug were happening. Thanks also to Magnus Damm that provided us a fix for a similar bug on videobuf-dma-contig. Signed-off-by: Mauro Carvalho Chehab commit d4db588ccc738528601947d57fd398bb3f55cd31 Author: Magnus Damm Date: Wed Dec 10 01:54:32 2008 -0300 V4L/DVB (10304): buf-dma-contig: fix USERPTR free handling This patch fixes a free-without-alloc bug for V4L2_MEMORY_USERPTR video buffers. Signed-off-by: Magnus Damm Signed-off-by: Mauro Carvalho Chehab commit 87e3495c316bf3b63512eb280fd4b2d6d3518755 Author: Mike Isely Date: Fri Jan 23 01:20:24 2009 -0300 V4L/DVB (10303): pvrusb2: Use usb_make_path() to determine device bus location Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ade0815c16734e8c25dbac9faf5b5d63bcccd533 Author: Douglas Kosovic Date: Thu Jan 22 23:07:26 2009 -0300 V4L/DVB (10299): bttv: Add support for IVCE-8784 support for V4L2 bttv driver It's a quad Bt878 PCI-e x1 capture board that's basically the same as the IVC-200 (quad Bt878 PCI) capture board that's currently supported in the V4L2 bttv driver. Manufacturer's web page for IVCE-8784 with photo and info: http://www.iei.com.tw/en/product_IPC.asp?model=IVCE-8784 Signed-off-by: Douglas Kosovic Signed-off-by: Mauro Carvalho Chehab commit be9ed5117d95cdc4e601f9da220ebeaaab131679 Author: Mauro Carvalho Chehab Date: Thu Jan 8 09:13:42 2009 -0300 V4L/DVB (10298): remove err macro from few usb devices Patch removes err() macros from few usb devices. It places pr_err in pvrusb2-v4l2.c, dev_err in dabusb and in usbvision drivers. Beside placing dev_err, patch defines new s2255_dev_err macro with S2255_DRIVER_NAME in s2255 module. Signed-off-by: Alexey Klimov Acked-by: Thierry Merle Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit f180152376c984a6faa9decb8f2811c373da9141 Author: Laurent Pinchart Date: Thu Jan 22 12:45:10 2009 -0300 V4L/DVB (10296): uvcvideo: Fix memory leak in input device handling The dynamically allocated input_dev->phys buffer isn't freed when unregistering the device. As the input layer doesn't provide any release callback, use a fixed-size buffer inside the uvc_device structure. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit efdc8a9585ce02e70e538e46f235aefd63a3f8da Author: Laurent Pinchart Date: Sun Jan 18 17:46:30 2009 -0300 V4L/DVB (10295): uvcvideo: Retry URB buffers allocation when the system is low on memory. URB buffers for video transfers are sized to UVC_MAX_PACKETS bulk/isochronous packets by default. If the system is too low on memory try successively smaller numbers of packets until allocation succeeds. Tested-by: Johannes Berg Signed-off-by: Laurent Pinchart Reviewed-by: Johannes Berg Signed-off-by: Mauro Carvalho Chehab commit f61d1d8a563b1f3c5f1f55d856278aae3fd3987e Author: Laurent Pinchart Date: Wed Jan 14 12:49:11 2009 -0300 V4L/DVB (10294): uvcvideo: Add support for the Alcor Micro AU3820 chipset. The Alcor Micro AU3820 chipset (found in the Future Boy PC USB webcam) requires the MINMAX quirk. Add a corresponding entry in the device IDs list. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit d0ebf3073f8812464c9f6014d6cee09ab37c3fb5 Author: Laurent Pinchart Date: Thu Jan 8 14:05:11 2009 -0300 V4L/DVB (10293): uvcvideo: replace strn{cpy,cat} with strl{cpy,cat}. strncpy is unsafe as it doesn't append a terminating NUL character when the source string doesn't fit in the destination buffer. Replace it with strlcpy. strncat is misused as its size argument refers to the source string, not the destination buffer. Replace it with strlcat. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 07f7db4ce7b29d431553b426e0dcb720c5297a4b Author: Hans Verkuil Date: Wed Jan 21 17:06:42 2009 -0300 V4L/DVB (10291): em28xx: fix VIDIOC_G_CTRL when there is no msp34xx device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 71bf2e08ce197ab7a92215cb4e08a68c755e32f9 Author: Antti Palosaari Date: Tue Jan 13 12:47:28 2009 -0300 V4L/DVB (10286): af9015: add new USB ID for KWorld DVB-T 395U Add new USB ID 1b80:e39b for KWorld DVB-T 395U. This device revision does have Quantek QT1010 silicon tuner. Thanks-to: Ray Chen Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 6ce9ee539c42291475c1fd7b374a10c1fe00ea33 Author: Andy Walls Date: Mon Jan 19 18:31:22 2009 -0300 V4L/DVB (10284): cx18: Add initial entry for a Leadtek DVR3100 H hybrid card Card report provided by Patryk on the ivtv-devel list: http://ivtvdriver.org/pipermail/ivtv-devel/2009-January/005922.html Reported-by: Pat Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit be411df610a970a0ab90e3b02d025ab2a3554b61 Author: Andy Walls Date: Sat Jan 17 13:37:36 2009 -0300 V4L/DVB (10283): cx18: Call request_module() with proper argument types. request_module() needs to be called with a string literal for a format string or with 1 or more variable arguments to avoid compiler warnings and possible exploits, if someone could cause us to get a format string with a '%' code in the format string when we make the call. Reported-by: Brandon Jenkins Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 888cdb07741ab0098ccb8d9feff3f98cad048c26 Author: Andy Walls Date: Sun Jan 11 15:08:53 2009 -0300 V4L/DVB (10281): cx18: Conversion to new V4L2 framework: use v4l2_device object First step in conversion to the new V4L2 framework. Added per cx18 device instance of the v4l2_device and its registration. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3d05913d894a460b7dc8e5d93415fde21b986411 Author: Andy Walls Date: Sat Jan 10 21:54:39 2009 -0300 V4L/DVB (10280): cx18: Rename structure members: dev to pci_dev and v4l2dev to video_dev Renamed structure member name to be more specific to type in anticipation of updating to the v4l2_device/v4l2_subdev framework. Too many objects named "dev" and /v4l2_\{0,1\}dev/ would be to confusing. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e0f28b6a69b73ebf610f4f9759999bcdabdcda8e Author: Andy Walls Date: Sat Jan 10 14:13:46 2009 -0300 V4L/DVB (10279): cx18: Print driver version number when logging status Make sure v4l2-ctl --log-status outputs the driver version. Reported-by: David Dombroski Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 350145a4f7d0edffdccdace1221efc6d1d362a36 Author: Andy Walls Date: Sun Jan 4 21:51:17 2009 -0300 V4L/DVB (10278): cx18: Fix bad audio in first analog capture. Normalize the APU state before the second firmware load so that audio for the first analog capture is correct. Many thanks to Conexant for supporting me in finding a solution for this problem. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 31230c5f6f3a3e549f16857b7af45f5e08ca6f30 Author: Andy Walls Date: Sat Jan 3 14:21:30 2009 -0300 V4L/DVB (10277): cx18, cx2341x: Fix bugs in cx18 AC3 control and comply with V4L2 spec Fix bugs in the cx18 AC3 control implementation that would have affected ivtv and other drivers via the cx2341x module. Bring AC3 controls behavior into comliance with V4L2 specification. Thanks to Hans Verkuil for reviewing the previous patch and pointing out the problems. Reported-by: Hans Verkuil Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0d82fe801d7c6d8cb8987e66b570f6decde9e235 Author: Andy Walls Date: Thu Jan 1 19:02:31 2009 -0300 V4L/DVB (10276): cx18, cx2341x, ivtv: Add AC-3 audio encoding control to cx18 Initial addition of controls to set AC-3 audio encoding for the CX23418 - it does not work yet due to firmware or cx18 driver issues. This change affects the common cx2341x and ivtv modules due to shared structures and common functions. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 50299994181b835e5a6ee2882df2ee07e7fb4491 Author: Andy Walls Date: Thu Jan 1 12:35:06 2009 -0300 V4L/DVB (10275): cx18: Additional debug to display outgoing mailbox parameters Added debug display of outgoing mailbox arguments. Fixed a minor problem with display of stale incoming mailbox contents, when user was not looking for debug warnings. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 903bfeac50ecc7725db606c19edbbc93966772c2 Author: Andy Walls Date: Thu Jan 1 11:09:24 2009 -0300 V4L/DVB (10274): cx18: Fix a PLL divisor update for the I2S master clock A redundant PLL divisior update for the I2S master clock after AV core firmware load was missed in earlier PLL parameter changes. This one really doesn't matter because it's redundant and gets overwritten, but the driver should be self consistent in the values used. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit f97d2074e364d51dde91d2a94a262466815d13ce Author: Hans Verkuil Date: Mon Jan 19 04:14:17 2009 -0300 V4L/DVB (10272): av7110: test type field in VIDIOC_G_SLICED_VBI_CAP Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b960074fec573fb1b226d9e2686ce51be807cdf1 Author: Hans Verkuil Date: Sun Jan 18 19:59:11 2009 -0300 V4L/DVB (10271): saa7146: convert to video_ioctl2. The conversion to video_ioctl2 is the first phase to converting this driver to the latest v4l2 framework. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c9b8b04b267f9a7e472daa06cdf6d4963d503d1f Author: Igor M. Liplianin Date: Sat Jan 17 12:23:31 2009 -0300 V4L/DVB (10269): Add support for DVBWorld DVBS2 PCI-e 2005. DVBWorld DVBS2 PCI-e 2005 card contains cx23885 PCI-e bridge and cx24116 demodulator. http://www.linuxtv.org/wiki/index.php/DVBWorld_DVB-S2_2005_PCI-Express_Card The card tested by me (Igor). Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit c7bdcd0f541efcb92c407c601ff7819a4a551f6f Author: Igor M. Liplianin Date: Sat Jan 17 10:16:36 2009 -0300 V4L/DVB (10268): Proper implement set_voltage in cx24116. Now there is a card, which uses cx24116 to control LNB DC voltage. It is DVBWorld DVBS2 PCI-e 2005. The patch is nedded to add support for that card. 1. Rename CMD_SET_TONEPRE to CMD_LNBDCLEVEL. 2. Fill set_voltage with actually control voltage code. 3. Correct set_tone to not affect voltage. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 579943f5487baa7f9fd8e3189a4f357d6b06c76d Author: Igor M. Liplianin Date: Sat Jan 17 12:18:26 2009 -0300 V4L/DVB (10267): Add support for TeVii S470 DVB-S2 PCI-e card. TeVii S470 DVB-S2 PCI-e card contains cx23885 PCI-e bridge and cx24116 demodulator. http://www.linuxtv.org/wiki/index.php/TeVii_S470 The card tested by me (Igor). Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 96318d0cca02a91b22a2e1a1097ffeea0b3becae Author: Igor M. Liplianin Date: Sat Jan 17 12:11:20 2009 -0300 V4L/DVB (10266): Add support for TurboSight TBS6920 DVB-S2 PCI-e card. TurboSight TBS6920 DVB-S2 PCI-e card contains cx23885 PCI-e bridge and cx24116 demodulator. http://www.linuxtv.org/wiki/index.php/TBS_6920 The card tested by me (Igor). Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit c76b638ca20d6cbf91ee017c6f2afd7d3fcd57ff Author: Antoine Jacquet Date: Sat Jan 17 22:49:08 2009 -0300 V4L/DVB (10263): zr364xx: add support for Aiptek DV T300 Tested-by: Hámorszky Balázs Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 94b5ff9cf3edf06e0666fea87398a7fff98a15a4 Author: Mike Isely Date: Fri Jan 16 03:09:34 2009 -0300 V4L/DVB (10259): pvrusb2: Code module name directly in printk The name of the pvrusb2 module is not likely to ever change, and there are plenty of other places where the name is directly coded, so there is little utility in using a macro to infer the module name here. In addition, using that macro complicates other uses of the driver involving older kernels where this macro works differently. Yes I know for many places we don't have to worry about that. But my alternative is that I have to build special logic in the pvrusb2 standalone driver to special-case what is otherwise costmetic and that is just plain nuts for something as trivial as this, especially since this change does not at all have any compile time or run time impact on the driver. I'm just removing a nicety that didn't have a lot of value here to begin with. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 2cc3b6bff46129374ee31236f804637278c5f323 Author: Mike Isely Date: Fri Jan 16 03:06:02 2009 -0300 V4L/DVB (10258): pvrusb2: Issue VIDIOC_INT_INIT to v4l2 modules when they first attach It appears that various v4l-dvb drivers are changing to require explicit initialization before use. This change to the pvrusb2 driver implements an automatic issuance of VIDIOC_INT_INIT when a module is bound to the driver, thus conforming to the new behavior. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 8ed06fd4729d25959f6af8b7ce4e3888866bfe56 Author: Robert Krakora Date: Sun Jan 18 21:44:46 2009 -0300 V4L/DVB (10255): em28xx: Clock (XCLK) Cleanup Clock (XCLK) Cleanup Signed-off-by: Robert Krakora Signed-off-by: Mauro Carvalho Chehab commit f5360bdc5539ccd7644df7acf27e8c740ba8cf6e Author: Hans Verkuil Date: Thu Jan 15 06:09:05 2009 -0300 V4L/DVB (10252): v4l2 doc: explain why v4l2_device_unregister_subdev() has to be called. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6ca187abb2fc1a52b2a8e0422f3ffce2e3bb7ad0 Author: Hans Verkuil Date: Thu Jan 15 05:53:18 2009 -0300 V4L/DVB (10251): cx25840: add comments explaining what the init() does. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c7d29e2f530654aa0c323aafb94d42a6a718482c Author: Hans Verkuil Date: Sun Jan 18 19:37:59 2009 -0300 V4L/DVB (10249): v4l2-common: added v4l2_i2c_tuner_addrs() Add v4l2_i2c_tuner_addrs() to obtain the various I2C tuner addresses. This will be used in several drivers, so make this a common function as we do not want to have these I2C addresses all over the place. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fac6986c4777ae85fa2108ea25fee98de2c1f7b2 Author: Hans Verkuil Date: Sat Jan 17 12:17:14 2009 -0300 V4L/DVB (10247): saa7134: convert to the new v4l2 framework. Register v4l2_device and switch to v4l2_subdev to access the i2c modules. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5b73e98c83fc5087f591c9b12ee546b97e9283d4 Author: Hans Verkuil Date: Wed Jan 14 06:54:38 2009 -0300 V4L/DVB (10246): saa6752hs: convert to v4l2_subdev. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b634a93f783dbd4be31f3cc9b2292eddfb496d10 Author: Hans Verkuil Date: Sat Jan 17 11:26:59 2009 -0300 V4L/DVB (10244): v4l2: replace a few snprintfs with strlcpy Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e32a7eccd7f016928dd864711ac654e6db62c5f3 Author: Nam Phạm Thành Date: Mon Jan 12 02:50:17 2009 -0300 V4L/DVB (10242): pwc: add support for webcam snapshot button This patch adds support for Philips webcam snapshot button as an event input device, for consistency with other webcam drivers. Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit be4f4aecf8df39444535c9d9be2b74a8f34649b2 Author: Mike Isely Date: Wed Jan 14 04:40:57 2009 -0300 V4L/DVB (10239): pvrusb2: Fix misleading comment caused by earlier commit Previous v4l-dvb changeset id 4cc8ed11e2e0 changed the pvrusb2-hdw internal API regarding i2c chip debug register access. However that change failed to also update the corresponding function comment describing the API. As driver maintained I never saw a request for an ack on that change; there probably should have been one especially since the manner in which this API operates was changed - its interface is now entangled with a v4l specific struct and I would have preferred to keep this API clear of moving-target v4l-isms such as this one if at all possible which is why I had done it the way I did before. But whatever. This commit at least fixes the comment issue. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 730e92c9acfab4f577c65c112a6d14ad9d3d02ba Author: Mike Isely Date: Wed Jan 14 04:24:20 2009 -0300 V4L/DVB (10238): pvrusb2: Change sysfs serial number handling Use the new pvrusb2 internal API to grab the device identifier, rather than generating it directly. This unifies some code and make possible use of that identifier in places other than sysfs. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 13a887971b6c97751fce62ab803ee93a42a23c5d Author: Mike Isely Date: Wed Jan 14 04:22:56 2009 -0300 V4L/DVB (10237): pvrusb2: Generate a device-unique identifier Implement a new internal function to create a string device identifier. This ID stays with the specific device, making it useful to user space to identify specific devices. We use the serial number if available; otherwise we give up and just spit out a unit/instance ID. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d166b02ea6b03766f6fd867fb1fef378a57683e5 Author: Mike Isely Date: Wed Jan 14 04:21:29 2009 -0300 V4L/DVB (10236): pvrusb2: Stop advertising VBI capability - it isn't there Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 952617f2594a8f0340161b52d630488fbde8c852 Author: Hans Verkuil Date: Mon Jan 12 18:17:14 2009 -0300 V4L/DVB (10231): v4l2-subdev: add v4l2_ext_controls support The saa6752hs module needs this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e164b58a84cc9fdff0653dfe38470c0216df31d2 Author: Mauro Carvalho Chehab Date: Sun Jan 11 10:29:43 2009 -0300 V4L/DVB (10211): vivi: Implements 4 inputs on vivi This patch adds the capability of selecting between 4 different inputs on vivi driver. Input 0 is the normal color bar, while inputs 1-3 are modified color bars. This allows testing input selection on userspace applications and serves as an implementation model for other drivers. The current approach allows a maximum of 10 different inputs, since the input name generator assumes that we need just one digit to present the input. It shouldn't be hard to modify it to present a bigger name of inputs, but, in fact, it doesn't make much sense of doing it for this test driver. Signed-off-by: Mauro Carvalho Chehab commit 5291658d87ac1ae60418e79e7b6bad7d5f595e0c Author: Dan Carpenter Date: Fri Mar 27 13:36:10 2009 +0300 fuse: fix fuse_file_lseek returning with lock held This bug was found with smatch (http://repo.or.cz/w/smatch.git/). If we return directly the inode->i_mutex lock doesn't get released. Signed-off-by: Dan Carpenter Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit a6b6b5ff8f31960f760dd849beb70e1ae8ddc0e2 Author: Jonas Larsson Date: Mon Mar 30 17:04:53 2009 +0200 Add RTC support for Merisc boards This patch adds RTC support for the Merisc boards. Signed-off-by: Jonas Larsson Signed-off-by: Haavard Skinnemoen commit 75bf758f906315820cada99c169bd89bab3f4ba2 Author: Jaswinder Singh Rajput Date: Mon Mar 30 20:19:54 2009 +0530 smc91c92_cs: use request_firmware Added osi_load_firmware() instead of copying same thing twice Signed-off-by: Jaswinder Singh Rajput commit 4b6ece97e0b61306d4b8de6820f602e4cf5d8d6b Author: Jaswinder Singh Rajput Date: Mon Mar 30 19:44:59 2009 +0530 3C359: use request_firmware Signed-off-by: Jaswinder Singh Rajput commit 5a3c8fe7353f78b73b9636353c6f7b881f19ebea Author: Ingo Molnar Date: Mon Mar 30 16:14:40 2009 +0200 Revert "cpuacct: reduce one NULL check in fast-path" This reverts commit 7a46c594bf7f1f2eeb1e12d4b857d5f581957a92. This was applied to the x86 tree mistakenly, it belongs into the scheduler tree. Signed-off-by: Ingo Molnar commit 4a6a4499693a419a20559c41e33a7bd70bf20a6f Author: Jonathan Corbet Date: Fri Mar 27 12:24:31 2009 -0600 Fix a lockdep warning in fasync_helper() Lockdep gripes if file->f_lock is taken in a no-IRQ situation, since that is not always the case. We don't really want to disable IRQs for every acquisition of f_lock; instead, just move it outside of fasync_lock. Reported-by: Bartlomiej Zolnierkiewicz Reported-by: Larry Finger Reported-by: Wu Fengguang Signed-off-by: Jonathan Corbet commit a7a5eb9d4eb9908709df66e8f8f1724b5b108258 Author: Jaswinder Singh Rajput Date: Mon Mar 30 18:17:21 2009 +0530 yam: use request_firmware Added predef variable in add_mcs() to support predefined mcs data Signed-off-by: Jaswinder Singh Rajput commit b26e0ed4936b743b693a4cc1413561fa3e4eaf65 Author: Riku Voipio Date: Tue Mar 3 21:37:17 2009 +0200 trivial: Update my email address Update my email address. Signed-off-by: Riku Voipio Signed-off-by: Jiri Kosina commit 23d42494915d4dbdf99bccd35a76f3d45fbed62e Author: Hannes Eder Date: Thu Mar 5 20:15:01 2009 +0100 trivial: NULL noise: drivers/mtd/tests/mtd_*test.c Fix this sparse warnings: drivers/mtd/tests/mtd_oobtest.c:139:33: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:192:33: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:219:41: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:284:25: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:525:25: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:545:25: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:569:33: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:589:33: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:613:33: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:633:33: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:673:41: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_oobtest.c:701:33: warning: Using plain integer as NULL pointer drivers/mtd/tests/mtd_readtest.c:74:41: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Acked-by: Artem Bityutskiy Signed-off-by: Jiri Kosina commit 9c12bd8601a505d10fb5a93fed59a973088cbb85 Author: Hannes Eder Date: Thu Mar 5 20:14:39 2009 +0100 trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h Fix this sparse warnings: drivers/media/dvb/frontends/drx397xD_fw.h:21:2: warning: Using plain integer as NULL pointer drivers/media/dvb/frontends/drx397xD_fw.h:22:2: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Acked-by: Mauro Carvalho Chehab Signed-off-by: Jiri Kosina commit b731d7b6a7b4c2ca4b5e9384cb5197e4e8204651 Author: Adam Buchbinder Date: Fri Mar 13 12:15:26 2009 -0400 trivial: Fix misspelling of "Celsius". A few comments say "Celcius"; this fixes them. No code changes. Signed-off-by: Adam Buchbinder Signed-off-by: Jiri Kosina commit a4e49cb69e7dc87359bbdf1613d1ed872b9c9ebe Author: Tero Roponen Date: Sun Mar 8 15:29:31 2009 +0200 trivial: remove unused variable 'path' in alloc_file() 'struct path' is not used in alloc_file(). Signed-off-by: Tero Roponen Signed-off-by: Jiri Kosina commit 3e3cb64f6c306079dd8fa888c6c0a63e7e13f966 Author: Masatake YAMATO Date: Wed Feb 25 22:51:57 2009 +0900 trivial: fix a pdlfush -> pdflush typo in comment Signed-off-by: Masatake YAMATO Signed-off-by: Jiri Kosina commit 0cbfdc8648115b2e8451ae9122311d01d2722005 Author: Kazuo Moriwaka Date: Tue Mar 3 13:01:23 2009 +0100 trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL jbd header comment typo fix. Signed-off-by: Kazuo Moriwaka Signed-off-by: Jiri Kosina commit 39db4b8dd16b6d3b56fd3155f309e0eec8481c9a Author: Tobias Klauser Date: Mon Feb 9 23:07:35 2009 +0100 trivial: wusb: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Acked-by: David Vrabel Signed-off-by: Tobias Klauser Signed-off-by: Jiri Kosina commit 27157a70246c802a5e31996fdc75c7f2a1e548e3 Author: Tobias Klauser Date: Mon Feb 9 22:01:08 2009 +0100 trivial: drivers/char/bsr.c: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jiri Kosina commit b04f376151d17cb7cad48c932ba516622c167b44 Author: Tobias Klauser Date: Mon Feb 9 21:39:32 2009 +0100 trivial: h8300: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jiri Kosina commit 21acb9caa2e30b100e9a1943d995bb99d40f4035 Author: Thadeu Lima de Souza Cascardo Date: Wed Feb 4 10:12:08 2009 +0100 trivial: fix where cgroup documentation is not correctly referred to cgroup documentation was moved to Documentation/cgroups/. There are some places that still refer to Documentation/controllers/, Documentation/cgroups.txt and Documentation/cpusets.txt. Fix those. Signed-off-by: Thadeu Lima de Souza Cascardo Reviewed-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Jiri Kosina commit 6d5e147dd034d9ceedc89fe39f4284700944f0c8 Author: Thadeu Lima de Souza Cascardo Date: Tue Feb 3 11:57:13 2009 +0100 trivial: Give the right path in Documentation example While the Documentation example creates /cgroup/test, it removes /test/cgroup, which is clearly not the intended path. Change that to /cgroup/test. Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit 2a7af8ca8bc632a9dc138bff7f88a23fa3e5937a Author: Niels de Vos Date: Fri Jan 30 11:08:35 2009 +0100 trivial: MTD: remove EOL from MODULE_DESCRIPTION There is no need to have a "\n" on a MODULE_DESCRIPTION, remove it. Signed-off-by: Niels de Vos Signed-off-by: Jiri Kosina commit c7eee1b836ab5e504cbd2b7f3892ea468bd52a16 Author: Alberto Bertogli Date: Sun Jan 25 23:36:14 2009 -0200 trivial: Fix typo in bio_split()'s documentation Signed-off-by: Alberto Bertogli Signed-off-by: Jiri Kosina commit 5243ef8b54a927cae23216253e4e3f03af6f1446 Author: Mark Vels Date: Sun Jan 18 18:42:45 2009 +0100 trivial: PWM: fix of #endif comment Signed-off-by: Mark Vels Signed-off-by: Jiri Kosina commit 692105b8ac5bcd75dc65f6a8f10bdbd0f0f34dcf Author: Matt LaPlante Date: Mon Jan 26 11:12:25 2009 +0100 trivial: fix typos/grammar errors in Kconfig texts Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina commit 877d03105d04b2c13e241130277fa69c8d2564f0 Author: Nick Andrew Date: Mon Jan 26 11:06:57 2009 +0100 trivial: Fix misspelling of firmware Fix misspelling of firmware. Signed-off-by: Nick Andrew Signed-off-by: Jiri Kosina commit caa790ba6cb88dccfab356960d93e2f4e0bd8704 Author: Chris Samuel Date: Sat Jan 17 00:01:18 2009 +1100 trivial: cgroups: documentation typo and spelling corrections Minor typo and spelling corrections fixed whilst reading to learn about cgroups capabilities. Signed-off-by: Chris Samuel Acked-by: Paul Menage Signed-off-by: Jiri Kosina commit c0496f4ec5f03df3caf2aa384158a78c6adc79c0 Author: Jochen Hein Date: Tue Jan 20 00:32:22 2009 +0100 trivial: Update contact info for Jochen Hein I've moved again - so update my address again. Signed-off-by: Jochen Hein Signed-off-by: Jiri Kosina commit 2a93a1f21480f3aa134fe0c48954b64b8a97ef25 Author: Uwe Kleine-Koenig Date: Mon Jan 12 23:35:50 2009 +0100 trivial: fix typo "resgister" -> "register" Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Jiri Kosina commit b8d99832a582e0e164a1e209da445d2bb46d721b Author: Uwe Kleine-Koenig Date: Mon Jan 12 23:35:49 2009 +0100 trivial: fix typo "virual" -> "virtual" Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Jiri Kosina commit 3a070ad1449b1c068a2fac41285ae7548a623485 Author: Uwe Kleine-Koenig Date: Mon Jan 12 23:35:48 2009 +0100 trivial: fix typo "varaible" -> "variable" This patch was created by git grep -l '[vV]araible' | xargs -r -t perl -p -i -e 's/\b([Vv]ar)ai(bles?)\b/$1ia$2/g' Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Jiri Kosina commit 973c32bebf0cadf3a17c50255ff17477fcffaec8 Author: Uwe Kleine-Koenig Date: Mon Jan 12 23:35:47 2009 +0100 trivial: fix typo "kernal" -> "kernel" Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Jiri Kosina commit ee6921f7d82c765011b1df146cbc1103720ab33b Author: Uwe Kleine-Koenig Date: Mon Jan 12 23:35:46 2009 +0100 trivial: fix typo "thier" -> "their" Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Jiri Kosina commit 542d886b7f326182cd0a484714d0117e3a8cf11b Author: Alexey Zaytsev Date: Sat Jan 10 02:48:28 2009 +0300 trivial: Fix dubious bitwise 'and' usage spotted by sparse. It doesn't change the semantics, but clearly the logical 'and' was meant to be used here. Signed-off-by: Alexey Zaytsev Signed-off-by: Jiri Kosina commit 24ec68fb8f0a36a9063f3e72039316e718b628ed Author: Alexey Zaytsev Date: Sat Jan 10 02:48:05 2009 +0300 trivial: Fix dubious bitwise 'or' usage spotted by sparse. It doesn't change the semantics, but it looks like the logical 'or' was meant to be used here. Signed-off-by: Alexey Zaytsev Signed-off-by: Jiri Kosina commit e713a21d8251a4c91772f592af46407dfb0b2e4f Author: Alexey Zaytsev Date: Sat Jan 10 02:47:57 2009 +0300 trivial: Fix dubious bitwise 'or' usage spotted by sparse. It doesn't change the semantics, but it looks like the logical 'or' was meant to be used here. Signed-off-by: Alexey Zaytsev Signed-off-by: Jiri Kosina commit e3375ac767b847127df57d186a26abf83d055982 Author: Pavel Machek Date: Sat Jan 10 00:47:21 2009 +0100 trivial: document ext3 semantics of 'ro' option a bit better ext3 has quite unexpected semantics or "ro" and defaults are not what they are documented to be, due to mkfs override. Signed-off-by: Pavel Machek Signed-off-by: "Theodore Ts'o" Signed-off-by: Jiri Kosina commit 621de593081524da2f0f7b060f5951b4155eb4a2 Merge: afa5eb7... 6d77976... Author: Jiri Kosina Date: Mon Mar 30 15:14:53 2009 +0200 Merge branch 'autosuspend' into for-next Conflicts: drivers/hid/hid-core.c commit afa5eb7c68689ced4284f01c96feed44a2d0a127 Author: Jiri Slaby Date: Wed Mar 18 09:13:37 2009 +0100 HID: remove compat stuff This removal was scheduled and there is no problem with later distros to adapt for the new bus, thanks to aliases. module-init-tools map files are deprecated nowadays, so that the patch which introduced hid ones into the m-i-t won't be accepted and hence there is no reason for leaving compat stuff in. Signed-off-by: Jiri Slaby Cc: Jiri Kosina Signed-off-by: Jiri Kosina commit b2ddd54e19dfff559a02ec8e7e532357b3f09849 Author: Paul Collins Date: Sat Mar 7 17:07:15 2009 +1300 HID: constify arrays of struct apple_key_translation Mark arrays of struct apple_key_translation const so that they may be placed in .rodata, and adjust users to suit. Signed-off-by: Paul Collins Signed-off-by: Jiri Kosina commit 794227415f8f5f395a9ed4269a4ee7a3c34f66a5 Author: Jiri Kosina Date: Wed Mar 11 11:43:27 2009 +0100 HID: add support for Kye/Genius Ergo 525V This device sends several buttons in a separate field, which is wrongly described in the report descriptor. Fix it in the following way: - change led usage page to button - report size 8 count 1 becomes report size 1 count 8 - the button usage range changed to 4-7 (the mouse has three buttons in a different field already). Reported-by: Tomas Hanak Signed-off-by: Jiri Kosina commit fef3f571ecc2a82395c531d97b3f71a59e04e946 Author: Ryan Finnie Date: Thu Mar 5 10:18:01 2009 +0100 HID: Support Apple mini aluminum keyboard New USB device ids and quirks for the "mini" Apple USB aluminum keyboards released Tuesday, model A1242. Note that while I own the ANSI (0x021d) version and cannot verify that the ISO (0x021e) and JIS (0x021f) versions exist, previous releases have followed the triple id convention for awhile now, and the device ids fit perfectly between USB_DEVICE_ID_APPLE_GEYSER4_* and USB_DEVICE_ID_APPLE_ALU_*. Signed-off-by: Ryan Finnie Signed-off-by: Jiri Kosina commit fdf93aa33268889e126aa677f2072238bd76adb0 Author: Jiri Kosina Date: Wed Mar 4 16:09:40 2009 +0100 HID: support for Kensington slimblade device 0x47d/0x2041 device sends two extra buttons in 0xff00 usage page and therefore requires special handling. Reported-by: Jason Noble Signed-off-by: Jiri Kosina commit 3f866fbd52d1863db5c07700e560aef22c4fdc01 Author: Richard Walmsley Date: Wed Mar 4 22:12:04 2009 +1300 HID: DragonRise game controller force feedback driver Adds force feedback support for USB DragonRise Inc. game controllers. These devices are mass produced in China and distributed under several vendors. Signed-off-by: Richard Walmsley Signed-off-by: Jiri Kosina commit 27a9c17930fbc356cad1d77591a033b3d9b86dd7 Author: Anssi Hannula Date: Fri Feb 27 23:47:00 2009 +0200 HID: add support for another version of 0e8f:0003 device in hid-pl Add support for another version of 0e8f:0003 device into hid-pl driver. This device has the values in separate fields and resembles devices handled by hid-zpff. Signed-off-by: Anssi Hannula Tested-by: Pantelis Koukousoulas Signed-off-by: Jiri Kosina commit e43bd67d721bccbfe144c0b586b0ab3a2a157968 Author: Oliver Neukum Date: Thu Feb 12 13:17:52 2009 +0100 HID: fix race between usb_register_dev() and hiddev_open() upon further thought this code is still racy. retval = usb_register_dev(usbhid->intf, &hiddev_class); here you open a window during which open can happen if (retval) { err_hid("Not able to get a minor for this device."); hid->hiddev = NULL; kfree(hiddev); return -1; } else { hid->minor = usbhid->intf->minor; hiddev_table[usbhid->intf->minor - HIDDEV_MINOR_BASE] = hiddev; and will fail because hiddev_table hasn't been updated The obvious fix of using a mutex to guard hiddev_table doesn't work because usb_open() and usb_register_dev() take minor_rwsem and we'd have an AB-BA deadlock. We need a lock usb_open() also takes in the right order and that leaves only one option, BKL. I don't like it but I see no alternative. Once the usb_open() implements something better than lock_kernel(), we could also do so. Signed-off-by: Oliver Neukum Signed-off-by: Jiri Kosina commit 6f4303fb2ec68055e793b84887a7ae0f9ea7cc2d Author: Jiri Kosina Date: Thu Jan 29 00:15:51 2009 +0100 HID: bring back possibility to specify vid/pid ignore on module load When hid quirks were converted to specialized driver, the HID_QUIRK_IGNORE has been moved completely, as the hid_ignore_list[] has been moved into the generic code. However userspace already got used to the possibility that modprobing usbhid with 'quirks=vid:pid:0x4' makes the device ignored by usbhid driver. So keep this quirk flag in place for backwards compatibility. Signed-off-by: Jiri Kosina commit 205adbec0d5159f23b235bbcd386dd1bcb6d0180 Author: Pavel Machek Date: Tue Jan 6 10:15:27 2009 +0100 HID: make HID_DEBUG defaults consistent Make defaults consistent with help text suggestions for HID_DEBUG. Signed-off-by: Pavel Machek Signed-off-by: Jiri Kosina commit 91e8a30e90144bcd0fead02dc57976f304c3b3f7 Author: Manuel Lauss Date: Wed Mar 25 17:49:31 2009 +0100 MIPS: Alchemy: PB1200: use SMC91X platform data. Add platform data for the smc91x on the PB1200/DB1200, and remove the now unused AU1X00 entry in smc91x.h. Signed-off-by: Manuel Lauss commit 2f794d099da2f081de2fe19b289a3aa807f735fa Author: Manuel Lauss Date: Wed Mar 25 17:49:30 2009 +0100 MIPS: Alchemy: MIPS hazard workarounds are not required. The Alchemy manuals state: "All pipeline hazards and dependencies are enforced by hardware interlocks so that any sequence of instructions is guaranteed to execute correctly. Therefore, it is not necessary to pad legacy MIPS hazards (such as load delay slots and coprocessor accesses) with NOPs." Run-tested on Au12x0, without any ill effects. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 32647e0c1f63eead3e84d52b3edb8bc2f1fa2dd4 Author: Manuel Lauss Date: Wed Mar 25 17:49:29 2009 +0100 MIPS: Alchemy: provide cpu feature overrides. Add cpu feature override constants tailored for all Alchemy variants currently in existence. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle create mode 100644 arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h commit 270717a8a0e5f03c104a6d47466036b615edfcde Author: Manuel Lauss Date: Wed Mar 25 17:49:28 2009 +0100 MIPS: Alchemy: unify CPU model constants. This patch removes the various CPU_AU1??? model constants in favor of a single CPU_ALCHEMY one. All currently existing Alchemy models are identical in terms of cpu core and cache size/organization. The parts of the mips kernel which need to know the exact CPU revision extract it from the c0_prid register already; and finally nothing else in-tree depends on those any more. Should a new variant with slightly different "company options" and/or "processor revision" bits in c0_prid appear, it will be supported immediately (minus an exact model string in cpuinfo). Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 76544504aebc606b8279a5314595af5d568e7fea Author: Dmitri Vorobiev Date: Mon Mar 23 00:12:29 2009 +0200 MIPS: Make a needlessly global symbol static in arch/mips/kernel/smp.c The variable cpu_callin_map is needlessly defined global, so let's make it static now. Build-tested using malta_defconfig. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 1451a395a8672ba232bba3649ed57120e46826b5 Author: Dmitri Vorobiev Date: Mon Mar 23 00:12:28 2009 +0200 MIPS: Fix global namespace pollution in arch/mips/kernel/smp-up.c The following symbols in arch/mips/kernel/smp-up.c are needlessly defined global: up_send_ipi_single() up_init_secondary() up_smp_finish() up_cpus_done() up_boot_secondary() up_smp_setup() up_prepare_cpus() This patch makes the symbols static. Build-tested using malta_defconfig. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit d0cdfe2423e30f552eb3c90f20fb4c36bb548650 Author: Dmitri Vorobiev Date: Mon Mar 23 00:12:27 2009 +0200 MIPS: Malta: make a needlessly global integer variable static The variable `mips_revision_corid' is needlessly defined global in arch/mips/mti-malta/malta-init.c, and this patch makes it static. Build-tested with malta_defconfig. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit b72b7092f8f5f0729cc9f0868997351f21dbc5cd Author: Ralf Baechle Date: Mon Mar 30 14:49:44 2009 +0200 MIPS: Use BUG_ON() where possible. Based on original patch by Stoyan Gaydarov which missed a few places. Signed-off-by: Ralf Baechle commit ae03550500654e95c47229775bfec33ed0effe40 Author: Thomas Gleixner Date: Wed Mar 11 00:45:51 2009 +0000 MIPS: Convert obsolete irq_desc_t to struct irq_desc Impact: cleanup Convert the last remaining users to struct irq_desc. Signed-off-by: Thomas Gleixner Signed-off-by: Ralf Baechle commit c87e09096dcd1ea3da8dfe434ee694fac51031c8 Author: Ralf Baechle Date: Mon Mar 30 14:49:44 2009 +0200 MIPS: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all platforms __do_IRQ() is deprecated and will go away. Signed-off-by: Ralf Baechle commit 3e168ae286f5203d4b4aae0ae15c0d6282bcdd21 Author: Shinya Kuribayashi Date: Sat Mar 21 22:11:49 2009 +0900 MIPS: EMMA2RH: Set UART mapbase Signed-off-by: Shinya Kuribayashi Signed-off-by: Ralf Baechle commit ae3c1d3771a44ea33f887216e614ba6f6f0fe07d Author: Shinya Kuribayashi Date: Sat Mar 21 22:08:12 2009 +0900 MIPS: EMMA2RH: Use set_irq_chip_and_handler_name Fix two remaining set_irq_chip_and_handler() users which are encourated to migrate to set_irq_chip_and_handler_name(). Signed-off-by: Shinya Kuribayashi Signed-off-by: Ralf Baechle commit 8da55bb2586a0867b9cf14f107225f382a47b28f Author: Shinya Kuribayashi Date: Sat Mar 21 22:06:14 2009 +0900 MIPS: EMMA2RH: Use handle_edge_irq() handler for GPIO interrupts EMMA's GPIO interrupts are latched by GPIO interrupt status register. In this case, we're encouraged to use handle_edge_irq() handler. The following changes are made along with replacing set_irq_chip() with set_irq_chip_and_handler_name(,,handle_edge_irq,"edge"): * Fix emma2rh_gpio_irq_ack not to disable interrupts With handle_edge_irq(), we're not expected to disable interrupts when chip->ack is served, so fix it accordingly. We also add a new emma2rh_gpio_irq_mask_ack() for chip->mask_ack operation, instead. * Remove emma2rh_gpio_irq_end(), as chip->end is no longer served. Signed-off-by: Shinya Kuribayashi Signed-off-by: Ralf Baechle commit fb2826b7f6ecd93c29d2ef69578f087545251b17 Author: Shinya Kuribayashi Date: Sat Mar 21 22:04:21 2009 +0900 MIPS: Mark Eins: Fix cascading interrupt dispatcher * Fix mis-calculated IRQ bitshift on cascading interrupts * Prevent cascading interrupt from being processed afterward Signed-off-by: Shinya Kuribayashi Signed-off-by: Ralf Baechle commit 47c969ee54e142eba71626f99b3d99cc461b84f3 Author: Florian Fainelli Date: Thu Jan 15 16:46:48 2009 +0100 MIPS: Au1000: convert to using gpiolib This patch converts the GPIO board code to use gpiolib. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 12e22e8e60add9e1ccd61509ab7fd6fc1c214c52 Author: Ralf Baechle Date: Mon Mar 30 14:49:41 2009 +0200 MIPS: Stop using . This fixes a few warnings - and triggers a few new ones which the rest of this patch fixes. Signed-off-by: Ralf Baechle commit 2da0ba2d2768baa0c5c502d1f53505dc905a06e3 Author: Ralf Baechle Date: Mon Mar 30 14:49:41 2009 +0200 MIPS: Cavium: Add -Werror Signed-off-by: Ralf Baechle commit 59968d3bb927f54db660e7cd4de389ebc292eec0 Author: Ralf Baechle Date: Mon Mar 30 14:49:40 2009 +0200 MIPS: Makefile: Add simple make install target. Signed-off-by: Ralf Baechle commit d6c178e9694e7e0c7ffe0289cf4389a498cac735 Author: Ralf Baechle Date: Sat Mar 28 01:36:09 2009 +0100 MIPS: Compat: Zero upper 32-bit of offset_high and offset_low. Through sys_llseek() arguably should do exactly that it doesn't which means llseek(2) will fail for o32 processes if offset_low has bit 31 set. As suggested by Heiko Carstens. Signed-off-by: Ralf Baechle commit 0e6826c73c9aa785ec58b52613df7699fb31af9a Author: David Daney Date: Fri Mar 27 10:07:02 2009 -0700 MIPS: __raw_spin_lock() may spin forever on ticket wrap. If the lock is not acquired and has to spin *and* the second attempt to acquire the lock fails, the delay time is not masked by the ticket range mask. If the ticket number wraps around to zero, the result is that the lock sampling delay is essentially infinite (due to casting -1 to an unsigned int). The fix: Always mask the difference between my_ticket and the current ticket value before calculating the delay. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f5fd02a33e9a53480c7c489d3210b144d24da24e Author: Ralf Baechle Date: Wed Mar 25 14:41:09 2009 +0100 MIPS: Forward declare struct task_struct to avoid potencial warning. commit bb75efddeaca89f8a67fd82cdcbaaf436cf17ca9 Author: Russell King Date: Sun Mar 29 17:12:22 2009 +0100 oprofile: Thou shalt not call __exit functions from __init functions Impact: fix ref to discarded function `buffer_sync_cleanup' referenced in section `.init.text' of arch/arm/oprofile/built-in.o: defined in discarded section `.exit.text' of arch/arm/oprofile/built-in.o Signed-off-by: Russell King Signed-off-by: Rusty Russell commit 97c12f85ac5e4ac2faee6cada014ac6205105b19 Author: Rusty Russell Date: Mon Mar 30 22:05:17 2009 -0600 cpumask: remove the now-obsoleted pcibus_to_cpumask(): generic Impact: reduce stack usage for large NR_CPUS cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell commit 612a726faf8486fa48b34fa37115ce1e7421d383 Author: Rusty Russell Date: Mon Mar 30 22:05:16 2009 -0600 cpumask: remove cpumask_t from core Impact: cleanup struct cpumask is nicer, and we use it to make where we've made code safe for CONFIG_CPUMASK_OFFSTACK=y. Signed-off-by: Rusty Russell commit 73d0a4b107d58908305f272bfae9bd17f74a2c81 Author: Rusty Russell Date: Mon Mar 30 22:05:16 2009 -0600 cpumask: convert rcutorture.c We're getting rid of cpumasks on the stack. Simply change tmp_mask to a global, and allocate it in rcu_torture_init(). Signed-off-by: Rusty Russell Acked-by: "Paul E. McKenney" Cc: Josh Triplett commit aa85ea5b89c36c51200d795dd788139bd9b8cf50 Author: Rusty Russell Date: Mon Mar 30 22:05:15 2009 -0600 cpumask: use new cpumask_ functions in core code. Impact: cleanup Time to clean up remaining laggards using the old cpu_ functions. Signed-off-by: Rusty Russell Cc: Greg Kroah-Hartman Cc: Ingo Molnar Cc: Trond.Myklebust@netapp.com commit 1a8a51004a18b627ea81444201f7867875212f46 Author: Rusty Russell Date: Mon Mar 30 22:05:13 2009 -0600 cpumask: remove references to struct irqaction's mask field. Impact: cleanup It's unused, since about 1995. So remove all initialization of it in preparation for actually removing the field. Signed-off-by: Rusty Russell Acked-by: Thomas Gleixner commit 9489424454c93f4d225d7af47978f8c7e84bf4d4 Author: Rusty Russell Date: Mon Mar 30 22:05:12 2009 -0600 cpumask: use mm_cpumask() wrapper: kernel/fork.c Impact: futureproof Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer. Signed-off-by: Rusty Russell commit 2b17fa506c418e9fb02bbbc7f426d2bbb5b247a6 Author: Rusty Russell Date: Mon Mar 30 22:05:12 2009 -0600 cpumask: use set_cpu_active in init/main.c cpu_active_map is deprecated in favor of cpu_active_mask, which is const for safety: we use accessors now (set_cpu_active) is we really want to make a change. Signed-off-by: Rusty Russell commit 0451fb2ebc4f65c265bb51d71a2fc986ebf20218 Author: Rusty Russell Date: Mon Mar 30 22:05:11 2009 -0600 cpumask: remove node_to_first_cpu Everyone defines it, and only one person uses it (arch/mips/sgi-ip27/ip27-nmi.c). So just open code it there. Signed-off-by: Rusty Russell Cc: linux-mips@linux-mips.org commit af76aba00fdcfb21535c9f9872245d14097a4561 Author: Rusty Russell Date: Mon Mar 30 22:05:11 2009 -0600 cpumask: fix seq_bitmap_*() functions. 1) seq_bitmap_list() should take a const. 2) All the seq_bitmap should use cpumask_bits(). Signed-off-by: Rusty Russell commit 1a2142afa5646ad5af44bbe1febaa5e0b7e71156 Author: Rusty Russell Date: Mon Mar 30 22:05:10 2009 -0600 cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL Impact: cleanup (Thanks to Al Viro for reminding me of this, via Ingo) CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so: #define CPU_MASK_ALL (cpumask_t) { { ... } } Taking the address of such a temporary is questionable at best, unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added CPU_MASK_ALL_PTR: #define CPU_MASK_ALL_PTR (&CPU_MASK_ALL) Which formalizes this practice. One day gcc could bite us over this usage (though we seem to have gotten away with it so far). So replace everywhere which used &CPU_MASK_ALL or CPU_MASK_ALL_PTR with the modern "cpu_all_mask" (a real const struct cpumask *). Signed-off-by: Rusty Russell Acked-by: Ingo Molnar Reported-by: Al Viro Cc: Mike Travis commit d1881d3192a3d3e8dc4f255b03187f4c36cb0617 Author: Rusty Russell Date: Mon Mar 30 21:55:25 2009 -0600 lguest: barrier me harder Impact: barrier correctness in example launcher I doubt either lguest user will complain about performance. Reported-by: Christoph Hellwig Cc: Jens Axboe Signed-off-by: Rusty Russell commit df1693abc42e34bbc4351e179dbe66c28a94efb8 Author: Matias Zabaljauregui Date: Wed Mar 18 13:38:35 2009 -0300 lguest: use bool instead of int Impact: clean up Rusty told me, some time ago, that he had become a fan of "bool". So, here are some replacements. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 4cd8b5e2a159f18a1507f1187b44a1acbfa6341b Author: Matias Zabaljauregui Date: Sat Mar 14 13:37:52 2009 -0200 lguest: use KVM hypercalls Impact: cleanup This patch allow us to use KVM hypercalls Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit b7ff99ea53cd16de8f6166c0e98f19a7c6ca67ee Author: Rusty Russell Date: Mon Mar 30 21:55:23 2009 -0600 lguest: wire up pte_update/pte_update_defer Impact: intermittent guest segv/crash fix I've been seeing random guest bad address crashes and segmentation faults: bisect led to 4f98a2fee8 (vmscan: split LRU lists into anon & file sets), but that's a red herring. It turns out that lguest never hooked up the pte_update/pte_update_defer calls, so our ptes were not always in sync. After the vmscan commit, the bug became reproducible; now a fsck in a 64MB guest causes reproducible pagetable corruption. Signed-off-by: Rusty Russell Cc: jeremy@xensource.com Cc: virtualization@lists.osdl.org Cc: stable@kernel.org commit 6afbdd059c27330eccbd85943354f94c2b83a7fe Author: Rusty Russell Date: Mon Mar 30 21:55:23 2009 -0600 lguest: fix spurious BUG_ON() on invalid guest stack. Impact: fix crash on misbehaving guest gpte_addr() contains a BUG_ON(), insisting that the present flag is set. We need to return before we call it if that isn't the case. Signed-off-by: Rusty Russell Cc: stable@kernel.org commit c5f841f1780dad7efb7eca092f60742d47f47d25 Author: Rusty Russell Date: Mon Mar 30 21:55:22 2009 -0600 virtio: more neatening of virtio_ring macros. Impact: cleanup Roel Kluin drew attention to these macros with his patch: here I neaten them a little further: 1) Add a comment on what START_USE and END_USE are checking, 2) Brackets around _vq in BAD_RING, 3) Neaten formatting for START_USE so it's less than 80 cols. Signed-off-by: Rusty Russell commit 3a35ce7dcefe9e80a00603a195269fbaf6e7d901 Author: Roel Kluin Date: Thu Jan 22 16:42:57 2009 +0100 virtio: fix BAD_RING, START_US and END_USE macros Impact: cleanup fix BAD_RING, START_US and END_USE macros When these macros aren't called with a variable named vq as first argument, this would result in a build failure. Signed-off-by: Roel Kluin Signed-off-by: Rusty Russell commit 5c64e2abb3333684fc662eec776ca61ac009f825 Merge: 8f6aef9... f000328... Author: Russell King Date: Mon Mar 30 10:40:54 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion commit 8f6aef924d6d83f67e74ca5edc98957867c50ce9 Author: Russell King Date: Sun Mar 29 17:14:45 2009 +0100 [ARM] arch_reset() now takes a second parameter Add it to the new platforms. Signed-off-by: Russell King commit 27174203f570b923e5c02c618a5557295bab8755 Author: Christoph Hellwig Date: Mon Mar 30 10:21:31 2009 +0200 xfs: cleanup uuid handling The uuid table handling should not be part of a semi-generic uuid library but in the XFS code using it, so move those bits to xfs_mount.c and refactor the whole glob to make it a proper abstraction. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit 9ff9a26b786c35ee8d2a66222924a807ec851a9f Merge: 0a3108b... 0d34fb8... Author: Benjamin Herrenschmidt Date: Mon Mar 30 14:04:53 2009 +1100 Merge commit 'origin/master' into next Manual merge of: arch/powerpc/include/asm/elf.h drivers/i2c/busses/i2c-mpc.c commit 0a3108beea9143225119d5e7c72a8e2c64f3eb7d Merge: ec78c8a... df4b680... Author: Benjamin Herrenschmidt Date: Mon Mar 30 13:46:19 2009 +1100 Merge commit 'kumar/next' into next commit b4d63e8e745b0000ba22f44ff34cd51e8b4d0389 Author: Greg Ungerer Date: Mon Mar 30 10:29:45 2009 +1000 m68knommu: improve compile arch switch settings Modern versions of gcc have a better range of ColdFire optimization switches for the vairous ColdFire family members. Use these when we can. Signed-off-by: Greg Ungerer commit ed223129a30de7d244ca9b59819f5532c9caf039 Merge: ffaba67... 81f1adf... Author: David S. Miller Date: Sun Mar 29 15:44:22 2009 -0700 Merge branch 'master' of ssh://master.kernel.org/home/ftp/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask-for-sparc Conflicts: arch/sparc/kernel/smp_64.c commit ffaba674090f287afe0c44fd8d978c64c03581a8 Author: David S. Miller Date: Sun Mar 29 15:40:33 2009 -0700 sparc64: Fix reset hangs on Niagara systems. Hypervisor versions older than version 1.6.1 cannot handle leaving the profile counter overflow interrupt chirping when the system does a soft reset. So use a reboot notifier to shut off the NMI watchdog. Signed-off-by: David S. Miller commit 321dee6e8b235c496f0a068a72d8df9a4e13ceb9 Author: Alexander Beregalov Date: Sun Mar 29 13:52:21 2009 -0700 wireless: remove duplicated .ndo_set_mac_address Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 424b86a6bc9459a830e1e94e0e908f3ac1716b7e Author: Pablo Neira Ayuso Date: Sun Mar 29 13:46:01 2009 -0700 netfilter: xtables: fix IPv6 dependency in the cluster match This patch fixes a dependency with IPv6: ERROR: "__ipv6_addr_type" [net/netfilter/xt_cluster.ko] undefined! This patch adds a function that checks if the higher bits of the address is 0xFF to identify a multicast address, instead of adding a dependency due to __ipv6_addr_type(). I came up with this idea after Patrick McHardy pointed possible problems with runtime module dependencies. Reported-by: Steven Noonan Reported-by: Randy Dunlap Reported-by: Cyrill Gorcunov Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit e354d571bb481f1d71f2c3004b9ff570b32e83bd Author: Andy Adamson Date: Sat Mar 28 11:30:52 2009 +0300 nfsd: embed nfsd4_current_state in nfsd4_compoundres Remove the allocation of struct nfsd4_compound_state. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 0d34fb8e93ceba7b6dad0062dbb4a0813bacd75b Merge: 503e576... 4029792... Author: Linus Torvalds Date: Sun Mar 29 13:05:41 2009 -0700 Merge branch 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'bzip2-lzma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: bzip2/lzma: don't ask for compression mode for the default initramfs bzip2/lzma: consistently capitalize LZMA in Kconfig bzip2/lzma: clarify the meaning of the CONFIG_RD_ options bzip2/lzma: move CONFIG_RD_* options under CONFIG_EMBEDDED commit 1a5902c5d2ad4f3aa1ee747017622d5d4edfa20f Author: Christoph Hellwig Date: Sun Mar 29 19:26:46 2009 +0200 xfs: remove m_attroffset With the upcoming v3 inodes the default attroffset needs to be calculated for each specific inode, so we can't cache it in the superblock anymore. Also replace the assert for wrong inode sizes with a proper error check also included in non-debug builds. Note that the ENOSYS return for that might seem odd, but that error is returned by xfs_mount_validate_sb for all theoretically valid but not supported filesystem geometries. Signed-off-by: Christoph Hellwig Reviewed-by: Josef 'Jeff' Sipek commit 503e57630309643562c12f09d4c8a96eb629ee33 Author: Ralf Baechle Date: Sun Mar 29 12:59:50 2009 +0200 Fix build error in relies on and having been included previous. If not, the errors like below will result. CC arch/mips/mti-malta/malta-int.o In file included from arch/mips/mti-malta/malta-int.c:25: include/linux/irq.h: In function ‘init_alloc_desc_masks’: include/linux/irq.h:444: error: implicit declaration of function ‘cpu_to_node’ include/linux/irq.h:446: error: ‘GFP_ATOMIC’ undeclared (first use in this function) include/linux/irq.h:446: error: (Each undeclared identifier is reported only once include/linux/irq.h:446: error: for each function it appears in.) make[3]: *** [arch/mips/mti-malta/malta-int.o] Error 1 make[2]: *** [arch/mips/mti-malta] Error 2 make[1]: *** [sub-make] Error 2 Fixed by including the two missing headers. Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit d5ac537e5fb6fc12384c9f3ed6a15e912dfbbc2a Author: Randy Dunlap Date: Sat Mar 28 21:52:47 2009 -0700 sched: fix errors in struct & function comments Fix kernel-doc errors in sched.c: the structs don't have kernel-doc notation and the short function description needs to be one line only. Error(kernel/sched.c:3197): cannot understand prototype: 'struct sd_lb_stats ' Error(kernel/sched.c:3228): cannot understand prototype: 'struct sg_lb_stats ' Error(kernel/sched.c:3375): duplicate section name 'Description' Signed-off-by: Randy Dunlap cc: Ingo Molnar Signed-off-by: Linus Torvalds commit ee665ecca6d6775f65b1a4154c34f551f62cec52 Author: Randy Dunlap Date: Sat Mar 28 21:50:17 2009 -0700 maple: fix Error in kernel-doc notation Fix kernel-doc error in maple (it's not kernel-doc): Error(drivers/sh/maple/maple.c:782): cannot understand prototype: 'struct bus_type maple_bus_type = ' Signed-off-by: Randy Dunlap cc: Paul Mundt Signed-off-by: Linus Torvalds commit 13223cb02ccfa375f2d683d08d30db5b72264f1e Merge: 1383bdb... 07d43ba... Author: David S. Miller Date: Sun Mar 29 01:40:34 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 1383bdb98c01bbd28d72336d1bf614ce79114d29 Author: David S. Miller Date: Sun Mar 29 01:39:49 2009 -0700 tg3: Add GRO support. Signed-off-by: David S. Miller commit 4099e01224e2afcaeea439cd92db3e7cf6e0f84f Author: David S. Miller Date: Sun Mar 29 01:39:41 2009 -0700 niu: Add GRO support. Signed-off-by: David S. Miller commit f23c20c83d523e5f8cda1f8f7ed52fe6afffbe29 Author: Ma Ling Date: Thu Mar 26 19:26:23 2009 +0800 drm: detect hdmi monitor by hdmi identifier (v3) Sometime we need to communicate with HDMI monitor by sending audio or video info frame, so we have to know monitor type. However if user utilize HDMI-DVI adapter to connect DVI monitor, hardware detection will incorrectly show the monitor is HDMI. HDMI spec tell us that any device containing IEEE registration Identifier will be treated as HDMI device. The patch intends to detect HDMI monitor by this rule. Signed-off-by: Ma Ling Signed-off-by: Dave Airlie commit dba5ed0cd12d8db5c0d2e1c869c2a50c5bcf6743 Author: Dan Carpenter Date: Fri Mar 27 13:34:28 2009 +0300 drm: drm_fops.c unlock missing on error path drm_open_helper() from drm_fops.c had a missing mutex_unlock in a error path. This was caught by smatch (http://repo.or.cz/w/smatch.git/). Compile tested. Signed-off-by: Dan Carpenter Signed-off-by: Dave Airlie commit c972d750e4fa3bfee6e7d3635729bf8c9cbb8f0a Author: Richard Kennedy Date: Wed Mar 18 17:26:44 2009 +0000 drm: reorder struct drm_ioctl_desc to save space on 64 bit builds shrinks drm_ioctl_desc from 24 bytes to 16 bytes by reordering members to remove padding. updates DRM_IOCTL_DEF macro to initialise structure members by name to handle the structure reorder. The applied patch reduces data used in drm.ko from 10440 to 9032 Signed-off-by: Richard Kennedy Signed-off-by: Dave Airlie commit 40fc6eab599d0087a75fc77eaaf04d769b667f6d Author: Alex Deucher Date: Thu Mar 19 20:44:22 2009 -0400 radeon: add some new pci ids This adds some new RS780 pci ids Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 167f3a04d7366d65c7fa9a92f0d604cdcf4a11ae Author: Ma Ling Date: Fri Mar 20 14:09:48 2009 +0800 drm: read EDID extensions from monitor Usually drm read basic EDID, that is enough for us, but since igital display were introduced i.e. HDMI monitor, sometime we need to interact with monitor by EDID extension information, EDID extensions include audio/video data block, speaker allocation and vendor specific data blocks. This patch intends to read EDID extensions from digital monitor for users. Signed-off-by: Ma Ling Signed-off-by: Dave Airlie commit 955a23eb3cfc773e71b05bb7a0a0938a9e1b2568 Author: Eric Anholt Date: Thu Mar 19 18:56:14 2009 -0700 drm: Use a little stash on the stack to avoid kmalloc in most DRM ioctls. The kmalloc was taking up about 1.5% of the CPU on an ioctl-heavy workload (x11perf -aa10text on 965). Initial results look like they have a corresponding improvement in performance for aa10text, but more numbers might not hurt. Thanks to ajax for pointing out this performance regression I'd introduced back in 2007. [airlied: well I introduced it sneakily inside Eric's patch] Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit af7ae351ad63a137ece86740dbe3f181d09d810f Author: Maciej Cencora Date: Tue Mar 24 01:48:50 2009 +0100 drm/radeon: add regs required for occlusion queries support [airlied: cleaned up slightly for drm-next] Signed-off-by: Maciej Cencora Signed-off-by: Dave Airlie commit 129dd9677b30a07bb832247dfe8d6089f1ac61a0 Author: David S. Miller Date: Sun Mar 29 01:20:18 2009 -0700 ucc_geth: Fix use-after-of_node_put() in ucc_geth_probe(). We can't put 'mdio' until after we've used it in the fsl_pq_mdio_bus_name() call. Also fix error return values. Signed-off-by: David S. Miller commit ee76db5e9e9896312f001790855a798472440328 Author: David S. Miller Date: Sun Mar 29 01:19:37 2009 -0700 gianfar: Fix use-after-of_node_put() in gfar_of_init(). We can't put 'mdio' until after we've used it in the fsl_pq_mdio_bus_name() call. Signed-off-by: David S. Miller commit 9da096fd13e63031662566e5e868ec3dcc70824e Author: Malcolm Parsons Date: Sun Mar 29 09:55:42 2009 +0200 xfs: fix various typos Signed-off-by: Malcolm Parsons Reviewed-by: Christoph Hellwig commit bddaafa11a549fff311bcf2e04bbfb5139812cb7 Author: Hisashi Hifumi Date: Sun Mar 29 09:53:38 2009 +0200 xfs: pagecache usage optimization Hi. I introduced "is_partially_uptodate" aops for XFS. A page can have multiple buffers and even if a page is not uptodate, some buffers can be uptodate on pagesize != blocksize environment. This aops checks that all buffers which correspond to a part of a file that we want to read are uptodate. If so, we do not have to issue actual read IO to HDD even if a page is not uptodate because the portion we want to read are uptodate. "block_is_partially_uptodate" function is already used by ext2/3/4. With the following patch random read/write mixed workloads or random read after random write workloads can be optimized and we can get performance improvement. I did a performance test using the sysbench. #sysbench --num-threads=4 --max-requests=100000 --test=fileio --file-num=1 \ --file-block-size=8K --file-total-size=1G --file-test-mode=rndrw \ --file-fsync-freq=0 --file-rw-ratio=0.5 run -2.6.29-rc6 Test execution summary: total time: 123.8645s total number of events: 100000 total time taken by event execution: 442.4994 per-request statistics: min: 0.0000s avg: 0.0044s max: 0.3387s approx. 95 percentile: 0.0118s -2.6.29-rc6-patched Test execution summary: total time: 108.0757s total number of events: 100000 total time taken by event execution: 417.7505 per-request statistics: min: 0.0000s avg: 0.0042s max: 0.3217s approx. 95 percentile: 0.0118s arch: ia64 pagesize: 16k blocksize: 4k Signed-off-by: Hisashi Hifumi Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit 6447c36209c4268352d55d04d041396ebb8add4a Author: Christoph Hellwig Date: Sun Mar 29 09:51:14 2009 +0200 xfs: remove m_litino With the upcoming v3 inodes the inode data/attr area size needs to be calculated for each specific inode, so we can't cache it in the superblock anymore. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher commit a19d9f887d81106d52cacbc9930207b487e07e0e Author: Christoph Hellwig Date: Sun Mar 29 09:51:08 2009 +0200 xfs: kill ino64 mount option The ino64 mount option adds a fixed offset to 32bit inode numbers to bring them into the 64bit range. There's no need for this kind of debug tool given that it's easy to produce real 64bit inode numbers for testing. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher commit a0b0b8a5b3cb47892b5984cd86272446bee5f511 Author: Christoph Hellwig Date: Sun Mar 29 09:51:00 2009 +0200 xfs: kill mutex_t typedef People continue to complain about this for weird reasons, but there's really no point in keeping this typedef for a couple of users anyway. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher commit 2c60b6885afc56a17b9d55b04c4328123063fc9d Author: Harvey Harrison Date: Sat Mar 28 15:38:31 2009 +0000 kernel: remove HIPQUAD() All users have been removed. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit e7557af56a576762a655f1aaaded253ad14c5958 Author: Harvey Harrison Date: Sat Mar 28 15:38:31 2009 +0000 netpoll: store local and remote ip in net-endian Allows for the removal of byteswapping in some places and the removal of HIPQUAD (replaced by %pI4). Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit f940964901aa69e28ce729d7614061d014184472 Author: Harvey Harrison Date: Sat Mar 28 15:38:30 2009 +0000 netfilter: fix endian bug in conntrack printks dcc_ip is treated as a host-endian value in the first printk, but the second printk uses %pI4 which expects a be32. This will cause a mismatch between the debug statement and the warning statement. Treat as a be32 throughout and avoid some byteswapping during some comparisions, and allow another user of HIPQUAD to bite the dust. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 3e8af307bfe3b6318a1aaaf8ce18d0af7ddf2ea2 Author: Alexander Beregalov Date: Sat Mar 28 23:40:05 2009 -0700 dmascc: fix incomplete conversion to network_device_ops drivers/net/hamradio/dmascc.c:587: error: 'struct net_device' has no member named 'set_mac_address' Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 2f181855a0b3c2b39314944add7b41c15647cf86 Author: Herbert Xu Date: Sat Mar 28 23:39:18 2009 -0700 gso: Fix support for linear packets When GRO/frag_list support was added to GSO, I made an error which broke the support for segmenting linear GSO packets (GSO packets are normally non-linear in the payload). These days most of these packets are constructed by the tun driver, which prefers to allocate linear memory if possible. This is fixed in the latest kernel, but for 2.6.29 and earlier it is still the norm. Therefore this bug causes failures with GSO when used with tun in 2.6.29. Reported-by: James Huang Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4b21cd4eedff2123712c2132c8c6264d40332465 Author: Randy Dunlap Date: Sat Mar 28 23:38:40 2009 -0700 skbuff.h: fix missing kernel-doc Add missing struct field to fix kernel-doc warning: Warning(include/linux/skbuff.h:182): No description found for parameter 'flags' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 79f1bc06dbb05f222756d6df4a9ff95588c9cc06 Author: Alexander Beregalov Date: Sat Mar 28 23:37:27 2009 -0700 ni5010: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit f000328ac10f23f4841b83ddc60eceb3ba0ac176 Author: Nicolas Pitre Date: Fri Mar 27 14:22:26 2009 -0400 [ARM] Kirkwood: small L2 code cleanup Strictly speaking, a MCR instruction does not produce any output. Signed-off-by: Nicolas Pitre commit d75de08727018659cd7e060cf0018eaf53e49aaf Author: Maxime Bizon Date: Fri Mar 27 18:42:19 2009 +0100 [ARM] Kirkwood: invalidate L2 cache before enabling it I get random oopses on my Kirkwood board at startup when L2 cache is enabled. FYI I'm using Marvell uboot version 3.4.16 Each boot produces the same oops, but anything that changes the kernel size (even only changing initramfs) makes the oops different. I noticed that nothing invalidates the L2 cache before enabling it, doing so fixes my problem. Signed-off-by: Maxime Bizon Signed-off-by: Nicolas Pitre commit c549e71d073a6e9a4847497344db28a784061455 Author: H. Peter Anvin Date: Sat Mar 28 13:53:26 2009 -0700 x86, setup: ACPI 3, BIOS workaround for E820-probing code Impact: ACPI 3 spec compliance, BIOS bug workaround The ACPI 3 spec added another field to the E820 buffer -- which is backwards incompatible, since it contains a validity bit. Furthermore, there has been at least one report of a BIOS which assumes that the buffer it is pointed at is the same buffer as for the previous E820 call. Therefore, read the data into a temporary buffer and copy the standard part of it if and only if the valid bit is set. Signed-off-by: H. Peter Anvin commit 32ec7fd08b597586774b92ac1cd2678021ccac1b Author: H. Peter Anvin Date: Sat Mar 28 13:53:26 2009 -0700 x86, setup: preemptively save/restore edi and ebp around INT 15 E820 Impact: BIOS bugproofing Since there are BIOSes known to clobber %ebx and %esi for INT 15 E820, assume there is something out there clobbering %edi and/or %ebp too, and don't wait for it to fail. Signed-off-by: H. Peter Anvin commit c31f403de62415c738ddc9e673cf8e722c82f861 Merge: 7541bba... d00ab2f... Author: Linus Torvalds Date: Sat Mar 28 17:32:14 2009 -0700 Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: remove the pointer math from double_unlock_hb, fix futex: remove the pointer math from double_unlock_hb futex: clean up fault logic futex: unlock before returning -EFAULT futex: use current->time_slack_ns for rt tasks too futex: add double_unlock_hb() futex: additional (get|put)_futex_key() fixes futex: update futex commentary commit 7541bba880fb6989f489f0c68fa246a375b44035 Merge: 795e2fe... 4303154... Author: Linus Torvalds Date: Sat Mar 28 17:30:42 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: smack: Add a new '-CIPSO' option to the network address label configuration netlabel: Cleanup the Smack/NetLabel code to fix incoming TCP connections lsm: Remove the socket_post_accept() hook selinux: Remove the "compat_net" compatibility code netlabel: Label incoming TCP connections correctly in SELinux lsm: Relocate the IPv4 security_inet_conn_request() hooks TOMOYO: Fix a typo. smack: convert smack to standard linux lists commit 795e2fe0a3b69dbc040d7efcf517e0cbad6901d0 Author: David Howells Date: Sat Mar 28 23:23:01 2009 +0000 Annotate struct fs_struct's usage count restriction Annotate struct fs_struct's usage count to indicate the restrictions upon it. It may not be incremented, except by clone(CLONE_FS), as this affects the check in check_unsafe_exec() in fs/exec.c. Signed-off-by: David Howells Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 7c2c7d993044cddc5010f6f429b100c63bc7dffb Author: Hugh Dickins Date: Sat Mar 28 23:21:27 2009 +0000 fix setuid sometimes wouldn't check_unsafe_exec() also notes whether the fs_struct is being shared by more threads than will get killed by the exec, and if so sets LSM_UNSAFE_SHARE to make bprm_set_creds() careful about euid. But /proc//cwd and /proc//root lookups make transient use of get_fs_struct(), which also raises that sharing count. This might occasionally cause a setuid program not to change euid, in the same way as happened with files->count (check_unsafe_exec also looks at sighand->count, but /proc doesn't raise that one). We'd prefer exec not to unshare fs_struct: so fix this in procfs, replacing get_fs_struct() by get_fs_path(), which does path_get while still holding task_lock, instead of raising fs->count. Signed-off-by: Hugh Dickins Cc: stable@kernel.org ___ fs/proc/base.c | 50 +++++++++++++++-------------------------------- 1 file changed, 16 insertions(+), 34 deletions(-) Signed-off-by: Linus Torvalds commit e426b64c412aaa3e9eb3e4b261dc5be0d5a83e78 Author: Hugh Dickins Date: Sat Mar 28 23:20:19 2009 +0000 fix setuid sometimes doesn't Joe Malicki reports that setuid sometimes doesn't: very rarely, a setuid root program does not get root euid; and, by the way, they have a health check running lsof every few minutes. Right, check_unsafe_exec() notes whether the files_struct is being shared by more threads than will get killed by the exec, and if so sets LSM_UNSAFE_SHARE to make bprm_set_creds() careful about euid. But /proc//fd and /proc//fdinfo lookups make transient use of get_files_struct(), which also raises that sharing count. There's a rather simple fix for this: exec's check on files->count has been redundant ever since 2.6.1 made it unshare_files() (except while compat_do_execve() omitted to do so) - just remove that check. [Note to -stable: this patch will not apply before 2.6.29: earlier releases should just remove the files->count line from unsafe_exec().] Reported-by: Joe Malicki Narrowed-down-by: Michael Itz Tested-by: Joe Malicki Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 53e9309e01277ec99c38e84e0ca16921287cf470 Author: Hugh Dickins Date: Sat Mar 28 23:16:03 2009 +0000 compat_do_execve should unshare_files 2.6.26's commit fd8328be874f4190a811c58cd4778ec2c74d2c05 "sanitize handling of shared descriptor tables in failing execve()" moved the unshare_files() from flush_old_exec() and several binfmts to the head of do_execve(); but forgot to make the same change to compat_do_execve(), leaving a CLONE_FILES files_struct shared across exec from a 32-bit process on a 64-bit kernel. It's arguable whether the files_struct really ought to be unshared across exec; but 2.6.1 made that so to stop the loading binary's fd leaking into other threads, and a 32-bit process on a 64-bit kernel ought to behave in the same way as 32 on 32 and 64 on 64. Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit d008877550d8ca8c6878dd494e50c1b9209f38d4 Author: Dave Airlie Date: Sat Mar 28 20:29:48 2009 -0400 drm/i915: check the return value from the copy from user This produced a warning on my build, not sure why super-warning-man didn't notice this one, its much worse than the %z one. Signed-off-by: Dave Airlie commit 40297927575a50b1d0d308d735c445924d33fba6 Author: H. Peter Anvin Date: Sat Mar 28 17:24:03 2009 -0700 bzip2/lzma: don't ask for compression mode for the default initramfs Impact: Kconfig noise reduction, documentation The default initramfs is so small that it makes no sense to worry about the additional memory taken by not double-compressing it. Therefore, don't bug the user with it. Also, improve the description of the option, which was downright incorrect. Signed-off-by: H. Peter Anvin commit 90f959bcb386da2c71613dcefc6a285e054a539e Merge: 41f13fe... 07d43ba... Author: Dave Airlie Date: Sat Mar 28 20:22:18 2009 -0400 drm: merge Linux master into HEAD Conflicts: drivers/gpu/drm/drm_info.c drivers/gpu/drm/drm_proc.c drivers/gpu/drm/i915/i915_gem_debugfs.c commit 55d1d26f23383163a256d0de2aaf2b8fca83e611 Author: H. Peter Anvin Date: Sat Mar 28 16:10:59 2009 -0700 bzip2/lzma: consistently capitalize LZMA in Kconfig Impact: message formatting Consistently spell LZMA in all capitals, since it (unlike gzip or bzip2) is an acronym. Signed-off-by: H. Peter Anvin commit 337bed413e9c134c5bf45ad3ec50012a593c603a Author: H. Peter Anvin Date: Sat Mar 28 16:07:13 2009 -0700 bzip2/lzma: clarify the meaning of the CONFIG_RD_ options Impact: Kconfig clarification Make it clear that the CONFIG_RD_* options are about what formats are supported, not about what formats are actually being used. Signed-off-by: H. Peter Anvin commit 73d8a12f05292d86623b4ec7bf5fd75d5ad5f687 Author: H. Peter Anvin Date: Sat Mar 28 15:49:08 2009 -0700 bzip2/lzma: move CONFIG_RD_* options under CONFIG_EMBEDDED Impact: reduce Kconfig noise Move the options that control possible initramfs/initrd compressions underneath CONFIG_EMBEDDED. The only impact of leaving these options set to y is additional code in the init section of the kernel; there is no reason to burden non-embedded users with these options. Signed-off-by: H. Peter Anvin commit 38a6ed3ed8e108b662f4016a1ebf068dcf4c1ef4 Merge: f2d28a2... 7c730cc... Author: Ingo Molnar Date: Sat Mar 28 23:34:14 2009 +0100 Merge branch 'linus' into core/printk commit d00ab2fdd4dc4361c97777bc1fef7234329d4659 Merge: 88f502f... 7c730cc... Author: Ingo Molnar Date: Sat Mar 28 23:24:12 2009 +0100 Merge branch 'linus' into core/futexes commit b0d44c0dbbd52effb731b1c0af9afd56215c48de Merge: 9537a48... 7c730cc... Author: Ingo Molnar Date: Sat Mar 28 23:05:50 2009 +0100 Merge branch 'linus' into core/iommu Conflicts: arch/x86/Kconfig commit 3fab191002b184e4390aa07c7149c6cc7b638ec7 Merge: 93394a7... 7c730cc... Author: Ingo Molnar Date: Sat Mar 28 22:27:45 2009 +0100 Merge branch 'linus' into x86/core commit 93394a761d78503f11d05b1a7b23d5a9ccc8dad2 Merge: 7051113... 5c8cd82... 9f4f25c... Author: Ingo Molnar Date: Sat Mar 28 22:27:35 2009 +0100 Merge branches 'x86/apic', 'x86/cleanups' and 'x86/mm' into x86/core commit 07d43ba98621f08e252a48c96b258b4d572b0257 Merge: 0fe41b8... 09b8ce0... Author: Linus Torvalds Date: Sat Mar 28 14:04:53 2009 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c-core: Some style cleanups i2c-piix4: Add support for the Broadcom HT1100 chipset i2c-piix4: Add support to SB800 SMBus changes i2c-pca-platform: Use defaults if no platform_data given i2c-algo-pca: Use timeout for checking the state machine i2c-algo-pca: Rework waiting for a free bus i2c-algo-pca: Add PCA9665 support i2c: Adapt debug macros for KERN_* constants i2c-davinci: Fix timeout handling i2c: Adapter timeout is in jiffies i2c: Set a default timeout value for all adapters i2c: Add missing KERN_* constants to printks i2c-algo-pcf: Handle timeout correctly i2c-algo-pcf: Style cleanups eeprom/at24: Remove EXPERIMENTAL i2c-nforce2: Add support for MCP67, MCP73, MCP78S and MCP79 i2c: Clarify which clients are auto-removed i2c: Let checkpatch shout on users of the legacy model i2c: Document the different ways to instantiate i2c devices commit 0fe41b8982001cd14ee2c77cd776735a5024e98b Merge: eedf2c5... 9759d22... Author: Linus Torvalds Date: Sat Mar 28 14:03:14 2009 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (422 commits) [ARM] 5435/1: fix compile warning in sanity_check_meminfo() [ARM] 5434/1: ARM: OMAP: Fix mailbox compile for 24xx [ARM] pxa: fix the bad assumption that PCMCIA sockets always start with 0 [ARM] pxa: fix Colibri PXA300 and PXA320 LCD backlight pins imxfb: Fix TFT mode i.MX21/27: remove ifdef CONFIG_FB_IMX imxfb: add clock support mxc: add arch_reset() function clkdev: add possibility to get a clock based on the device name i.MX1: remove fb support from mach-imx [ARM] pxa: build arch/arm/plat-pxa/mfp.c only when PXA3xx or ARCH_MMP defined Gemini: Add support for Teltonika RUT100 Gemini: gpiolib based GPIO support v2 MAINTAINERS: add myself as Gemini architecture maintainer ARM: Add Gemini architecture v3 [ARM] OMAP: Fix compile for omap2_init_common_hw() MAINTAINERS: Add myself as Faraday ARM core variant maintainer ARM: Add support for FA526 v2 [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h [ARM] collie: fix two minor formatting nits ... commit eedf2c5296a8dfaaf9aec1a938c1d3bd73159a30 Merge: 0151f94... df52092... Author: Linus Torvalds Date: Sat Mar 28 14:00:33 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30 * git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30: fastboot: remove duplicate unpack_to_rootfs() ide/net: flip the order of SATA and network init async: remove the temporary (2.6.29) "async is off by default" code Fix up conflicts in init/initramfs.c manually commit 0151f94f2e61c39858e714a5d92244b0e5a7fdf5 Merge: 7c730cc... d6879c5... Author: Linus Torvalds Date: Sat Mar 28 13:55:49 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin arch: be less noisy when gets a gpio conflict after kernel has booted Blackfin arch: add RSI's definitions to bf514 and bf516 Blackfin arch: add link-time asserts to make sure on-chip regions dont overflow Blackfin arch: sport spi needs 6 gpio pins Blackfin arch: add sport-spi related resource stuff to board file Blackfin arch: Blacklist Hibernate (PM_SUSPEND_MEM) on BF561 as well Blackfin arch: Privide BF537-STAMP platform data of ADP5520 Multifunction driver Blackfin arch: enable the platfrom PATA driver with CF Cards Blackfin arch: clean up sports header file Blackfin arch: convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x Blackfin arch: bf51x processors also have 8 timers Blackfin arch: add a check to make sure only Blackfin GPIOs may generate IRQs Blackfin arch: update default kernel configuration Blackfin arch: include linux headers that this one uses definitions from fro sport drivers commit 3c8c45dfab78a1919f6f8a3ea46998c487eb7e12 Author: Chuck Lever Date: Wed Mar 18 20:48:14 2009 -0400 NFS: Simplify logic to compare socket addresses in client.c Callback requests from IPv4 servers are now always guaranteed to be AF_INET, and never mapped IPv4 AF_INET6 addresses. Both nfs_match_client() and nfs_find_client() can now share the same address comparison logic, so fold them together. We can also dispense with of most of the conditional compilation in here. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d188262d60e879800d3a0a768ecbb216d6ef0d40 Merge: f738f51... 9f4c899... Author: Trond Myklebust Date: Sat Mar 28 16:50:58 2009 -0400 Merge commit '9f4c899c0d90e1b51b6864834f3877b47c161a0e' into devel commit 7c730ccdc1188b97f5c8cb690906242c7ed75c22 Merge: 8d735b4... 82268da... Author: Linus Torvalds Date: Sat Mar 28 13:40:20 2009 -0700 Merge branch 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (682 commits) percpu: fix spurious alignment WARN in legacy SMP percpu allocator percpu: generalize embedding first chunk setup helper percpu: more flexibility for @dyn_size of pcpu_setup_first_chunk() percpu: make x86 addr <-> pcpu ptr conversion macros generic linker script: define __per_cpu_load on all SMP capable archs x86: UV: remove uv_flush_tlb_others() WARN_ON percpu: finer grained locking to break deadlock and allow atomic free percpu: move fully free chunk reclamation into a work percpu: move chunk area map extension out of area allocation percpu: replace pcpu_realloc() with pcpu_mem_alloc() and pcpu_mem_free() x86, percpu: setup reserved percpu area for x86_64 percpu, module: implement reserved allocation and use it for module percpu variables percpu: add an indirection ptr for chunk page map access x86: make embedding percpu allocator return excessive free space percpu: use negative for auto for pcpu_setup_first_chunk() arguments percpu: improve first chunk initial area map handling percpu: cosmetic renames in pcpu_setup_first_chunk() percpu: clean up percpu constants x86: un-__init fill_pud/pmd/pte x86: remove vestigial fix_ioremap prototypes ... Manually merge conflicts in arch/ia64/kernel/irq_ia64.c commit 09b8ce0a691d8e76f14a16ac6cbfde899f6c68e3 Author: Zhenwen Xu Date: Sat Mar 28 21:34:46 2009 +0100 i2c-core: Some style cleanups Some lines over 80. The printk(KERN_ERR ... ) should be dev_err. And some blankspace should be deleted. Signed-off-by: Zhenwen Xu Signed-off-by: Jean Delvare commit 506a8b6c27cb08998dc13069fbdf6eb7ec748b99 Author: Flavio Leitner Date: Sat Mar 28 21:34:46 2009 +0100 i2c-piix4: Add support for the Broadcom HT1100 chipset Add support for the Broadcom HT1100 LD chipset (SMBus function.) Signed-off-by: Flavio Leitner Signed-off-by: Jean Delvare commit 87e1960e93fe792c4f4344a6f3a970f9573c76aa Author: Shane Huang Date: Sat Mar 28 21:34:46 2009 +0100 i2c-piix4: Add support to SB800 SMBus changes Add support for the AMD SB800 Family series of products. Major changes include the changes to addressing the SMBus registers at different location from the locations in the previous compatible parts from AMD such as SB400/SB600/SB700. For SB800, the main features and register definitions of SMBus and other interfaces are still compatible with the previous products with the only change being in how to access the internal registers for these blocks. Signed-off-by: Shane Huang Signed-off-by: Jean Delvare commit 6b110d13aacc9c4ef5f01af12a5e2b7f1d23f106 Author: Wolfram Sang Date: Sat Mar 28 21:34:45 2009 +0100 i2c-pca-platform: Use defaults if no platform_data given Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 2378bc09b91b0702fac7823828a614fd8016a29f Author: Wolfram Sang Date: Sat Mar 28 21:34:45 2009 +0100 i2c-algo-pca: Use timeout for checking the state machine We now timeout also if the state machine does not change within the given time. For that, the driver-specific completion-functions are extended to return true or false depending on the timeout. This then gets checked in the algorithm. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 8e99ada8deaa9033600cd2c7d0a9366b0e99ab68 Author: Wolfram Sang Date: Sat Mar 28 21:34:45 2009 +0100 i2c-algo-pca: Rework waiting for a free bus Waiting for a free bus now accepts the timeout value in jiffies and does proper checking using time_before. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit eff9ec95efaaf6b12d230f0ea7d3c295d3bc9d57 Author: Marco Aurelio da Costa Date: Sat Mar 28 21:34:44 2009 +0100 i2c-algo-pca: Add PCA9665 support Add support for the PCA9665 I2C controller. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit bac3e7c2aa2575a1c71f6fa643499676ca7c12c3 Author: Frank Seidel Date: Sat Mar 28 21:34:44 2009 +0100 i2c: Adapt debug macros for KERN_* constants According to kerneljanitors todo list all printk calls (beginning a new line) should have an according KERN_* constant. Those are the changes to the debug macros in the i2c subsystem to meet this requirement. Also changing no-debug statements to raw printks again. Signed-off-by: Frank Seidel Signed-off-by: Jean Delvare Tested-by: Wolfram Sang commit 98a679cad56c0ba4677821836179abbe0aff8769 Author: Jean Delvare Date: Sat Mar 28 21:34:43 2009 +0100 i2c-davinci: Fix timeout handling Properly set the adapter timeout value in jiffies, and then use that value in the driver, rather than a hard-coded constant. Signed-off-by: Jean Delvare Tested-by: Troy Kisky Cc: Kevin Hilman commit 8a52c6b4d55b2960d93a90a7cf6afd252357fa54 Author: Jean Delvare Date: Sat Mar 28 21:34:43 2009 +0100 i2c: Adapter timeout is in jiffies i2c_adapter.timeout is in jiffies. Fix all drivers which thought otherwise. It didn't really matter as long as the value was only used inside the driver, but soon i2c-core will use it too so it must have the proper unit. Note: for the i2c-mpc driver, this fixes a bug in polling mode. Timeout would trigger after 1 jiffy, which is most probably not what the author wanted. Signed-off-by: Jean Delvare Cc: Clifford Wolf Acked-by: Sean MacLennan Cc: Stefan Roese Acked-by: Lennert Buytenhek Cc: Dan Williams Cc: Grant Likely Acked-by: Mark A. Greer commit 8fcfef6e65c5b58e6482eae0b793319c8d9efd44 Author: Jean Delvare Date: Sat Mar 28 21:34:43 2009 +0100 i2c: Set a default timeout value for all adapters Setting a default timeout value on a per-algo basis doesn't make any sense. Move the default value setting to i2c-core. Individual adapter drivers can specify a different (non-zero) value if they wish. Also express the timeout value in a way which results in the same duration regarless of the value of HZ. Signed-off-by: Jean Delvare Acked-by: Wolfram Sang commit 154d22b04ae1741c5fcfd5d747b813a9a279abff Author: Frank Seidel Date: Sat Mar 28 21:34:42 2009 +0100 i2c: Add missing KERN_* constants to printks According to kerneljanitors todo list all printk calls (beginning a new line) should have an according KERN_* constant. Those are the missing pieces here for the i2c subsystem. Signed-off-by: Frank Seidel Signed-off-by: Jean Delvare commit 94d78e180c0323422854bc1718e657ac2d0cac1b Author: Roel Kluin Date: Sat Mar 28 21:34:42 2009 +0100 i2c-algo-pcf: Handle timeout correctly With a postfix decrement these timeouts reach -1 rather than 0, but after the loop it is tested whether they have become 0. As pointed out by Jean Delvare, the msg_num should be tested before the timeout. With the current order, you could exit with a timeout error while all the messages were successfully transferred. Signed-off-by: Roel Kluin Signed-off-by: Jean Delvare Acked-by: Eric Brower commit 0c168ceb9e1898a7f2895e80ce9915835b083bd3 Author: Roel Kluin Date: Sat Mar 28 21:34:42 2009 +0100 i2c-algo-pcf: Style cleanups cleanup whitespace, fix comments and remove the unused STUB_I2C. Signed-off-by: Roel Kluin Signed-off-by: Jean Delvare Acked-by: Eric Brower commit 781b8a2a31b7009a0baa8d700feafa6afc3fb861 Author: Wolfram Sang Date: Sat Mar 28 21:34:41 2009 +0100 eeprom/at24: Remove EXPERIMENTAL This driver has been widely used since inclusion and no problems have been reported. Signed-off-by: Wolfram Sang Cc: David Brownell Signed-off-by: Jean Delvare commit d2dd14ac1847082d4bb955619e86ed315c0ecd20 Author: Jean Delvare Date: Sat Mar 28 21:34:41 2009 +0100 i2c-nforce2: Add support for MCP67, MCP73, MCP78S and MCP79 The MCP78S and MCP79 appear to be compatible with the previous nForce chips as far as the SMBus controller is concerned. The MCP67 and MCP73 were not tested yet but I'd be very surprised if they weren't compatible too. Signed-off-by: Jean Delvare Cc: Oleg Ryjkov Cc: Malcolm Lalkaka Cc: Zbigniew Luszpinski commit acec211ca605d79083058e6037bbf131c3f993fc Author: Jean Delvare Date: Sat Mar 28 21:34:40 2009 +0100 i2c: Clarify which clients are auto-removed The automatic removal of i2c clients only affects the clients which were created automatically in the first place. Add a comment saying that to avoid any confusion. Signed-off-by: Jean Delvare commit f02e3d74e9f89e3d49284e7c99217993b657f5b7 Author: Jean Delvare Date: Sat Mar 28 21:34:40 2009 +0100 i2c: Let checkpatch shout on users of the legacy model As suggested by Mauro Carvalho Chehab. Signed-off-by: Jean Delvare Cc: Mauro Carvalho Chehab commit 764c16918fb2347b3cbc8f6030b2b6561911bc32 Author: Jean Delvare Date: Sat Mar 28 21:34:40 2009 +0100 i2c: Document the different ways to instantiate i2c devices On popular demand, here comes some documentation about how to instantiate i2c devices in the new (standard) i2c device driver binding model. I have also clarified how the class bitfield lets driver authors control which buses are probed in the auto-detect case, and warned more loudly against the abuse of this method. Signed-off-by: Jean Delvare Acked-by: Michael Lawnick Acked-by: Hans Verkuil commit 8d735b4148d46446e64d72b22ef0344ee8dc02fa Merge: d54b353... 66f3e6a... Author: Linus Torvalds Date: Sat Mar 28 13:31:33 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix kstat_this_cpu build breakage commit d54b3538b0bfb31351d02d1669d4a978d2abfc5f Merge: 5d80f8e... af50bb9... Author: Linus Torvalds Date: Sat Mar 28 13:30:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (119 commits) [SCSI] scsi_dh_rdac: Retry for NOT_READY check condition [SCSI] mpt2sas: make global symbols unique [SCSI] sd: Make revalidate less chatty [SCSI] sd: Try READ CAPACITY 16 first for SBC-2 devices [SCSI] sd: Refactor sd_read_capacity() [SCSI] mpt2sas v00.100.11.15 [SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h [SCSI] ch: Add scsi type modalias [SCSI] 3w-9xxx: add power management support [SCSI] bsg: add linux/types.h include to bsg.h [SCSI] cxgb3i: fix function descriptions [SCSI] libiscsi: fix possbile null ptr session command cleanup [SCSI] iscsi class: remove host no argument from session creation callout [SCSI] libiscsi: pass session failure a session struct [SCSI] iscsi lib: remove qdepth param from iscsi host allocation [SCSI] iscsi lib: have lib create work queue for transmitting IO [SCSI] iscsi class: fix lock dep warning on logout [SCSI] libiscsi: don't cap queue depth in iscsi modules [SCSI] iscsi_tcp: replace scsi_debug/tcp_debug logging with iscsi conn logging [SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging ... commit 9759d22c8348343b0da4e25d6150c41712686c14 Merge: ed40d0c... f0bba9f... Author: Russell King Date: Sat Mar 28 20:30:18 2009 +0000 Merge branch 'master' into devel Conflicts: arch/arm/include/asm/elf.h arch/arm/kernel/module.c commit ed40d0c472b136682b2fcba05f89762859c7374f Merge: 9e49583... 5d80f8e... Author: Russell King Date: Sat Mar 28 20:29:51 2009 +0000 Merge branch 'origin' into devel Conflicts: sound/soc/pxa/pxa2xx-i2s.c commit f0bba9f934517533acbda7329be93f55d5a01c03 Author: Mikael Pettersson Date: Sat Mar 28 19:18:05 2009 +0100 [ARM] 5435/1: fix compile warning in sanity_check_meminfo() Compiling recent 2.6.29-rc kernels for ARM gives me the following warning: arch/arm/mm/mmu.c: In function 'sanity_check_meminfo': arch/arm/mm/mmu.c:697: warning: comparison between pointer and integer This is because commit 3fd9825c42c784a59b3b90bdf073f49d4bb42a8d "[ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo()" in 2.6.29-rc5-git4 added a comparison of a pointer with PAGE_OFFSET, which is an integer. Fixed by casting PAGE_OFFSET to void *. Signed-off-by: Mikael Pettersson Acked-by: Nicolas Pitre Signed-off-by: Russell King commit df52092f3c97788592ef72501a43fb7ac6a3cfe0 Author: Li, Shaohua Date: Wed Aug 13 17:26:01 2008 +0800 fastboot: remove duplicate unpack_to_rootfs() we check if initrd is initramfs first and then do the real unpack. The check isn't required, we can directly do unpack. If the initrd isn't an initramfs, we can remove the garbage. In my laptop, this saves 0.1s boot time. This patch penalizes non-initramfs initrd case, but nowadays, initramfs is the most widely used method for initrds. Signed-off-by: Shaohua Li Acked-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 0c406263f0a22b9fad65404cf2b14eced0739485 Author: Arjan van de Ven Date: Mon Jan 26 18:58:11 2009 -0800 ide/net: flip the order of SATA and network init this patch flips the order in which sata and network drivers are initialized. SATA probing takes quite a bit of time, and with the asynchronous infrastructure other drivers that run after it can execute in parallel. Network drivers do tend to take some real time talking to the hardware, so running these later is a good thing (the sata probe then runs concurrent) This saves about 15% of my kernels boot time. Both Dave and Jeff acked this patch and suggested it should go via the async tree. Signed-off-by: Arjan van de Ven Acked-by: David S. Miller Acked-by: Jeff Garzik commit 9710794383ee5008d67f1a6613a4717bf6de47bc Author: Arjan van de Ven Date: Sun Mar 15 11:11:44 2009 -0700 async: remove the temporary (2.6.29) "async is off by default" code Now that everyone has been able to test the async code (and it's being used in the Moblin betas by default), we can enable it by default. The various fixes needed have gone into 2.6.29 already. [With an important bugfix from Stefan Richter] Signed-off-by: Arjan van de Ven commit f738f5170367b367e38b2d75a413e7b3c52d46a5 Author: Chuck Lever Date: Wed Mar 18 20:48:06 2009 -0400 NFS: Start PF_INET6 callback listener only if IPv6 support is available Apparently a lot of people need to disable IPv6 completely on their distributor-built systems, which have CONFIG_IPV6_MODULE enabled at build time. They do this by blacklisting the ipv6.ko module. This causes the creation of the NFSv4 callback service listener to fail if CONFIG_IPV6_MODULE is set, but the module cannot be loaded. Now that the kernel's PF_INET6 RPC listeners are completely separate from PF_INET listeners, we can always start PF_INET. Then the NFS client can try to start a PF_INET6 listener, but it isn't required to be available. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit eb16e907781a9da7f272a3e8284c26bc4e4aeb9d Author: Chuck Lever Date: Wed Mar 18 20:47:59 2009 -0400 lockd: Start PF_INET6 listener only if IPv6 support is available Apparently a lot of people need to disable IPv6 completely on their distributor-built systems, which have CONFIG_IPV6_MODULE enabled at build time. They do this by blacklisting the ipv6.ko module. This causes the creation of the lockd service listener to fail if CONFIG_IPV6_MODULE is set, but the module cannot be loaded. Now that the kernel's PF_INET6 RPC listeners are completely separate from PF_INET listeners, we can always start PF_INET. Then lockd can try to start PF_INET6, but it isn't required to be available. Note this has the added benefit that NLM callbacks from AF_INET6 servers will never come from AF_INET remotes. We no longer have to worry about matching mapped IPv4 addresses to AF_INET when comparing addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9355982830ad67dca35e0f3d43319f3d438f82b4 Author: Chuck Lever Date: Wed Mar 18 20:47:51 2009 -0400 SUNRPC: Remove CONFIG_SUNRPC_REGISTER_V4 We just augmented the kernel's RPC service registration code so that it automatically adjusts to what is supported in user space. Thus we no longer need the kernel configuration option to enable registering RPC services with v4 -- it's all done automatically. This patch is part of a series that addresses http://bugzilla.kernel.org/show_bug.cgi?id=12256 Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 363f724cdd3d2ae554e261be995abdeb15f7bdd9 Author: Chuck Lever Date: Wed Mar 18 20:47:44 2009 -0400 SUNRPC: rpcb_register() should handle errors silently Move error reporting for RPC registration to rpcb_register's caller. This way the caller can choose to recover silently from certain errors, but report errors it does not recognize. Error reporting for kernel RPC service registration is now handled in one place. This patch is part of a series that addresses http://bugzilla.kernel.org/show_bug.cgi?id=12256 Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cadc0fa534e51e20fdffe1623913c163a18d71b1 Author: Chuck Lever Date: Wed Mar 18 20:47:36 2009 -0400 SUNRPC: Simplify kernel RPC service registration The kernel registers RPC services with the local portmapper with an rpcbind SET upcall to the local portmapper. Traditionally, this used rpcbind v2 (PMAP), but registering RPC services that support IPv6 requires rpcbind v3 or v4. Since we now want separate PF_INET and PF_INET6 listeners for each kernel RPC service, svc_register() will do only one of those registrations at a time. For PF_INET, it tries an rpcb v4 SET upcall first; if that fails, it does a legacy portmap SET. This makes it entirely backwards compatible with legacy user space, but allows a proper v4 SET to be used if rpcbind is available. For PF_INET6, it does an rpcb v4 SET upcall. If that fails, it fails the registration, and thus the transport creation. This let's the kernel detect if user space is able to support IPv6 RPC services, and thus whether it should maintain a PF_INET6 listener for each service at all. This provides complete backwards compatibilty with legacy user space that only supports rpcbind v2. The only down-side is that registering a new kernel RPC service may take an extra exchange with the local portmapper on legacy systems, but this is an infrequent operation and is done over UDP (no lingering sockets in TIMEWAIT), so it shouldn't be consequential. This patch is part of a series that addresses http://bugzilla.kernel.org/show_bug.cgi?id=12256 Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d5a8620f7c8a5bcade730e2fa1224191f289fb00 Author: Chuck Lever Date: Wed Mar 18 20:47:29 2009 -0400 SUNRPC: Simplify svc_unregister() Our initial implementation of svc_unregister() assumed that PMAP_UNSET cleared all rpcbind registrations for a [program, version] tuple. However, we now have evidence that PMAP_UNSET clears only "inet" entries, and not "inet6" entries, in the rpcbind database. For backwards compatibility with the legacy portmapper, the svc_unregister() function also must work if user space doesn't support rpcbind version 4 at all. Thus we'll send an rpcbind v4 UNSET, and if that fails, we'll send a PMAP_UNSET. This simplifies the code in svc_unregister() and provides better backwards compatibility with legacy user space that does not support rpcbind version 4. We can get rid of the conditional compilation in here as well. This patch is part of a series that addresses http://bugzilla.kernel.org/show_bug.cgi?id=12256 Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 1673d0de40ab46cac3b456ad50e1c8d6a31bfd66 Author: Chuck Lever Date: Wed Mar 18 20:47:21 2009 -0400 SUNRPC: Allow callers to pass rpcb_v4_register a NULL address The user space TI-RPC library uses an empty string for the universal address when unregistering all target addresses for [program, version]. The kernel's rpcb client should behave the same way. Here, we are switching between several registration methods based on the protocol family of the incoming address. Rename the other rpcbind v4 registration functions to make it clear that they, as well, are switched on protocol family. In /etc/netconfig, this is either "inet" or "inet6". NB: The loopback protocol families are not supported in the kernel. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 126e4bc3b3b446482696377f67a634c76eaf2e9c Author: Chuck Lever Date: Wed Mar 18 20:47:14 2009 -0400 SUNRPC: rpcbind actually interprets r_owner string RFC 1833 has little to say about the contents of r_owner; it only specifies that it is a string, and states that it is used to control who can UNSET an entry. Our port of rpcbind (from Sun) assumes this string contains a numeric UID value, not alphabetical or symbolic characters, but checks this value only for AF_LOCAL RPCB_SET or RPCB_UNSET requests. In all other cases, rpcbind ignores the contents of the r_owner string. The reference user space implementation of rpcb_set(3) uses a numeric UID for all SET/UNSET requests (even via the network) and an empty string for all other requests. We emulate that behavior here to maintain bug-for-bug compatibility. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 3aba45536fe8f92aa07bcdfd2fb1cf17eec7d786 Author: Chuck Lever Date: Wed Mar 18 20:47:06 2009 -0400 SUNRPC: Clean up address type casts in rpcb_v4_register() Clean up: Simplify rpcb_v4_register() and its helpers by moving the details of sockaddr type casting to rpcb_v4_register()'s helper functions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ba5c35e0c7e30b095636cd58b0854fdbd3c32947 Author: Chuck Lever Date: Wed Mar 18 20:46:59 2009 -0400 SUNRPC: Don't return EPROTONOSUPPORT in svc_register()'s helpers The RPC client returns -EPROTONOSUPPORT if there is a protocol version mismatch (ie the remote RPC server doesn't support the RPC protocol version sent by the client). Helpers for the svc_register() function return -EPROTONOSUPPORT if they don't recognize the passed-in IPPROTO_ value. These are two entirely different failure modes. Have the helpers return -ENOPROTOOPT instead of -EPROTONOSUPPORT. This will allow callers to determine more precisely what the underlying problem is, and decide to report or recover appropriately. This patch is part of a series that addresses http://bugzilla.kernel.org/show_bug.cgi?id=12256 Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fc28decdc93633a65d54e42498e9e819d466329c Author: Chuck Lever Date: Wed Mar 18 20:46:51 2009 -0400 SUNRPC: Use IPv4 loopback for registering AF_INET6 kernel RPC services The kernel uses an IPv6 loopback address when registering its AF_INET6 RPC services so that it can tell whether the local portmapper is actually IPv6-enabled. Since the legacy portmapper doesn't listen on IPv6, however, this causes a long timeout on older systems if the kernel happens to try creating and registering an AF_INET6 RPC service. Originally I wanted to use a connected transport (either TCP or connected UDP) so that the upcall would fail immediately if the portmapper wasn't listening on IPv6, but we never agreed on what transport to use. In the end, it's of little consequence to the kernel whether the local portmapper is listening on IPv6. It's only important whether the portmapper supports rpcbind v4. And the kernel can't tell that at all if it is sending requests via IPv6 -- the portmapper will just ignore them. So, send both rpcbind v2 and v4 SET/UNSET requests via IPv4 loopback to maintain better backwards compatibility between new kernels and legacy user space, and prevent multi-second hangs in some cases when the kernel attempts to register RPC services. This patch is part of a series that addresses http://bugzilla.kernel.org/show_bug.cgi?id=12256 Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7d21c0f9845f0ce4e81baac3519fbb2c6c2cc908 Author: Chuck Lever Date: Wed Mar 18 20:46:44 2009 -0400 SUNRPC: Set IPV6ONLY flag on PF_INET6 RPC listener sockets We are about to convert to using separate RPC listener sockets for PF_INET and PF_INET6. This echoes the way IPv6 is handled in user space by TI-RPC, and eliminates the need for ULPs to worry about mapped IPv4 AF_INET6 addresses when doing address comparisons. Start by setting the IPV6ONLY flag on PF_INET6 RPC listener sockets. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 26298caacac3e4754194b13aef377706d5de6cf6 Author: Chuck Lever Date: Wed Mar 18 20:46:36 2009 -0400 NFS: Revert creation of IPv6 listeners for lockd and NFSv4 callbacks We're about to convert over to using separate PF_INET and PF_INET6 listeners, instead of a single PF_INET6 listener that also receives AF_INET requests and maps them to AF_INET6. Clear the way by removing the logic in lockd and the NFSv4 callback server that creates an AF_INET6 service listener. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 49a9072f29a1039f142ec98b44a72d7173651c02 Author: Chuck Lever Date: Wed Mar 18 20:46:29 2009 -0400 SUNRPC: Remove @family argument from svc_create() and svc_create_pooled() Since an RPC service listener's protocol family is specified now via svc_create_xprt(), it no longer needs to be passed to svc_create() or svc_create_pooled(). Remove that argument from the synopsis of those functions, and remove the sv_family field from the svc_serv struct. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9652ada3fb5914a67d8422114e8a76388330fa79 Author: Chuck Lever Date: Wed Mar 18 20:46:21 2009 -0400 SUNRPC: Change svc_create_xprt() to take a @family argument The sv_family field is going away. Pass a protocol family argument to svc_create_xprt() instead of extracting the family from the passed-in svc_serv struct. Again, as this is a listener socket and not an address, we make this new argument an "int" protocol family, instead of an "sa_family_t." Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit baf01caf09e87579c2d157e5ee29975db8551522 Author: Chuck Lever Date: Wed Mar 18 20:46:13 2009 -0400 SUNRPC: svc_setup_socket() gets protocol family from socket Since the sv_family field is going away, modify svc_setup_socket() to extract the protocol family from the passed-in socket instead of from the passed-in svc_serv struct. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4b62e58cccff9c5e7ffc7023f7ec24c75fbd549b Author: Chuck Lever Date: Wed Mar 18 20:46:06 2009 -0400 SUNRPC: Pass a family argument to svc_register() The sv_family field is going away. Instead of using sv_family, have the svc_register() function take a protocol family argument. Since this argument represents a protocol family, and not an address family, this argument takes an int, as this is what is passed to sock_create_kern(). Also make sure svc_register's helpers are checking for PF_FOO instead of AF_FOO. The value of [AP]F_FOO are equivalent; this is simply a symbolic change to reflect the semantics of the value stored in that variable. sock_create_kern() should return EPFNOSUPPORT if the passed-in protocol family isn't supported, but it uses EAFNOSUPPORT for this case. We will stick with that tradition here, as svc_register() is called by the RPC server in the same path as sock_create_kern(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 156e62094a74cf43f02f56ef96b6cda567501357 Author: Chuck Lever Date: Wed Mar 18 20:45:58 2009 -0400 SUNRPC: Clean up svc_find_xprt() calling sequence Clean up: add documentating comment and use appropriate data types for svc_find_xprt()'s arguments. This also eliminates a mixed sign comparison: @port was an int, while the return value of svc_xprt_local_port() is an unsigned short. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit adbbe929569e6eec8ff9feca23f1f2b40b42853d Author: Chuck Lever Date: Wed Mar 18 20:45:51 2009 -0400 NFSD: If port value written to /proc/fs/nfsd/portlist is invalid, return EINVAL Make sure port value read from user space by write_ports is valid before passing it to svc_find_xprt(). If it wasn't, the writer would get ENOENT instead of EINVAL. Noticed-by: J. Bruce Fields Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit efb3288b423d7e3533a68dccecaa05a56a281a4e Author: Chuck Lever Date: Wed Mar 18 20:45:43 2009 -0400 SUNRPC: Clean up static inline functions in svc_xprt.h Clean up: Enable the use of const arguments in higher level svc_ APIs by adding const to the arguments of the helper functions in svc_xprt.h Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 776bd5c7a207de546918f805090bfc823d2660c8 Author: Chuck Lever Date: Wed Mar 18 20:45:28 2009 -0400 SUNRPC: Don't flag empty RPCB_GETADDR reply as bogus In 2007, commit e65fe3976f594603ed7b1b4a99d3e9b867f573ea added additional sanity checking to rpcb_decode_getaddr() to make sure we were getting a reply that was long enough to be an actual universal address. If the uaddr string isn't long enough, the XDR decoder returns EIO. However, an empty string is a valid RPCB_GETADDR response if the requested service isn't registered. Moreover, "::.n.m" is also a valid RPCB_GETADDR response for IPv6 addresses that is shorter than rpcb_decode_getaddr()'s lower limit of 11. So this sanity check introduced a regression for rpcbind requests against IPv6 remotes. So revert the lower bound check added by commit e65fe3976f594603ed7b1b4a99d3e9b867f573ea, and add an explicit check for an empty uaddr string, similar to libtirpc's rpcb_getaddr(3). Pointed-out-by: Jeff Layton Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 01522df346f846906eaf6ca57148641476209909 Author: Michael K. Johnson Date: Fri Mar 27 13:14:41 2009 -0400 x86, setup: mark %esi as clobbered in E820 BIOS call Jordan Hargrave diagnosed a BIOS clobbering %esi in the E820 call. That particular BIOS has been fixed, but there is a possibility that this is responsible for other occasional reports of early boot failure, and it does not hurt to add %esi to the clobbers. -stable candidate patch. Cc: Justin Forbes Signed-off-by: Michael K Johnson Signed-off-by: H. Peter Anvin Cc: stable@kernel.org commit 9e495834e59ca9b29f1a1f63b9f5533bb022ac49 Author: Tony Lindgren Date: Sat Mar 28 18:53:31 2009 +0100 [ARM] 5434/1: ARM: OMAP: Fix mailbox compile for 24xx OMAP34XX_MAILBOX_BASE must be defined both for 24xx and 34xx. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit d6879c585b7f8c2f3eb2f7e7beac806af4e9755c Author: Robin Getz Date: Sun Mar 29 01:10:30 2009 +0800 Blackfin arch: be less noisy when gets a gpio conflict after kernel has booted Once the kernel has booted - be less noisy when someone does a modprobe (and gets a gpio conflict). Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit abd750a0fa731f9fd568526adb96d11322734167 Author: Cliff Cai Date: Sun Mar 29 01:03:20 2009 +0800 Blackfin arch: add RSI's definitions to bf514 and bf516 Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit 4636b3019a76aacc5b01e14bd14cb468fb00940f Author: Mike Frysinger Date: Sun Mar 29 00:47:31 2009 +0800 Blackfin arch: add link-time asserts to make sure on-chip regions dont overflow Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1eb19e30adeb05957b45204f0c04d94fc4662ffd Author: Cliff Cai Date: Sat Mar 28 23:31:43 2009 +0800 Blackfin arch: sport spi needs 6 gpio pins Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit 1e9aa95526c3dfc50e55665c7129469a12593beb Author: Cliff Cai Date: Sat Mar 28 23:28:51 2009 +0800 Blackfin arch: add sport-spi related resource stuff to board file Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit b89df5042300bc08492a567f409c6899863ed8a3 Author: Michael Hennerich Date: Sat Mar 28 23:14:41 2009 +0800 Blackfin arch: Blacklist Hibernate (PM_SUSPEND_MEM) on BF561 as well Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 06705bff9114531a997a7d0c2520bea0f2927410 Author: Theodore Ts'o Date: Sat Mar 28 10:59:57 2009 -0400 ext4: Regularize mount options Add support for using the mount options "barrier" and "nobarrier", and "auto_da_alloc" and "noauto_da_alloc", which is more consistent than "barrier=<0|1>" or "auto_da_alloc=<0|1>". Most other ext3/ext4 mount options use the foo/nofoo naming convention. We allow the old forms of these mount options for backwards compatibility. Signed-off-by: "Theodore Ts'o" commit fd775c084ee55c046548616ca6b510c46d29f208 Merge: dc52b5b... 4d1e4e5... Author: Russell King Date: Sat Mar 28 14:18:11 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel commit dc52b5bf2c94828fd3c8d26f4ca810d4ba53999a Merge: 542f869... d66ea8d... Author: Russell King Date: Sat Mar 28 14:15:43 2009 +0000 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit 3ea57218fde5fe6c2ff449d4c30fc69ac6976096 Author: Michael Hennerich Date: Sat Mar 28 22:15:07 2009 +0800 Blackfin arch: Privide BF537-STAMP platform data of ADP5520 Multifunction driver ADP5520 Multifunction LCD Backlight and Keypad Input Device Driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2c8beb2cbef632a3683950aab8bcd9735a0a0270 Author: Michael Hennerich Date: Sat Mar 28 22:13:43 2009 +0800 Blackfin arch: enable the platfrom PATA driver with CF Cards Provide option to use the platfrom PATA driver with CF Cards on the CF-IDE-NAND Add-On-Card in Common Memory Mode Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 714e76d71d99f00734217e642ba64204df3bdf35 Author: Mike Frysinger Date: Sat Mar 28 20:38:17 2009 +0800 Blackfin arch: clean up sports header file Remove redundancy of the name err_irq Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 269647dc8f3b557d0f9ec59533a5e651cc109efb Author: Mike Frysinger Date: Sat Mar 28 20:32:57 2009 +0800 Blackfin arch: convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x as the defines are redundant in these cases Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ffc89627ae14b46f41836ddabdc9dc77c597eca5 Author: Mike Frysinger Date: Sat Mar 28 20:31:33 2009 +0800 Blackfin arch: bf51x processors also have 8 timers Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e1312bfcc25f9301f997bf1ce84355a0f1167847 Author: Michael Hennerich Date: Sat Mar 28 21:18:45 2009 +0800 Blackfin arch: add a check to make sure only Blackfin GPIOs may generate IRQs Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a66648756f97ea5150875b85a0177c33e41afc1d Author: Sonic Zhang Date: Sat Mar 28 23:46:17 2009 +0800 Blackfin arch: update default kernel configuration Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit d66ea8d4c2aa7199cf4e5c977eb25764e5fc5da9 Author: Marek Vasut Date: Sat Mar 28 17:56:28 2009 +0800 [ARM] pxa: fix the bad assumption that PCMCIA sockets always start with 0 Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit c9b78189f50dcba6e69080268873a62c67e4bc15 Author: Daniel Mack Date: Fri Mar 27 22:00:09 2009 +0100 [ARM] pxa: fix Colibri PXA300 and PXA320 LCD backlight pins Reported-by: Matthias Meier Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 085780d5bb53edbc008156c310ac512aabd23610 Author: Mike Frysinger Date: Sat Mar 28 17:43:01 2009 +0800 Blackfin arch: include linux headers that this one uses definitions from fro sport drivers Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 03ae61dd5701092aabb60a8cae9929dbf8dc25c6 Author: Len Brown Date: Sat Mar 28 01:41:14 2009 -0400 ACPI: fix CONFIG_ACPI=n build drivers/gpu/drm/i915/i915_drv.c:102: error: too many arguments to function ‘intel_opregion_init’ Signed-off-by: Len Brown commit 4303154e86597885bc3cbc178a48ccbc8213875f Author: Etienne Basset Date: Fri Mar 27 17:11:01 2009 -0400 smack: Add a new '-CIPSO' option to the network address label configuration This patch adds a new special option '-CIPSO' to the Smack subsystem. When used in the netlabel list, it means "use CIPSO networking". A use case is when your local network speaks CIPSO and you want also to connect to the unlabeled Internet. This patch also add some documentation describing that. The patch also corrects an oops when setting a '' SMACK64 xattr to a file. Signed-off-by: Etienne Basset Signed-off-by: Paul Moore Acked-by: Casey Schaufler Signed-off-by: James Morris commit 07feee8f812f7327a46186f7604df312c8c81962 Author: Paul Moore Date: Fri Mar 27 17:10:54 2009 -0400 netlabel: Cleanup the Smack/NetLabel code to fix incoming TCP connections This patch cleans up a lot of the Smack network access control code. The largest changes are to fix the labeling of incoming TCP connections in a manner similar to the recent SELinux changes which use the security_inet_conn_request() hook to label the request_sock and let the label move to the child socket via the normal network stack mechanisms. In addition to the incoming TCP connection fixes this patch also removes the smk_labled field from the socket_smack struct as the minor optimization advantage was outweighed by the difficulty in maintaining it's proper state. Signed-off-by: Paul Moore Acked-by: Casey Schaufler Signed-off-by: James Morris commit 8651d5c0b1f874c5b8307ae2b858bc40f9f02482 Author: Paul Moore Date: Fri Mar 27 17:10:48 2009 -0400 lsm: Remove the socket_post_accept() hook The socket_post_accept() hook is not currently used by any in-tree modules and its existence continues to cause problems by confusing people about what can be safely accomplished using this hook. If a legitimate need for this hook arises in the future it can always be reintroduced. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 58bfbb51ff2b0fdc6c732ff3d72f50aa632b67a2 Author: Paul Moore Date: Fri Mar 27 17:10:41 2009 -0400 selinux: Remove the "compat_net" compatibility code The SELinux "compat_net" is marked as deprecated, the time has come to finally remove it from the kernel. Further code simplifications are likely in the future, but this patch was intended to be a simple, straight-up removal of the compat_net code. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 389fb800ac8be2832efedd19978a2b8ced37eb61 Author: Paul Moore Date: Fri Mar 27 17:10:34 2009 -0400 netlabel: Label incoming TCP connections correctly in SELinux The current NetLabel/SELinux behavior for incoming TCP connections works but only through a series of happy coincidences that rely on the limited nature of standard CIPSO (only able to convey MLS attributes) and the write equality imposed by the SELinux MLS constraints. The problem is that network sockets created as the result of an incoming TCP connection were not on-the-wire labeled based on the security attributes of the parent socket but rather based on the wire label of the remote peer. The issue had to do with how IP options were managed as part of the network stack and where the LSM hooks were in relation to the code which set the IP options on these newly created child sockets. While NetLabel/SELinux did correctly set the socket's on-the-wire label it was promptly cleared by the network stack and reset based on the IP options of the remote peer. This patch, in conjunction with a prior patch that adjusted the LSM hook locations, works to set the correct on-the-wire label format for new incoming connections through the security_inet_conn_request() hook. Besides the correct behavior there are many advantages to this change, the most significant is that all of the NetLabel socket labeling code in SELinux now lives in hooks which can return error codes to the core stack which allows us to finally get ride of the selinux_netlbl_inode_permission() logic which greatly simplfies the NetLabel/SELinux glue code. In the process of developing this patch I also ran into a small handful of AF_INET6 cleanliness issues that have been fixed which should make the code safer and easier to extend in the future. Signed-off-by: Paul Moore Acked-by: Casey Schaufler Signed-off-by: James Morris commit 284904aa79466a4736f4c775fdbe5c7407fa136c Author: Paul Moore Date: Fri Mar 27 17:10:28 2009 -0400 lsm: Relocate the IPv4 security_inet_conn_request() hooks The current placement of the security_inet_conn_request() hooks do not allow individual LSMs to override the IP options of the connection's request_sock. This is a problem as both SELinux and Smack have the ability to use labeled networking protocols which make use of IP options to carry security attributes and the inability to set the IP options at the start of the TCP handshake is problematic. This patch moves the IPv4 security_inet_conn_request() hooks past the code where the request_sock's IP options are set/reset so that the LSM can safely manipulate the IP options as needed. This patch intentionally does not change the related IPv6 hooks as IPv6 based labeling protocols which use IPv6 options are not currently implemented, once they are we will have a better idea of the correct placement for the IPv6 hooks. Signed-off-by: Paul Moore Acked-by: David S. Miller Signed-off-by: James Morris commit bb798169d1bb860b07192cf9c75937fadc8610b4 Merge: a106cbf... 5d80f8e... Author: James Morris Date: Sat Mar 28 14:57:13 2009 +1100 Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next commit 82268da1b130f763d22d04f7d016bbf6fc8815c2 Merge: 6e15cf0... 5d80f8e... Author: Ingo Molnar Date: Sat Mar 28 04:21:18 2009 +0100 Merge branch 'linus' into percpu-cpumask-x86-for-linus-2 Conflicts: arch/sparc/kernel/time_64.c drivers/gpu/drm/drm_proc.c Manual merge to resolve build warning due to phys_addr_t type change on x86: drivers/gpu/drm/drm_info.c Signed-off-by: Ingo Molnar commit 98758faffc86ee6fe9504eeab75481ee7c1aa860 Author: Zhang Rui Date: Thu Mar 12 16:57:11 2009 +0800 ACPI video: add a warning message if _BQC is not found ACPI backlight control w/o _BQC support is kinda firmware bug. Add a warning if _BQC is not implemented. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 7faa144a518c456e2057918f030f50100144ccc6 Author: Alexey Starikovskiy Date: Fri Mar 27 22:23:52 2009 -0400 ACPI: battery: add power_{now,avg} properties to power_class ACPI has smart batteries, which work in units of energy and measure rate of (dis)charge as power, thus it is not appropriate to export it as a current_now. Current_now will still be exported to allow for userland applications to match. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 512a004382f2c60d5c4f855476ba965adc00250c Author: Theodore Ts'o Date: Fri Mar 27 22:14:27 2009 -0400 ext3: Use WRITE_SYNC for commits which are caused by fsync() If a commit is triggered by fsync(), set a flag indicating the journal blocks associated with the transaction should be flushed out using WRITE_SYNC. Signed-off-by: "Theodore Ts'o" Acked-by: Jan Kara commit a64c8610bd3b753c6aff58f51c04cdf0ae478c18 Author: Theodore Ts'o Date: Fri Mar 27 22:14:10 2009 -0400 block_write_full_page: Use synchronous writes for WBC_SYNC_ALL writebacks When doing synchronous writes because wbc->sync_mode is set to WBC_SYNC_ALL, send the write request using WRITE_SYNC, so that we don't unduly block system calls such as fsync(). Signed-off-by: "Theodore Ts'o" Acked-by: Jan Kara commit 74a365b3f354fafc537efa5867deb7a9fadbfe27 Author: Matthew Garrett Date: Thu Mar 19 21:35:39 2009 +0000 ACPI: Populate DIDL before registering ACPI video device on Intel Intel graphics hardware that implements the ACPI IGD OpRegion spec requires that the list of display devices be populated before any ACPI video methods are called. Detect when this is the case and defer registration until the opregion code calls it. Fixes crashes on HP laptops. http://bugzilla.kernel.org/show_bug.cgi?id=11259 Signed-off-by: Matthew Garrett Acked-by: Eric Anholt Signed-off-by: Len Brown commit c60d638e29c780b75b648283a197d0226e3576c3 Author: Zhang Rui Date: Wed Mar 18 16:27:18 2009 +0800 ACPI video: support buggy BIOSes with _BCQ implemented Some buggy BIOSes implements _BCQ instead of _BQC. Male ACPI video driver support these buggy BIOS. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 1a7c618a3f7bef1a20ae740df512eeba21397fa5 Author: Zhang Rui Date: Wed Mar 18 16:27:16 2009 +0800 ACPI video: support _BQC/_BCL/_BCM methods that use index values The input/output of _BQC/_BCL/_BCM control methods should be represented by a number between 0 and 100, and can be thought of as a percentage. But some buggy _BQC/_BCL/_BCM methods use the index values instead. http://bugzilla.kernel.org/show_bug.cgi?id=12302 http://bugzilla.kernel.org/show_bug.cgi?id=12249 http://bugzilla.kernel.org/show_bug.cgi?id=12037 Add the functionality to support such kind of BIOSes in ACPI video driver. Signed-off-by: Zhang Rui Acked-by: Matthew Garrett Acked-by: Thomas Renninger Signed-off-by: Len Brown commit d80fb99fdcd56f4934f11cc44ca016463842dc8b Author: Zhang Rui Date: Wed Mar 18 16:27:14 2009 +0800 ACPI video: support reversed _BCL method in ACPI video driver The brightness levels returned by _BCL package are in a reversed order on some laptops. http://bugzilla.kernel.org/show_bug.cgi?id=12037 http://bugzilla.kernel.org/show_bug.cgi?id=12302 http://bugzilla.kernel.org/show_bug.cgi?id=12235 sort the _BCL packge in case it's reversed. Signed-off-by: Zhang Rui Acked-by: Matthew Garrett Acked-by: Thomas Renninger Signed-off-by: Len Brown commit d32f69470c2081ffdfd82740ac19f940790f9e93 Author: Zhang Rui Date: Wed Mar 18 16:27:12 2009 +0800 ACPI video: support _BCL packages that don't export brightness levels when machine is on AC/Battery Many buggy BIOSes don't export the brightness levels when machine is on AC/Battery in the _BCL method. Reformat the _BCL package for these laptops: now the elements in device->brightness->levels[] are like: levels[0]: brightness level when on AC power. levels[1]: brightness level when on Battery power. levels[2]: supported brightness level 1. levels[3]: supported brightness level 2. ... levels[n]: supported brightness level n-1. levels[n + 1]: supported brightness level n. So if there are n supported brightness levels on this laptop, we will have n+2 entries in device->brightnes->levels[]. level[0] and level[1] are invalid on the laptops that don't export the brightness levels on AC/Battery. Fortunately, we never use these two values at all, even for the valid ones. http://bugzilla.kernel.org/show_bug.cgi?id=12249 Signed-off-by: Zhang Rui Acked-by: Matthew Garrett Acked-by: Thomas Renninger Signed-off-by: Len Brown commit 24450c7add575cef53097738f16a4c1a720fa5cb Author: Zhang Rui Date: Wed Mar 18 16:27:10 2009 +0800 ACPI video: check the return value of acpi_video_device_lcd_set_level Signed-off-by: Zhang Rui Acked-by: Matthew Garrett Acked-by: Thomas Renninger Signed-off-by: Len Brown commit c8890f903a6fdf5711726e8e8d65cb13423f8833 Author: Zhang Rui Date: Wed Mar 18 16:27:08 2009 +0800 ACPI video: check the return value of acpi_video_device_lcd_get_level_current Signed-off-by: Zhang Rui Acked-by: Matthew Garrett Acked-by: Thomas Renninger Signed-off-by: Len Brown commit 5d80f8e5a9dc9c9a94d4aeaa567e219a808b8a4a Merge: 7b616c8... 0870352... Author: Linus Torvalds Date: Fri Mar 27 18:35:03 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (166 commits) Revert "ax25: zero length frame filtering in AX25" Revert "netrom: zero length frame filtering in NetRom" cfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi mac80211: fix aggregation to not require queue stop mac80211: add skb length sanity checking mac80211: unify and fix TX aggregation start mac80211: clean up __ieee80211_tx args mac80211: rework the pending packets code mac80211: fix A-MPDU queue assignment mac80211: rewrite fragmentation iwlwifi: show current driver status in user readable format b43: Add BCM4307 PCI-ID cfg80211: fix locking in nl80211_set_wiphy mac80211: fix RX path ath5k: properly drop packets from ops->tx ar9170: single module build ath9k: fix dma mapping leak of rx buffer upon rmmod rt2x00: New USB ID for rt73usb ath5k: warn and correct rate for unknown hw rate indexes ... commit 7b616c8a2f5c8507b4aed6907336ec5b85803a39 Merge: febb02b... 6e8a4fa... Author: Linus Torvalds Date: Fri Mar 27 18:34:34 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: We need to use compat_sys_ustat() as well. sparc64: Fix MM refcount check in smp_flush_tlb_pending(). commit febb02bdfe5e2c6ceaa0a38d8b7afca3d98f415a Merge: 0b4d569... 32a0f48... Author: Linus Torvalds Date: Fri Mar 27 18:33:56 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (53 commits) DVB: firedtv: FireDTV S2 problems with tuning solved DVB: firedtv: fix printk format mismatch ieee1394: constify device ID tables ieee1394: raw1394: add sparse annotations to raw1394_compat_write ieee1394: Storage class should be before const qualifier ieee1394: sbp2: follow up on "ieee1394: inherit ud vendor_id from node vendor_id" firewire: core: optimize propagation of BROADCAST_CHANNEL firewire: core: simplify broadcast channel allocation firewire: core: increase bus manager grace period firewire: core: drop unused call parameters of close_transaction firewire: cdev: add closure to async stream ioctl firewire: cdev: simplify FW_CDEV_IOC_SEND_REQUEST return value firewire: cdev: fix race of ioctl_send_request with bus reset firewire: cdev: secure add_descriptor ioctl firewire: cdev: amendment to "add ioctl to query maximum transmission speed" firewire: broadcast channel support firewire: implement asynchronous stream transmission firewire: core: normalize a function argument name firewire: normalize a variable name firewire: core: remove condition which is always false ... commit a59d1637eb0e0a37ee0e5c92800c60abe3624e24 Author: Pallipadi, Venkatesh Date: Thu Mar 19 14:41:40 2009 -0700 ACPI: cap off P-state transition latency from buggy BIOSes Some BIOSes report very high frequency transition latency which are plainly wrong on CPus that can change frequency using native MSR interface. One such system is IBM T42 (2327-8ZU) as reported by Owen Taylor and Rik van Riel. cpufreq_ondemand driver uses this transition latency to come up with a reasonable sampling interval to sample CPU usage and with such high latency value, ondemand sampling interval ends up being very high (0.5 sec, in this particular case), resulting in performance impact due to slow response to increasing frequency. Fix it by capping-off the transition latency to 20uS for native MSR based frequency transitions. mjg: We've confirmed that this also helps on the X31 Signed-off-by: Venkatesh Pallipadi Acked-by: Matthew Garrett Signed-off-by: Len Brown commit 6e8a4fa651975ff808dba130eae442f4cea1671c Author: David S. Miller Date: Fri Mar 27 18:15:02 2009 -0700 sparc64: We need to use compat_sys_ustat() as well. Sparc was missed in commit 2b1c6bd77d4e6a727ffac8630cd154b2144b751a ("generic compat_sys_ustat"). We definitely need it, since our __kernel_ino_t is "unsigned long". Signed-off-by: David S. Miller commit e1eb47797ac0773cb3efe7495e14fc26e18a23c2 Author: Stanislaw Gruszka Date: Tue Mar 24 13:41:59 2009 +0100 ACPI: Avoid wiping out pr->performance during preregistering When cpufreq driver call acpi_processor_preregister_performance() , function will clean up pr->performance even if there is possibly already registered other cpufreq driver. The patch fix this potential problem. It also remove double checks in P domain basic validity code and move these checks to function where _PSD data is captured. Signed-off-by: Stanislaw Gruszka Signed-off-by: Len Brown commit 0870352bc6e0dee485c86a0c99dd60e7089c8917 Merge: c44a436... 8a5117d... Author: David S. Miller Date: Fri Mar 27 17:35:07 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit c44a4366649aca4f5b4a51ff71d4c9cde3b7c9da Author: David S. Miller Date: Fri Mar 27 17:23:42 2009 -0700 Revert "ax25: zero length frame filtering in AX25" This reverts commit f99bcff7a290768e035f3d4726e103c6ebe858bf. Like netrom, Alan Cox says that zero lengths have real meaning and are useful in this protocol. Signed-off-by: David S. Miller commit 80e20f6f360078b4852eac6825883e5aa25564bb Author: David S. Miller Date: Fri Mar 27 17:22:55 2009 -0700 Revert "netrom: zero length frame filtering in NetRom" This reverts commit a3ac80a130300573de351083cf4a5b46d233e8bf. Alan Cox says that zero length writes do have special meaning and are useful in this protocol. Signed-off-by: David S. Miller commit a83398570e17af6bb81eb94f4f5dd356bd2828d8 Merge: f9384d4... 0b4d569... Author: David S. Miller Date: Fri Mar 27 17:19:16 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 8a5117d80fe93de5df5b56480054f7df1fd20755 Author: Luis R. Rodriguez Date: Tue Mar 24 21:21:07 2009 -0400 cfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n And update description and feature-removal schedule according to the new plan. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e4e72fb4de93e3d4047a4ee3f08778422e17ed0d Author: Johannes Berg Date: Mon Mar 23 17:28:42 2009 +0100 mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi This patch removes all the virtual A-MPDU-queue bookkeeping from mac80211. Curiously, iwlwifi already does its own bookkeeping, so it doesn't require much changes except where it needs to handle starting and stopping the queues in mac80211. To handle the queue stop/wake properly, we rewrite the software queue number for aggregation frames and internally to iwlwifi keep track of the queues that map into the same AC queue, and only talk to mac80211 about the AC queue. The implementation requires calling two new functions, iwl_stop_queue and iwl_wake_queue instead of the mac80211 counterparts. Signed-off-by: Johannes Berg Cc: Reinette Chattre Signed-off-by: John W. Linville commit cd8ffc800ce18e558335c4946b2217864fc16045 Author: Johannes Berg Date: Mon Mar 23 17:28:41 2009 +0100 mac80211: fix aggregation to not require queue stop Instead of stopping the entire AC queue when enabling aggregation (which was only done for hardware with aggregation queues) buffer the packets for each station, and release them to the pending skb queue once aggregation is turned on successfully. We get a little more code, but it becomes conceptually simpler and we can remove the entire virtual queue mechanism from mac80211 in a follow-up patch. This changes how mac80211 behaves towards drivers that support aggregation but have no hardware queues -- those drivers will now not be handed packets while the aggregation session is being established, but only after it has been fully established. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a220858d30604902f650074bfac5a7598bc97ea4 Author: Johannes Berg Date: Mon Mar 23 17:28:40 2009 +0100 mac80211: add skb length sanity checking We just found a bug in zd1211rw where it would reject packets in the ->tx() method but leave them modified, which would cause retransmit attempts with completely bogus skbs, eventually leading to a panic due to not having enough headroom in those. This patch adds a sanity check to mac80211 to catch such driver mistakes; in this case we warn and drop the skb. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b1720231ca07dee3382980f3b25e6581bd2e54e9 Author: Johannes Berg Date: Mon Mar 23 17:28:39 2009 +0100 mac80211: unify and fix TX aggregation start When TX aggregation becomes operational, we do a number of steps: 1) print a debug message 2) wake the virtual queue 3) notify the driver Unfortunately, 1) and 3) are only done if the driver is first to reply to the aggregation request, it is, however, possible that the remote station replies before the driver! Thus, unify the code for this and call the new function ieee80211_agg_tx_operational in both places where TX aggregation can become operational. Additionally, rename the driver notification from IEEE80211_AMPDU_TX_RESUME to IEEE80211_AMPDU_TX_OPERATIONAL. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1870cd71e87da1a1afb904f2c84086f487a07135 Author: Johannes Berg Date: Mon Mar 23 17:28:38 2009 +0100 mac80211: clean up __ieee80211_tx args __ieee80211_tx takes a struct ieee80211_tx_data argument, but only uses a few of its members, namely 'skb' and 'sta'. Make that explicit, so that less internal knowledge is required in ieee80211_tx_pending and the possibility of introducing errors here is removed. Signed-off-by: Johannes Berg Reviewed-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2a577d98712a284a612dd51d69db5cb989810dc2 Author: Johannes Berg Date: Mon Mar 23 17:28:37 2009 +0100 mac80211: rework the pending packets code The pending packets code is quite incomprehensible, uses memory barriers nobody really understands, etc. This patch reworks it entirely, using the queue spinlock, proper stop bits and the skb queues themselves to indicate whether packets are pending or not (rather than a separate variable like before). Signed-off-by: Johannes Berg Reviewed-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f0e72851f7ad108fed20426b46a18ab5fcd5729f Author: Johannes Berg Date: Mon Mar 23 17:28:36 2009 +0100 mac80211: fix A-MPDU queue assignment Internally, mac80211 requires the skb's queue mapping to be set to the AC queue, not the virtual A-MPDU queue. This is not done correctly currently, this patch moves the code down to directly before the driver is invoked and adds a comment that it will be moved into the driver later. Since this requires __ieee80211_tx() to have the sta pointer, make sure to provide it in ieee80211_tx_pending(). Signed-off-by: Johannes Berg Reviewed-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2de8e0d999b8790861cd3749bec2236ccc1c8110 Author: Johannes Berg Date: Mon Mar 23 17:28:35 2009 +0100 mac80211: rewrite fragmentation Fragmentation currently uses an allocated array to store the fragment skbs, and then keeps track of which have been sent and which are still pending etc. This is rather complicated; make it simpler by just chaining the fragments into skb->next and removing from that list when sent. Also simplifies all code that needs to touch fragments, since it now only needs to walk the skb->next list. This is a prerequisite for fixing the stored packet code, which I need to do for proper aggregation packet storing. Signed-off-by: Johannes Berg Reviewed-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 08df05aa9b25f3079585855506022bb33a011183 Author: Wey-Yi Guy Date: Tue Mar 24 10:02:54 2009 -0700 iwlwifi: show current driver status in user readable format change the display of current driver status bit to user readable format for better and easier debugging Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dd970e43d86c253ff159d9668499aaf42d175722 Author: Michael Buesch Date: Tue Mar 24 10:36:48 2009 +0100 b43: Add BCM4307 PCI-ID 00:09.0 Network controller [0280]: Broadcom Corporation BCM4307 Ethernet Controller [14e4:4306] (rev 03) Subsystem: Broadcom Corporation BCM4307 Ethernet Controller [14e4:4306] Flags: bus master, fast devsel, latency 32, IRQ 10 Memory at d7000000 (32-bit, non-prefetchable) [size=8K] Kernel driver in use: b43-pci-bridge Kernel modules: ssb Reported-by: yoann Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4bbf4d56583dd52c429d88f43cb614bdbe5deea6 Author: Johannes Berg Date: Tue Mar 24 09:35:46 2009 +0100 cfg80211: fix locking in nl80211_set_wiphy Luis reports that there's a circular locking dependency; this is because cfg80211_dev_rename() will acquire the cfg80211_mutex while the device mutex is held, while this normally is done the other way around. The solution is to open-code the device-getting in nl80211_set_wiphy and require holding the mutex around cfg80211_dev_rename rather than acquiring it within. Also fix a bug -- rtnl locking is expected by drivers so we need to provide it. Reported-by: Luis R. Rodriguez Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3832c287f11ba001bbe48e9be8c59cb9f71f6b43 Author: Johannes Berg Date: Tue Mar 24 08:46:57 2009 +0100 mac80211: fix RX path My previous patch ("mac80211: remove mixed-cell and userspace MLME code") was too obvious to me, so obvious that a stupid bug crept in. The IBSS RX function must be invoked for IBSS, of course, not anything != IBSS. Reported-by: Larry Finger Signed-off-by: Johannes Berg Tested-by: Larry Finger Signed-off-by: John W. Linville commit 5a0fe8ac70f81b5b91156736066e6445d0dcc61f Author: Bob Copeland Date: Mon Mar 23 23:35:37 2009 -0400 ath5k: properly drop packets from ops->tx We shouldn't return NETDEV_TX_BUSY from the TX callback, especially after we've mucked with the sk_buffs. Drop the packets and return NETDEV_TX_OK. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit de00c04ecbb482507ace2197782123446a1cfdca Author: Christian Lamparter Date: Tue Mar 24 16:21:55 2009 +0100 ar9170: single module build This patch restores all-in-one module build procedure for ar9170. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 051b919188650fe4c93ca8701183ae88439388f6 Author: Luis R. Rodriguez Date: Mon Mar 23 18:25:01 2009 -0400 ath9k: fix dma mapping leak of rx buffer upon rmmod We were claiming DMA buffers on the RX tasklet but never upon a simple module removal. Cc: stable@kernel.org Signed-off-by: FUJITA Tomonori Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 14344b81ec264efbe59de0183f5ba38650a479a6 Author: Ivo van Doorn Date: Sat Mar 21 00:00:57 2009 +0100 rt2x00: New USB ID for rt73usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b726604706ad88d8b28bc487e45e710f58cc19ee Author: Bob Copeland Date: Mon Mar 2 21:55:18 2009 -0500 ath5k: warn and correct rate for unknown hw rate indexes ath5k sets up a mapping table from the hardware rate index to the rate index used by mac80211; however, we have seen some received frames with incorrect rate indexes. Such frames normally get dropped with a warning in __ieee80211_rx(), but it doesn't include enough information to track down the error. This patch adds a warning to hw_to_driver_rix for any lookups that result in a rate index of -1, then returns a valid rate so the frame can be processed. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Cc: stable@kernel.org Signed-off-by: John W. Linville commit a3c0b87c4f21911fb7185902dd13f0e3cd7f33f7 Author: Lorenzo Nava Date: Sun Mar 22 19:15:41 2009 +0100 b43: fix b43_plcp_get_bitrate_idx_ofdm return type This patch fixes the return type of b43_plcp_get_bitrate_idx_ofdm. If the plcp contains an error, the function return value is 255 instead of -1, and the packet was not dropped. This causes a warning in __ieee80211_rx function because rate idx is out of range. Cc: stable@kernel.org Signed-off-by: Lorenzo Nava Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a1bfa0eb98e2fedd05a64a4a8943ea8f6f7c5469 Author: Christian Lamparter Date: Mon Mar 23 15:49:33 2009 +0100 p54: Kconfig maintenance This patch updates p54's Kconfig entry and removes the out-dated device list. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2b874e83c970b45c328ab12239b066a43505454c Author: Johannes Berg Date: Mon Mar 23 14:10:22 2009 +0100 mac80211: rate control status only for controlled packets This patch changes mac80211 to not notify the rate control algorithm's tx_status() method when reporting status for a packet that didn't go through the rate control algorithm's get_rate() method. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4a48e2a484e5cf99da4795cf2d6916e057d533ad Author: Christian Lamparter Date: Mon Mar 23 12:15:43 2009 +0100 ar9170: simplify & deBUG tx_status queueing and reporting This patch simplifies the tx_status report code by using four tx_queues per station instead of only one. (the skb lookup should be in O(1) now :-p ). Also, it fixes a really obvious copy&paste bug in the janitor work code and adds back a few spilled bits to the hardware definition header about QoS. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 04de83815993714a7ba2618f637fa1092a5f664b Author: Kalle Valo Date: Sun Mar 22 21:57:35 2009 +0200 mac80211: add beacon filtering support Add IEEE80211_HW_BEACON_FILTERING flag so that driver inform that it supports beacon filtering. Drivers need to call the new function ieee80211_beacon_loss() to notify about beacon loss. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit a08c1c1ac0c26229ca1ca45d554b209a56edc8be Author: Kalle Valo Date: Sun Mar 22 21:57:28 2009 +0200 cfg80211: add feature to hold bss In beacon filtering there needs to be a way to not expire the BSS even when no beacons are received. Add an interface to cfg80211 to hold BSS and make sure that it's not expired. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9050bdd8589c373e01e41ddbd9a192de2ff01ef0 Author: Kalle Valo Date: Sun Mar 22 21:57:21 2009 +0200 mac80211: disable power save when scanning When software scanning we need to disable power save so that all possible probe responses and beacons are received. For hardware scanning assume that hardware will take care of that and document that assumption. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 15b7b0629c8213905926394dc73d600e0ca250ce Author: Kalle Valo Date: Sun Mar 22 21:57:14 2009 +0200 mac80211: track beacons separately from the rx path activity Separate beacon and rx path tracking in preparation for the beacon filtering support. At the same time change ieee80211_associated() to look a bit simpler. Probe requests are now sent only after IEEE80211_PROBE_IDLE_TIME, which is now set to 60 seconds. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 3cf335d527ba6af80f4143f3c9e5136afdb143af Author: Kalle Valo Date: Sun Mar 22 21:57:06 2009 +0200 mac80211: decrease execution of the associated timer Currently the timer is triggering every two seconds (IEEE80211_MONITORING_INTERVAL). Decrease the timer to only trigger during data idle periods to avoid waking up CPU unnecessary. The timer will still trigger during idle periods, that needs to be fixed later. There's also a functional change that probe requests are sent only when the data path is idle, earlier they were sent also while there was activity on the data path. This is also preparation for the beacon filtering support. Thanks to Johannes Berg for the idea. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit af83debf5bb44257082d4489ac86123a0cadf6d3 Author: Tulio Magno Quites Machado Filho Date: Sun Mar 22 01:41:13 2009 +0100 ath5k: Support LED's on Acer Extensa 5620z Add vendor ID for Quanta Microsystems and update the led table with the reported device. Reported-by: Scott Barnes Signed-off-by: Tulio Magno Quites Machado Filho Signed-off-by: John W. Linville commit 75ca88c9701bf8f65fc1f009f10dd64b0378b977 Author: Christian Lamparter Date: Sat Mar 21 23:11:49 2009 +0100 ar9170: update Makefile, Kconfig and MAINTAINERS This patch update all necessary Makefile and Kconfig files. Now you can then enable ar9170 in the kernel configuration under: Device Drivers ---> [*] Network device support ---> Wireless LAN ---> [*] Wireless LAN (IEEE 802.11) Atheros AR9170 support Atheros AR9170 USB support Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b63a2cb30405777033d58045c562a3b04d87d702 Author: Christian Lamparter Date: Sat Mar 21 23:05:48 2009 +0100 ar9170: ar9170: USB frontend driver USB frontend driver code for Atheros' AR9170 modules. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6cb19353535f9f02fc2a753e3261a255406ba8fa Author: Christian Lamparter Date: Sun Mar 22 02:36:06 2009 +0100 ar9170: mac/bbp and phy code MAC/BBP and PHY programming code Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e9348cdd280eb6a1d6d38fef513b578dc9ead363 Author: Christian Lamparter Date: Sat Mar 21 23:05:13 2009 +0100 ar9170: ar9170: mac80211 interaction code This patch contains almost all mac80211 interaction code of AR9170. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 23b53f4f55d833ecc5a11b5fba646c78d3876927 Author: Christian Lamparter Date: Sat Mar 21 23:04:48 2009 +0100 ar9170: hardware and eeprom header files hardware / firmware interface definitions for Atheros' AR9170 based devices. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 7986cf9581767d250ca0e5a554541bb276e08d21 Author: Johannes Berg Date: Sat Mar 21 17:08:43 2009 +0100 mac80211: remove mixed-cell and userspace MLME code Neither can currently be set from userspace, so there's no regression potential, and neither will be supported from userspace since the new userspace APIs allow the SME, which is in userspace, to control all we need. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ac7f9cfa2c3b810e0adfb889ad407a8c79a84dbe Author: Johannes Berg Date: Sat Mar 21 17:07:59 2009 +0100 cfg80211: accept no-op interface mode changes When somebody tries to set the interface mode to the existing mode, don't ask the driver but silently accept the setting. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 86f04680df4a136a4a90501572dc2f31f8426581 Author: Luis R. Rodriguez Date: Fri Mar 20 23:53:07 2009 -0400 cfg80211: remove code about country IE support with OLD_REG We had left in code to allow interested developers to add support for parsing country IEs when OLD_REG was enabled. This never happened and since we're going to remove OLD_REG lets just remove these comments and code for it. This code path was never being entered so this has no functional change. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6ee7d33056f6e6fc7437d980dcc741816deedd0f Author: Luis R. Rodriguez Date: Fri Mar 20 23:53:06 2009 -0400 cfg80211: make regdom module parameter available oustide of OLD_REG It seems a few users are using this module parameter although its not recommended. People are finding it useful despite there being utilities for setting this in userspace. I'm not aware of any distribution using this though. Until userspace and distributions catch up with a default userspace automatic replacement (GeoClue integration would be nirvana) we copy the ieee80211_regdom module parameter from OLD_REG to the new reg code to help these users migrate. Users who are using the non-valid ISO / IEC 3166 alpha "EU" in their ieee80211_regdom module parameter and migrate to non-OLD_REG enabled system will world roam. This also schedules removal of this same ieee80211_regdom module parameter circa March 2010. Hope is by then nirvana is reached and users will abandoned the module parameter completely. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cc0b6fe88e99096868bdbacbf486c97299533b5a Author: Luis R. Rodriguez Date: Fri Mar 20 23:53:05 2009 -0400 cfg80211: fix incorrect assumption on last_request for 11d The incorrect assumption is the last regulatory request (last_request) is always a country IE when processing country IEs. Although this is true 99% of the time the first time this happens this could not be true. This fixes an oops in the branch check for the last_request when accessing drv_last_ie. The access was done under the assumption the struct won't be null. Note to stable: to port to 29 replace as follows, only 29 has country IE code: s|NL80211_REGDOM_SET_BY_COUNTRY_IE|REGDOM_SET_BY_COUNTRY_IE Cc: stable@kernel.org Reported-by: Quentin Armitage Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2e097dc65673ed421bbc2e49f52c125aa43a8ee6 Author: Luis R. Rodriguez Date: Fri Mar 20 23:53:04 2009 -0400 cfg80211: force last_request to be set for OLD_REG if regdom is EU Although EU is a bogus alpha2 we need to process the send request as our code depends on last_request being set. Cc: stable@kernel.org Reported-by: Quentin Armitage Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 98dfaa577855a551e798e3a99b934386698d2026 Author: Luis R. Rodriguez Date: Fri Mar 20 23:46:11 2009 -0400 mac80211_hwsim: let the reg workqueue breathe when regtest is set Without this the regulatory domain isn't seen and we end up intersecting for each request (each radio). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9cb5412b0760981d43ac3e612992c90cea690e72 Author: Pat Erley Date: Fri Mar 20 22:59:59 2009 -0400 Add mesh point functionality to ath9k This patch enables mesh point operation for ath9k. Tested with b43, ath9k, rt2500usb, and ath5k as peers. Signed-off-by: Pat Erley Signed-off-by: John W. Linville commit d8cd7effc20027c313d4086b123046ff9f9a5814 Author: Christian Lamparter Date: Mon Mar 23 15:37:45 2009 +0100 p54: fix SoftLED compile dependencies This patch fixes a compile problem when the MAC80211_LEDS triggers are enabled but not LED class itself. (which is sort of pointless, but anyway...) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit eec60b037a875513d9715dcdb90b13ed81fc5f26 Author: Jouni Malinen Date: Fri Mar 20 21:21:19 2009 +0200 nl80211: Check iftype in cfg80211 code We do not want to require all the drivers using cfg80211 to need to do this. In addition, make the error values consistent by using EOPNOTSUPP instead of semi-random assortment of errno values. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 35a8efe1a67ba5d7bb7492f67f52ed2aa4925892 Author: Jouni Malinen Date: Fri Mar 20 21:21:18 2009 +0200 nl80211: Check that netif_runnin is true in cfg80211 code We do not want to require all the drivers using cfg80211 to need to do this or to be prepared to handle these commands when the interface is down. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 255e737eab645ec6037baeca04a5e0a7c3b1f459 Author: Jouni Malinen Date: Fri Mar 20 21:21:17 2009 +0200 nl80211: Add more through validation of MLME command parameters Check that the used authentication type and reason code are valid here so that drivers/mac80211 do not need to care about this. In addition, remove the unnecessary validation of SSID attribute length which is taken care of by netlink policy. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 65fc73ac4a310945dfeceac961726c2765ad2ec0 Author: Jouni Malinen Date: Fri Mar 20 21:21:16 2009 +0200 nl80211: Remove NL80211_CMD_SET_MGMT_EXTRA_IE The functionality that NL80211_CMD_SET_MGMT_EXTRA_IE provided can now be achieved with cleaner design by adding IE(s) into NL80211_CMD_TRIGGER_SCAN, NL80211_CMD_AUTHENTICATE, NL80211_CMD_ASSOCIATE, NL80211_CMD_DEAUTHENTICATE, and NL80211_CMD_DISASSOCIATE. Since this is a very recently added command and there are no known (or known planned) applications using NL80211_CMD_SET_MGMT_EXTRA_IE and taken into account how much extra complexity it adds to the IE processing we have now (and need to add in the future to fix IE order in couple of frames), it looks like the best option is to just remove the implementation of this command for now. The enum values themselves are left to avoid changing the nl80211 command or attribute numbers. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit feeb44454996cf5b375fad21697bf6202fe30dd2 Author: Michael Buesch Date: Fri Mar 20 16:43:20 2009 +0100 ssb: remove EXPERIMENTAL dependencies. ssb is not experimental anymore. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d7873cb9abb5d8b4b9f7f5749af06e4e03798733 Author: Jouni Malinen Date: Fri Mar 20 15:53:16 2009 +0200 mac80211: Fix memleak in nl80211 authentication on deinit This file was forgotten from the quilt patch that added MLME primitives, so the kfree on interface removal is missing. Fix this potential memleak by freeing the temporary Authentication frame IEs from SME when the interface is being removed. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 6b2c40326f9569283444d483448bcaadeca903e9 Author: Vasanthakumar Thiagarajan Date: Fri Mar 20 15:27:50 2009 +0530 ath9k: Nuke struct ath_xmit_status Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8a92e2ee02dee127d309c73969aeb2a56567c9a0 Author: Vasanthakumar Thiagarajan Date: Fri Mar 20 15:27:49 2009 +0530 ath9k: Fix bug in reporting status of tx rate This patch updates count of every hw tried rate with appropriate tries before reporting tx status of a frame. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 827b1fb44b7e41377a5498b9d070a11dfae2c283 Author: Johannes Berg Date: Fri Mar 13 11:44:18 2009 +0100 mac80211: resume properly, add suspend/resume test When mac80211 resumes, it currently doesn't reconfigure the interfaces entirely and also doesn't reconfigure BSS information -- fix this. Also, to be able to test this, add a debugfs file that just calls the suspend/resume code to see what happens when we go through that, without needing the time-consuming suspend/resume cycle. (Original version broke the build for CONFIG_PM=n. Define alternative functions for that situation. -- JWL) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e3ccb3d9b8d5a1b65b34e1be2decf213ba3bebb Author: Michael Buesch Date: Thu Mar 19 19:27:21 2009 +0100 b43: Mask PHY TX error interrupt, if not debugging This masks the PHY TX error interrupt, if debugging is disabled. Currently we have a bug somewhere which triggers this interrupt once in a while. (Depends on the network noise/quality). While this is nonfatal, it scares the hell out of users and we frequently receive bugreports that incorrectly identify this error message as the reason. There's another problem with this. The PHY TX error interrupt is protected with a watchdog that will restart the device if it keeps triggering very often. This is used to fix interrupt storms from completely broken devices. However, this watchdog might trigger in completely normal operation. If the TX capacity of the card is saturated, the likeliness of the watchdog triggering increases, as more TX errors occur. The current threshold for the watchdog is 1000 errors in 15 seconds. This patch adds a workaround for the issue by just enabling the interrupt if debugging is disabled (by Kconfig or by modparam). This has the downside that real fatal PHY TX errors are not caught anymore. But this is nonfatal due to the following reasons: * If the card is not able to transmit anymore, MLME will notice anyway. * I did _never_ see a real fatal PHY TX error in a mainline b43 driver. * It does _not_ result in interrupt storms or something like that. It will simply result in a stalled card. It can be debugged by enabling the debugging module parameter. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1bf68e5cda40eaa26b186f043340fd283a4fb718 Author: Geert Uytterhoeven Date: Thu Mar 19 13:33:52 2009 +0100 wireless/p54: P54_SPI should depend on GENERIC_HARDIRQS m68k allmodconfig: | drivers/net/wireless/p54/p54spi.c: In function 'p54spi_probe': | drivers/net/wireless/p54/p54spi.c:675: error: implicit declaration of function | 'set_irq_type' | make[4]: *** [drivers/net/wireless/p54/p54spi.o] Error 1 Signed-off-by: Geert Uytterhoeven Signed-off-by: John W. Linville commit 636a5d3625993c5ca59abc81794b9ded93cdb740 Author: Jouni Malinen Date: Thu Mar 19 13:39:22 2009 +0200 nl80211: Add MLME primitives to support external SME This patch adds new nl80211 commands to allow user space to request authentication and association (and also deauthentication and disassociation). The commands are structured to allow separate authentication and association steps, i.e., the interface between kernel and user space is similar to the MLME SAP interface in IEEE 802.11 standard and an user space application takes the role of the SME. The patch introduces MLME-AUTHENTICATE.request, MLME-{,RE}ASSOCIATE.request, MLME-DEAUTHENTICATE.request, and MLME-DISASSOCIATE.request primitives. The authentication and association commands request the actual operations in two steps (assuming the driver supports this; if not, separate authentication step is skipped; this could end up being a separate "connect" command). The initial implementation for mac80211 uses the current net/mac80211/mlme.c for actual sending and processing of management frames and the new nl80211 commands will just stop the current state machine from moving automatically from authentication to association. Future cleanup may move more of the MLME operations into cfg80211. The goal of this design is to provide more control of authentication and association process to user space without having to move the full MLME implementation. This should be enough to allow IEEE 802.11r FT protocol and 802.11s SAE authentication to be implemented. Obviously, this will also bring the extra benefit of not having to use WEXT for association requests with mac80211. An example implementation of a user space SME using the new nl80211 commands is available for wpa_supplicant. This patch is enough to get IEEE 802.11r FT protocol working with over-the-air mechanism (over-the-DS will need additional MLME primitives for handling the FT Action frames). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 6039f6d23fe792d615da5449e9fa1c6b43caacf6 Author: Jouni Malinen Date: Thu Mar 19 13:39:21 2009 +0200 nl80211: Event notifications for MLME events Add new nl80211 event notifications (and a new multicast group, "mlme") for informing user space about received and processed Authentication, (Re)Association Response, Deauthentication, and Disassociation frames in station and IBSS modes (i.e., MLME SAP interface primitives MLME-AUTHENTICATE.confirm, MLME-ASSOCIATE.confirm, MLME-REASSOCIATE.confirm, MLME-DEAUTHENTICATE.indicate, and MLME-DISASSOCIATE.indication). The event data is encapsulated as the 802.11 management frame since we already have the frame in that format and it includes all the needed information. This is the initial step in providing MLME SAP interface for authentication and association with nl80211. In other words, kernel code will act as the MLME and a user space application can control it as the SME. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit a299542e97ec1939fdca7db6d3d82c0aa9bf8b9a Author: Jouni Malinen Date: Thu Mar 19 13:39:20 2009 +0200 mac80211: Fix reassociation by not clearing previous BSSID We must not clear the previous BSSID when roaming to another AP within the same ESS for reassociation to be used properly. It is fine to clear this when the SSID changes, so let's move the code into ieee80211_sta_set_ssid(). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 4b4698c443c9db62b220c41a1793872d6ebe82e1 Author: Jouni Malinen Date: Thu Mar 19 13:39:19 2009 +0200 mac80211: Fix a typo in assoc vs. reassoc check Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0934af2340caf3c9f247ae650bf0c6faa4203dba Author: Vasanthakumar Thiagarajan Date: Wed Mar 18 20:22:00 2009 +0530 ath9k: Fix rate control update for aggregated frames We will miss rate control update if first A-MPDU of an aggregation is not Block Acked as we always tell if the rate control needs to updated through update_rc of first A-MPDU. This patch does rate control update for the first A-MPDU which notifies it's tx status (which is not necessarily the first A-MPDU of an aggregation) to mac80211. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit b3a902850a8f5bc11a660051faae707f928d4bd6 Author: Johannes Berg Date: Wed Mar 18 14:29:38 2009 +0100 mac80211: kill IEEE80211_CONF_SHORT_SLOT_TIME No drivers use it any more, so it can now be removed safely. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a9a6ffffd05f97e6acbdeafc595e269855829751 Author: Kalle Valo Date: Wed Mar 18 14:06:44 2009 +0200 mac80211: don't drop nullfunc frames during software scan ieee80211_tx_h_check_assoc() was dropping everything else than probe requests during software scan. So the nullfunc frame with the power save bit was dropped and AP never received it. This meant that AP never buffered any frames for the station during software scan. Fix this by allowing to transmit both probe request and nullfunc frames during software scan. Tested with stlc45xx. Signed-off-by: Kalle Valo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 43da9192326a4499b5faf737c3636f25b56b53e0 Author: Abhijeet Kolekar Date: Tue Mar 17 21:51:53 2009 -0700 iwl3945: replace stations with stations_39 A *leftover* stations is replaced with stations_39. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a2f1cbebdccc866d6c7da9eb655d35b5c60d33a0 Author: Wey-Yi Guy Date: Tue Mar 17 21:51:52 2009 -0700 iwlwifi: report error when detect failure during stop agg queue This fix related to bug 1921 at http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1921 when detect error during stopping tx aggregation queue, report the error to help identify the problem. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 82127493a656f6293ffb1566410b5753f29991ef Author: Abhijeet Kolekar Date: Tue Mar 17 21:51:51 2009 -0700 iwl3945: control rate decrease Control the rate decrease. Do not decrease the rate fast. Use success_ratio for rate scaling :) Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1e680233e7edfd081ebf9ec54e118547d5de7a8c Author: Abhijeet Kolekar Date: Tue Mar 17 21:51:50 2009 -0700 iwl3945: fix checkpatch.pl errors Patch fixes two checkpatch.pl errors. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3e5d238fa75783e1080e7413c7e36dd5203950eb Author: Abhijeet Kolekar Date: Tue Mar 17 21:51:49 2009 -0700 iwl3945: use iwl_cmd_queue_free iwl_cmd_queue_free needs to be used to free up the cmd_queue, as TFD slots for cmd_queue and tx_queue are different. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 21c02a1ab2d4b4a439461140e1ac355db32c3f2b Author: Abhijeet Kolekar Date: Tue Mar 17 21:51:48 2009 -0700 iwl3945: set TFD_QUEUE_MAX to correct value Total number of queues is 8 but only 7 of them are TX queues. 4 AC(Data) queue ,1 CMD and 2 HCCA. The HCCA queues are not used. max_txq_num is set to maximum usable TX queues. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b1c6019bc0fe829309258d888f47d9ae54353039 Author: Mohamed Abbas Date: Tue Mar 17 21:51:47 2009 -0700 iwlwifi: support 11h Set IEEE80211_HW_SPECTRUM_MGMT bit in hw->flags, this tell mac80211 we support spectrum mgmt. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 28c608750f5f72e3c4139f7a51358eccd58c80a9 Author: Mohamed Abbas Date: Tue Mar 17 21:51:45 2009 -0700 iwlcore: dont commit power command if interface is not up If user set new power level, accept the new power level and only send command to host if the interface is up and radio on. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4f01ac01539d83709d6ae314fc172da7b7e70456 Author: Mohamed Abbas Date: Tue Mar 17 21:51:44 2009 -0700 iwlagn: allow power level setting all the times allow user to set power level at all times Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5c2207c64209be2fe0d6b43ada2e41b28a948015 Author: Wey-Yi Guy Date: Tue Mar 17 21:51:43 2009 -0700 iwlwifi: return 0 for AMPDU_TX/RX_STOP request if NIC is going down When receive IEEE80211_AMPDU_RX_STOP or IEEE80211_AMPDU_TX_STOP request in iwl_mac_ampdu_action() from mac80211; check STATUS_EXIT_PENDING bit, if NIC is on the way out, then return 0 back to mac80211, this can prevent mac80211 report HW error incorrectly. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 37fec3846a5a8b098e35c44ee858407bab0df43f Author: Mohamed Abbas Date: Tue Mar 17 21:51:42 2009 -0700 iwl3945: use changed in iwl3945_mac_config In function iwl3945_mac_config use changed flag to call only the affected functions. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 019fb97d47896c0ead4a77f55e5350c2750f675f Author: Mohamed Abbas Date: Tue Mar 17 21:59:18 2009 -0700 iwlagn: use changed in mac_config In function iwl_mac_config use changed flag to call only the affected functions. This patch also allow user to cache channel, txpower and power value when the interface is not ready and apply the changes once the interface ready. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3b85875a252dbbd95c2e04d73639719a0a79634e Author: Johannes Berg Date: Thu Mar 12 09:55:09 2009 +0100 nl80211: rework locking When I added scanning to cfg80211, we got a lock dependency like this: rtnl --> cfg80211_mtx nl80211, on the other hand, has the reverse lock dependency: cfg80211_mtx --> rtnl which clearly is a bad idea. This patch reworks nl80211 to take these two locks in the other order to fix the possible, and easily triggerable, deadlock. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8f655dde240293f3b82313cae91c64ffd7b64c50 Author: Nick Kossifidis Date: Sun Mar 15 22:20:35 2009 +0200 ath5k: Add tx power calibration support * Add tx power calibration support * Add a few tx power limits * Hardcode default power to 12.5dB * Disable TPC for now v2: Address Jiri's comments Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 6d5eaafa558783a669bb46c3dba902370e8f0ffc Author: Ivo van Doorn Date: Tue Mar 17 11:29:19 2009 +0100 rt2x00: Update MAINTAINERS entry: new mailinglist The rt2400-devel mailinglist will be replaced by the new mailinglist rt2x00-users. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 722f069a6dc95d7c6c2cdfbe3413899a3b768f9c Author: Sujith Date: Tue Mar 17 08:50:06 2009 +0530 mac80211: Tear down aggregation sessions for suspend/resume When the driver has been notified with a STA_REMOVE, it tears down the internal ADDBA state. On resume, trying to initiate aggregation would fail because mac80211 has not cleared the operational state for that . This can be fixed by tearing down the existing sessions on a suspend. Also, the driver can initiate a new BA session when suspend is in progress. This is fixed by marking the station as being in suspend state and denying ADDBA requests for such STAs. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e23a9014fd4d502a419255a83e2479ab804c6f16 Author: Bob Copeland Date: Mon Mar 16 22:34:03 2009 -0400 ath5k: remove dummy PCI "retry timeout" fix Remove the PCI retry timeout code, for all the same reasons that Luis Rodriguez removed it for ath9k. Changes-licensed-under: 3-Clause-BSD Cc: Luis Rodriguez Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 9ca9fb8aa8422595956af9681518cdb8b167055e Author: Bob Copeland Date: Mon Mar 16 22:34:02 2009 -0400 ath5k: disable MIB interrupts The MIB interrupt fires whenever counters overflow; however without support for automatic noise immunity, we can sometimes get an interrupt storm. The get_stats() callback reads the counters anyway so we can disable the interrupt for now until ANI is implemented. This fixes the issue reported in http://bugzilla.kernel.org/show_bug.cgi?id=12647. Changes-licensed-under: 3-Clause-BSD Cc: stable@kernel.org Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 8e218fb24faef0bfe95bc91b3c05261e20439527 Author: Nick Kossifidis Date: Sun Mar 15 22:17:04 2009 +0200 ath5k: Convert chip specific calibration data to a generic format * Convert chip specific calibration data to a generic format common for all chips Note: We scale up power to be in 0.25dB units for all chips for compatibility with RF5112 v2: Address Bob's and Jiri's comments Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 504f365554a7f543fcd706878ff9edf785be7614 Author: Nick Kossifidis Date: Sun Mar 15 22:13:39 2009 +0200 ath5k: Choose the right initvals for RF2425 * Fix a typo in initvals.c so that we use the RF2425 array for RF2425 and not RF2413 Note: This also fixes incorect pd gain overlap since RF2425 has different pd gain overlap from RF2413 Signed-off-by: Nick Kossifidis Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 3f46b29cd8caa35fcbc46e254a5abeee4e0e9e2f Author: Johannes Berg Date: Sat Mar 14 19:10:51 2009 +0100 ieee80211: document DS bit usage I keep needing this because I'm too stupid to remember it. Everybody else can probably remember, but who knows :) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 85067c06ba0329c37d5a357ced1f39a5583ccc98 Author: Vasanthakumar Thiagarajan Date: Sat Mar 14 19:59:41 2009 +0530 ath9k: Keep LED on in idle state after association Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7f0216a49bea717b9606b81c60f2f0b6152123eb Author: Johannes Berg Date: Sat Mar 14 09:42:49 2009 +0100 mac80211: acquire sta_lock for station suspend/resume To avoid concurrent manipulations of the sta list (which shouldn't be possible at this point, but anyway) we need to hold the sta_lock around iterating the list. At the same time, we do not need to iterate the list at all if the driver doesn't want to be notified. Signed-off-by: Johannes Berg Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 8fdc621dc743b87879ccf0177969864b09388d9a Author: Johannes Berg Date: Sat Mar 14 09:34:01 2009 +0100 nl80211: export supported commands This makes nl80211 export the supported commands (command groups) per wiphy so userspace has an idea what it can do -- this will be required reading for userspace when we introduce auth/assoc /or/ connect for older hardware that cannot separate auth and assoc. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec30415f7935f0ff92f93a4ac87233ca3007a78a Author: Vasanthakumar Thiagarajan Date: Fri Mar 13 20:26:52 2009 +0530 mac80211: Populate HT limitation with TKIP/WEP to the handler for SIOCSIWENCODE too Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit aae89831df03e5282a8f5c0ee46432cfb677fc5c Author: Johannes Berg Date: Fri Mar 13 12:52:10 2009 +0100 wireless: radiotap updates Radiotap was updated to include a "bad PLCP" flag and standardise the "bad FCS" flag in the "flags" rather than "RX flags" field, this patch updates Linux to that standard. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 25420604c8967ff24f087dd7b9cd4b278567d39a Author: Johannes Berg Date: Fri Mar 13 11:43:36 2009 +0100 mac80211: stop queues across suspend/resume Even though userland probably cannot submit packets, there might still be some coming, and that's no good when the driver doesn't expect them. Stop the queues across suspend/resume. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b5bde374f0f61f5d97114d400ade8fc96bf6f10d Author: Johannes Berg Date: Fri Mar 13 11:19:45 2009 +0100 mac80211: fix warnings in ieee80211_if_config The last warning can never trigger, and the explicit AP_VLAN check is pointless if we move the config_interface check down, in practice config_interface is required anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cee075a24eec64f1f5b2b3b14753b2d4b8ecce55 Author: Sujith Date: Fri Mar 13 09:07:23 2009 +0530 ath9k: Update copyright in all the files How time flies. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c2da50e5837f92c9f16a611efd1bb0754036691b Author: Sujith Date: Fri Mar 13 08:56:11 2009 +0530 ath9k: Fix bug in handling single stream stations AP mode currently sets up the dual stream capability for all stations. This patch fixes it by checking if the associated station supports dual stream MCS rates (8-15). We would disregard any MCS rates above 15, since Atheros HW supports only 0..15 rates currently, and can't receive at rates > 15 anyway. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 95e4acb7331722236b9f11492ae2e96473210ebc Author: Sujith Date: Fri Mar 13 08:56:09 2009 +0530 ath9k: Fill in ack signal in TX status This patch fills the ack_signal field in TX status with an appropriate value from the TX descriptor. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e71cef37f1f4cb7e9c919cbaabe23438f10a7080 Author: Sujith Date: Fri Mar 13 08:56:07 2009 +0530 ath9k: Fix bug in 4K EEPROM size calculation We should be checking with the 4K header and not the non-4K header size. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d6509151bd3e952b7d157ea4dbae23279d427e95 Author: Sujith Date: Fri Mar 13 08:56:05 2009 +0530 ath9k: Change return type for set_board_values() We always return true, checking for 'false' return value is bogus anyway, so fix this. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a83615d74d9b952f24c904baad58610ed9d76838 Author: Sujith Date: Fri Mar 13 08:56:04 2009 +0530 ath9k: Introduce a helper function for setting board gain values This improves readability. Handle both 4K/non-4K EEPROM in this patch. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 355363fcf7daded4a48308b54d6b86bea4f8bb6d Author: Sujith Date: Fri Mar 13 08:56:02 2009 +0530 ath9k: Move AR5416_VER_MASK to a common location Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7d01b221b338ef2a5b1ffa9c60645c0bdcce191e Author: Sujith Date: Fri Mar 13 08:55:55 2009 +0530 ath9k: Miscellaneous EEPROM handling cleanup Print the EEPROM version/revision on init. Choose appropriate debug masks on error conditions, and remove useless print messages. Signed-off-by: John W. Linville commit b572b24c578ab1be9d1fcb11d2d8244878757a66 Author: Luis R. Rodriguez Date: Thu Mar 12 18:18:51 2009 -0400 ath9k: remove dummy PCI "retry timeout" fix Remove the PCI retry timeout code as that was just taken from ipw2100 due to historical reasons but in reality its a no-op, additionally its simply incorrect as each PCI devices has its own custom PCI configuration space on PCI config space >= 0x40. Not to mention we were trying to write 0 to a place that already has 0 on it. Cc: Matthew Garrett Cc: Ben Cahill Cc: Inaky Perez-Gonzalez Tested-by: Adel Gadllah Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4ed96f04f8a1869757f4dd4a9283a18ec63c442f Author: Jouni Malinen Date: Thu Mar 12 21:53:23 2009 +0200 ath9k: Add support for multiple virtual AP interfaces This patch fixes the TSF offset calculation for staggered Beacon frames and sets ATH_BCBUF back to the earlier value 4 to enable multi-BSS configurations of up to four BSSes. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 11432379fd2a3854a3408424d8dcd99afd811573 Author: Helmut Schaa Date: Thu Mar 12 14:04:34 2009 +0100 mac80211: start pending scan after probe/auth/assoc timed out If a scan is queued in STA mode while the interface is in state direct probe, authenticate or associate the scan is delayed until the interface enters disabled or associated state. But in case of direct probe-, authentication- or association- timeout sta_work will not be scheduled anymore (without external trigger) and thus the pending scan is not executed and prevents a new scan from being triggered (-EBUSY). Fix this by queueing the sta work again after direct probe-, authentication- and association- timeout. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 51b381479ff5bc9b8c49ce15fd8bc35c6b695ca4 Author: Johannes Berg Date: Thu Mar 12 11:16:48 2009 +0100 mac80211: reduce max number of queues No hw/driver actually supports more than four queues right now, and we allocate a number of things per queue which means we waste a bit of memory. Reduce the maximum number to four to accurately reflect what we do (and need for QoS). Even if we had hardware supporting more queues we couldn't take advantage of that right now anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 176be728ee7d32cfd33702d82c0733e51f66ab5b Author: Johannes Berg Date: Thu Mar 12 23:49:28 2009 +0100 mac80211: remove ieee80211_num_regular_queues This inline is useless and actually makes the code _longer_ rather than shorter. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 14587ce2a8898de959f32dfd505b4871f09930d5 Author: Vasanthakumar Thiagarajan Date: Thu Mar 12 15:32:54 2009 +0530 ath9k: Set IEEE80211_TX_CTL_RATE_CTRL_PROBE in rate control for probe rate Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 633e24ed95b6c87b42f201ecb65c12a75a5a7eef Author: Reinette Chatre Date: Thu Mar 12 09:20:40 2009 -0700 cfg80211/nl80211: remove usage of CONFIG_NL80211 The scan capability added to cfg80211/nl80211 introduced a dependency on nl80211 by cfg80211. We can thus no longer have just cfg80211 without nl80211. Specifically, cfg80211_scan_done() calls nl80211_send_scan_aborted() or nl80211_send_scan_done(). Now we remove the option for user to select nl80211. It will always be compiled if user selects cfg80211. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fa56dddd6720c8d4b9fa4c942377d2a019cf3708 Author: Alina Friedrichsen Date: Tue Mar 10 00:49:46 2009 +0100 mac80211: ieee80211_ibss_commit() cleanup Don't call ieee80211_sta_find_ibss() directly, like it's done in STA mode, so that the commit() call is more harmless respectively has less site-effects. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 0b4d569de222452bcb55a4a536ade6cf4d8d1e30 Author: Linus Torvalds Date: Fri Mar 27 17:02:09 2009 -0700 i915: fix wrong 'size_t' format string For the fifteen bazillionth time. See also commits f06da264cfb0f9444d41ca247213e419f90aa72a and aeb565dfc3ac4c8b47c5049085b4c7bfb2c7d5d7 ("i915: Fix more size_t format string warnings" and "Fix annoying DRM_ERROR() string warning"). Grr-target: Eric Anholt Grr-target: Chris Wilson Signed-off-by: Linus Torvalds commit db936819b319831951352d6b58882f3cf56de87f Merge: 3ae5080... 2b5cde2... Author: Linus Torvalds Date: Fri Mar 27 16:50:49 2009 -0700 Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (25 commits) drm/i915: Fix LVDS dither setting drm/i915: Check for dev->primary->master before dereference. drm/i915: TV detection fix drm/i915: TV mode_set sync up with 2D driver drm/i915: Fix TV get_modes to return modes count drm/i915: Sync crt hotplug detection with intel video driver drm/i915: Sync mode_valid/mode_set with intel video driver drm/i915: TV modes' parameters sync up with 2D driver agp/intel: Add support for new intel chipset. i915/drm: Remove two redundant agp_chipset_flushes drm/i915: Display fence register state in debugfs i915_gem_fence_regs node. drm/i915: Add information on pinning and fencing to the i915 list debug. drm/i915: Consolidate gem object list dumping drm/i915: Convert i915 proc files to seq_file and move to debugfs. drm: Convert proc files to seq_file and introduce debugfs drm/i915: Fix lock order reversal in GEM relocation entry copying. drm/i915: Fix lock order reversal with cliprects and cmdbuf in non-DRI2 paths. drm/i915: Fix lock order reversal in shmem pread path. drm/i915: Fix lock order reversal in shmem pwrite path. drm/i915: Make GEM object's page lists refcounted instead of get/free. ... commit 42d671c78f6486c932b68a50f88768c7b4e57ebf Author: Greg Banks Date: Fri Mar 27 02:32:47 2009 +1100 Fix a build warning about leaking CONFIG_NFSD to userspace. Fix a build warning about leaking CONFIG_NFSD to userspace. The nfsd_stats data structure does not need to be available to userspace; no kernel interface uses it. So move it inside #ifdef __KERNEL__ and the warning goes away. Signed-off-by: Greg Banks Signed-off-by: J. Bruce Fields commit e7c9e3e99adf6c49c5d593a51375916acc039d1e Author: Theodore Ts'o Date: Fri Mar 27 19:43:21 2009 -0400 ext4: fix locking typo in mballoc which could cause soft lockup hangs Smatch (http://repo.or.cz/w/smatch.git/) complains about the locking in ext4_mb_add_n_trim() from fs/ext4/mballoc.c 4438 list_for_each_entry_rcu(tmp_pa, &lg->lg_prealloc_list[order], 4439 pa_inode_list) { 4440 spin_lock(&tmp_pa->pa_lock); 4441 if (tmp_pa->pa_deleted) { 4442 spin_unlock(&pa->pa_lock); 4443 continue; 4444 } Brown paper bag time... Reported-by: Dan Carpenter Reviewed-by: Eric Sandeen Reviewed-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit a7b19448ddbdc34b2b8fedc048ba154ca798667b Author: Dan Carpenter Date: Fri Mar 27 19:42:54 2009 -0400 ext4: fix typo which causes a memory leak on error path This was found by smatch (http://repo.or.cz/w/smatch.git/) Signed-off-by: Dan Carpenter Signed-off-by: "Theodore Ts'o" Cc: stable@kernel.org commit b5cbc369db39d9080f4932db8607aea1e1654d4d Author: Greg Banks Date: Thu Mar 26 17:45:27 2009 +1100 Document /proc/fs/nfsd/pool_stats Document the format and semantics of the /proc/fs/nfsd/pool_stats file. Signed-off-by: Greg Banks Signed-off-by: J. Bruce Fields commit 3ae5080f4c2e293229508dabe7c8a90af4e4c460 Merge: 2c9e15a... aabb8fd... Author: Linus Torvalds Date: Fri Mar 27 16:23:12 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits) fs: avoid I_NEW inodes Merge code for single and multiple-instance mounts Remove get_init_pts_sb() Move common mknod_ptmx() calls into caller Parse mount options just once and copy them to super block Unroll essentials of do_remount_sb() into devpts vfs: simple_set_mnt() should return void fs: move bdev code out of buffer.c constify dentry_operations: rest constify dentry_operations: configfs constify dentry_operations: sysfs constify dentry_operations: JFS constify dentry_operations: OCFS2 constify dentry_operations: GFS2 constify dentry_operations: FAT constify dentry_operations: FUSE constify dentry_operations: procfs constify dentry_operations: ecryptfs constify dentry_operations: CIFS constify dentry_operations: AFS ... commit abd91ee979f785b7377216532620d98ab4e3e5af Author: ideawu Date: Thu Mar 26 12:55:29 2009 +0800 sunrpc/svc.c: Remove unused line 'rqstp->rq_server = serv;' in svc_process There is no need to set rqstp->rq_server to serv, while serv is initialized as rqstp->rq_server at previous line. And between these two lines, there is no change to rqstp->rq_server. Signed-off-by: ideawu Reviewed-by: Tom Tucker Signed-off-by: J. Bruce Fields commit 79675900cbf2c4e67e95f94983ec4ee800b83739 Author: Anton Vorontsov Date: Fri Mar 27 16:00:03 2009 -0700 ucc_geth: Fix three oopses in PHY {de,}initialization code When there are no free snums, UCC ethernet should gracefully fail, but currently it oopses this way: # ifconfig eth0 up fill_init_enet_entries: Can not get SNUM. ucc_geth_startup: Can not fill p_init_enet_param_shadow. eth0: Cannot configure net device, aborting. Unable to handle kernel paging request for data at address 0x00000190 Faulting instruction address: 0xc0294c88 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c0294c88] mutex_lock+0x0/0x1c LR [c01b6be8] phy_stop+0x20/0x70 Call Trace: [efb25da0] [efb2eb60] 0xefb2eb60 (unreliable) [efb25db0] [c01b2058] ucc_geth_stop+0x2c/0x8c [efb25dd0] [c01b4194] ucc_geth_open+0x48/0x27c [efb25df0] [c020eec0] dev_open+0xc0/0x118 [...] This is because the ucc_geth_stop() routine assumes that ugeth->phydev is always initialized by the ucc_geth_open(), while it is not in case of errors. If we add a check to the ucc_geth_stop(), then another oops pops up: Unable to handle kernel paging request for data at address 0x00000004 Faulting instruction address: 0xc01b46a4 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c01b46a4] adjust_link+0x20/0x1b4 LR [c01b770c] phy_state_machine+0xdc/0x44c Call Trace: [ef83bf10] [c021b388] linkwatch_schedule_work+0x74/0xf8 (unreliable) [ef83bf40] [c01b770c] phy_state_machine+0xdc/0x44c [ef83bf60] [c004c13c] run_workqueue+0xb8/0x148 [ef83bf90] [c004c870] worker_thread+0x70/0xd0 [ef83bfd0] [c00505fc] kthread+0x48/0x84 [ef83bff0] [c000f464] kernel_thread+0x4c/0x68 [...] That one happens because ucc_geth_stop() does not call phy_disconnect() and so phylib state machine is running without any idea that a MAC has just died. Also, when device tree specifies fixed-link, and CONFIG_FIXED_PHY is disabled, we'll get this oops: 0:01 not found eth2: Could not attach to PHY eth2: Cannot initialize PHY, aborting. Unable to handle kernel paging request for data at address 0x00000190 Faulting instruction address: 0xc02967d0 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c02967d0] mutex_lock+0x0/0x1c LR [c01b6bcc] phy_stop+0x20/0x70 Call Trace: [ef82be50] [efb6bb60] 0xefb6bb60 (unreliable) [ef82be60] [c01b2058] ucc_geth_stop+0x2c/0x8c [ef82be80] [c01b4194] ucc_geth_open+0x48/0x27c [ef82bea0] [c0210a04] dev_open+0xc0/0x118 [ef82bec0] [c020f85c] dev_change_flags+0x84/0x1ac [ef82bee0] [c037b768] ic_open_devs+0x168/0x2bc [ef82bf20] [c037ca98] ip_auto_config+0x90/0x28c [ef82bf60] [c0001b9c] do_one_initcall+0x34/0x1a0 [ef82bfd0] [c035e240] do_initcalls+0x38/0x58 [ef82bfe0] [c035e2c4] kernel_init+0x30/0x90 [ef82bff0] [c000f464] kernel_thread+0x4c/0x68 [...] And again, ucc_geth_stop() assumes that ugeth->phydev is there, while it isn't. This patch fixes all three oopses simply by rearranging some code: - In ucc_geth_open(): move init_phy() call to the beginning, so that we only call ucc_geth_stop() with a PHY attached; - Move phy_disconnect() call from ucc_geth_close() to ucc_geth_stop(), so that we'll always disconnect the PHY. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit cc0be3227df9146968311308a9d19db1469ce1db Author: Dmitri Vorobiev Date: Fri Mar 27 15:55:36 2009 -0700 net: Add missing include into include/linux/netdevice.h The inline function skb_gro_mac_header defined in include/linux/netdevice.h makes use of page_address(). Depending on configuration options, the latter is either defined as a macro or is declared as a function in another header file, namely include/linux/mm.h. However, include/linux/netdevice.h does not include include/linux/mm.h. On MIPS, this has produced the following build error: CC kernel/sysctl_check.o In file included from include/linux/icmpv6.h:173, from include/linux/ipv6.h:208, from include/net/ip_vs.h:26, from kernel/sysctl_check.c:6: include/linux/netdevice.h: In function 'skb_gro_mac_header': include/linux/netdevice.h:1132: error: implicit declaration of function 'page_address' include/linux/netdevice.h:1133: warning: pointer/integer type mismatch in conditional expression make[1]: *** [kernel/sysctl_check.o] Error 1 make: *** [kernel] Error 2 The patch adds the missing include and fixes the build error. Signed-off-by: Dmitri Vorobiev Signed-off-by: David S. Miller commit 5b28beaf88436fa44fc25ee27a2fadffb75f222e Author: Li Yang Date: Fri Mar 27 15:54:30 2009 -0700 gianfar: only check headroom when FCB is needed Signed-off-by: Li Yang Signed-off-by: David S. Miller commit 8ebaebca7e9d371d79088190990f95e95e225b6d Merge: bd14ba8... 7c757eb... Author: David S. Miller Date: Fri Mar 27 15:37:57 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 8b112171734c791afaf43ccc8c6ec492e7006e44 Author: Felix Blyakher Date: Fri Mar 27 17:28:43 2009 -0500 xfs: increase the maximum number of supported ACL entries With big installation current 25 maximum number of supported ACL entries is not enough any more. Increase the limit to 100. Signed-off-by: Felix Blyakher commit 2b5cde2b272f56ec67b56a2af8c067d42eff7328 Author: Li Peng Date: Fri Mar 13 10:25:07 2009 +0800 drm/i915: Fix LVDS dither setting Update bdb_lvds_options structure according to its defination in 2D driver. Then we can parse and set 'lvds_dither' bit correctly on non-965 chips. Signed-off-by: Li Peng Signed-off-by: Eric Anholt commit 98787c057fdefdce6230ff46f2c1105835005a4c Author: Chris Wilson Date: Fri Mar 6 23:27:52 2009 +0000 drm/i915: Check for dev->primary->master before dereference. I've hit the occasional oops inside i915_wait_ring() with an indication of a NULL derefence of dev->primary->master. Adding a NULL check is consistent with the other potential users of dev->primary->master. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit bf5a269a4cc966f783b9faaf3fffd8fa31b53383 Author: Zhenyu Wang Date: Wed Mar 4 19:36:03 2009 +0800 drm/i915: TV detection fix Check that the encoder has a real enabled crtc for TV detect, and fix missing TV type setting after detect. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit d2d9f23240a7ec29a496ee072ffdf69c4f6cdc76 Author: Zhenyu Wang Date: Wed Mar 4 19:36:02 2009 +0800 drm/i915: TV mode_set sync up with 2D driver Fix TV control save register for untouched bits, and color knobs different definition for 945 and 965 chips. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 02c5dd985ddc5407aa9cc7e0f4456ca63b294f16 Author: Zhenyu Wang Date: Wed Mar 4 19:36:01 2009 +0800 drm/i915: Fix TV get_modes to return modes count The get_modes hook must return the number of modes added. This also fixes TV mode's clock calculation int overflow issue, and use 0.01 precision for mode refresh validation. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 771cb081354161eea21534ba58e5cc1a2db94a25 Author: Zhao Yakui Date: Tue Mar 3 18:07:52 2009 +0800 drm/i915: Sync crt hotplug detection with intel video driver This covers: Use long crt hotplug activation time on GM45. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 6bcdcd9e3c09d133e3278edabebc314a2451b74a Author: Zhao Yakui Date: Tue Mar 3 18:06:42 2009 +0800 drm/i915: Sync mode_valid/mode_set with intel video driver This covers: Limit CRT DAC speed better. and also clears the border color in case it's set to some garbage, which would fix ugly outlines in the blank regions of the CRT. Signed-off-by: Zhao Yakui [anholt: replaced *drm_dev with *dev] Signed-off-by: Eric Anholt commit ba01079c71559304771f9d741c9bbe8b2eac22a2 Author: Zhenyu Wang Date: Wed Mar 4 20:23:02 2009 +0800 drm/i915: TV modes' parameters sync up with 2D driver This covers at least: TV: subcarrier fix for NTSC and PAL TV: fix timing parameters for PAL, 480p, 1080i Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 2177832f2e20fceb32142bb4fd33ae68c8af8c5a Author: Shaohua Li Date: Mon Feb 23 15:19:16 2009 +0800 agp/intel: Add support for new intel chipset. This is a G33-like desktop and mobile chipset. Signed-off-by: Shaohua Li Signed-off-by: Eric Anholt commit ad086c833d00ef3be56ec554b1061f19e87a6210 Author: Owain G. Ainsworth Date: Fri Feb 20 08:30:19 2009 +0000 i915/drm: Remove two redundant agp_chipset_flushes agp_chipset_flush() is for flushing the intel GMCH write cache via the IFP, these two uses are for when we're getting the object into the cpu READ domain, and thus should not be needed. This confused me when I was getting my head around the code. With thanks to airlied for helping me check my mental picture of how the flushes and clflushes are supposed to be used. Signed-off-by: Owain G. Ainsworth Signed-off-by: Eric Anholt commit a6172a80ecb7ac64151960de1f709f78b509c57c Author: Chris Wilson Date: Wed Feb 11 14:26:38 2009 +0000 drm/i915: Display fence register state in debugfs i915_gem_fence_regs node. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit f4ceda89895b56e2c03dd327f13d0256838a20ab Author: Eric Anholt Date: Tue Feb 17 23:53:41 2009 -0800 drm/i915: Add information on pinning and fencing to the i915 list debug. This was inspired by a patch by Chris Wilson, though none of it applied in any way due to the debugfs work and I decided to change the formatting of the new information anyway. Signed-off-by: Eric Anholt commit 433e12f78b68a8069f54956edf766bb21394c197 Author: Ben Gamari Date: Tue Feb 17 20:08:51 2009 -0500 drm/i915: Consolidate gem object list dumping Here we eliminate a few functions in favor of using a single function to dump from all of the object lists. Signed-Off-By: Ben Gamari Signed-off-by: Eric Anholt commit 2017263e9e72974610179beaa85c4498b9c4b7a4 Author: Ben Gamari Date: Tue Feb 17 20:08:50 2009 -0500 drm/i915: Convert i915 proc files to seq_file and move to debugfs. Signed-off-by: Ben Gamari Signed-off-by: Eric Anholt commit 28a62277e06f93729d0340d9659153dcfbdbe16d Author: Ben Gamari Date: Tue Feb 17 20:08:49 2009 -0500 drm: Convert proc files to seq_file and introduce debugfs The old mechanism to formatting proc files is extremely ugly. The seq_file API was designed specifically for cases like this and greatly simplifies the process. Also, most of the files in /proc really don't belong there. This patch introduces the infrastructure for putting these into debugfs and exposes all of the proc files in debugfs as well. Signed-off-by: Ben Gamari Signed-off-by: Eric Anholt commit 8308e8ab70fd5d7b78afb133c51c5079548ba84f Author: Bjorn Helgaas Date: Tue Mar 24 10:55:33 2009 -0600 ACPI: remove unused acpi_bus_ops flags In acpi_bus_ops, only the acpi_op_add and acpi_op_start flags are used, so remove all the rest. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit c0ce093f5b8bc3262c51bd0b5900424a67909831 Author: Bjorn Helgaas Date: Tue Mar 24 10:55:27 2009 -0600 ACPI: remove unused acpi_device_ops .shutdown method No drivers use the .shutdown method, so remove it. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 93b3e78a93a2f49415608929f9ffeb60adc8a4a8 Author: Bjorn Helgaas Date: Tue Mar 24 10:55:22 2009 -0600 ACPI: remove unused acpi_device_ops .lock and .scan methods No drivers use the .lock and .scan methods, and the Linux/ACPI code doesn't even provide a way to invoke them, so remove them. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 2c9e15a011c55ff96b2b8d2b126d1b9a96abba20 Merge: 805de02... c16831b... Author: Linus Torvalds Date: Fri Mar 27 14:48:34 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6: (27 commits) ext2: Zero our b_size in ext2_quota_read() trivial: fix typos/grammar errors in fs/Kconfig quota: Coding style fixes quota: Remove superfluous inlines quota: Remove uppercase aliases for quota functions. nfsd: Use lowercase names of quota functions jfs: Use lowercase names of quota functions udf: Use lowercase names of quota functions ufs: Use lowercase names of quota functions reiserfs: Use lowercase names of quota functions ext4: Use lowercase names of quota functions ext3: Use lowercase names of quota functions ext2: Use lowercase names of quota functions ramfs: Remove quota call vfs: Use lowercase names of quota functions quota: Remove dqbuf_t and other cleanups quota: Remove NODQUOT macro quota: Make global quota locks cacheline aligned quota: Move quota files into separate directory ext4: quota reservation for delayed allocation ... commit 805de022b100bcf796860fe88d7db4164066d1c3 Merge: 7c757eb... 1fecb1c... Author: Linus Torvalds Date: Fri Mar 27 14:48:07 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: fix length calculation in compat code dlm: ignore cancel on granted lock dlm: clear defunct cancel state dlm: replace idr with hash table for connections dlm: comment typo fixes dlm: use ipv6_addr_copy dlm: Change rwlock which is only used in write mode to a spinlock commit 40a5f0decdf050785ebd62b36ad48c869ee4b384 Author: Eric Anholt Date: Thu Mar 12 11:23:52 2009 -0700 drm/i915: Fix lock order reversal in GEM relocation entry copying. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard commit 201361a54ed187d8595a283e3a4ddb213bc8323b Author: Eric Anholt Date: Wed Mar 11 12:30:04 2009 -0700 drm/i915: Fix lock order reversal with cliprects and cmdbuf in non-DRI2 paths. This introduces allocation in the batch submission path that wasn't there previously, but these are compatibility paths so we care about simplicity more than performance. kernel.org bug #12419. Signed-off-by: Eric Anholt Reviewed-by: Keith Packard Acked-by: Jesse Barnes commit eb01459fbbccb4ca0b879cbfc97e33ac6eabf975 Author: Eric Anholt Date: Tue Mar 10 11:44:52 2009 -0700 drm/i915: Fix lock order reversal in shmem pread path. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit 40123c1f8dd920dcff7a42cde5b351d7d0b0422e Author: Eric Anholt Date: Mon Mar 9 13:42:30 2009 -0700 drm/i915: Fix lock order reversal in shmem pwrite path. Like the GTT pwrite path fix, this uses an optimistic path and a fallback to get_user_pages. Note that this means we have to stop using vfs_write and roll it ourselves. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit 856fa1988ea483fc2dab84a16681dcfde821b740 Author: Eric Anholt Date: Thu Mar 19 14:10:50 2009 -0700 drm/i915: Make GEM object's page lists refcounted instead of get/free. We've wanted this for a few consumers that touch the pages directly (such as the following commit), which have been doing the refcounting outside of get/put pages. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit 3de09aa3b38910d366f4710ffdf430c9d387d1a3 Author: Eric Anholt Date: Mon Mar 9 09:42:23 2009 -0700 drm/i915: Fix lock order reversal in GTT pwrite path. Since the pagefault path determines that the lock order we use has to be mmap_sem -> struct_mutex, we can't allow page faults to occur while the struct_mutex is held. To fix this in pwrite, we first try optimistically to see if we can copy from user without faulting. If it fails, fall back to using get_user_pages to pin the user's memory, and map those pages atomically when copying it to the GPU. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit 13520b051e8888dd3af9bda639d83e7df76613d1 Author: Kristian Høgsberg Date: Fri Mar 13 15:42:14 2009 -0400 drm/i915: Read the right SDVO register when detecting SVDO/HDMI. This fixes incorrect detection of the second SDVO/HDMI output on G4X, and extra boot time on pre-G4X. Signed-off-by: Kristian Høgsberg Signed-off-by: Eric Anholt commit d490609321828c62e8dfa6220f0acd82e5cb3756 Author: Ma Ling Date: Wed Mar 18 20:13:27 2009 +0800 drm/i915: Use a different PLL timing search function on G4X. This improves the PLL timings according to the suggestion of the hardware engineers. This results in some outputs being able to sync that weren't able to before. This is part of fixing fd.o bug #17508. Signed-off-by: Ma Ling [anholt: cleaned up a couple of redundant comments] Signed-off-by: Eric Anholt commit 044c7c415a68077b7c444c753aa03a35149e881a Author: Ma Ling Date: Wed Mar 18 20:13:23 2009 +0800 drm/i915: Use documented PLL timing limits for G4X platform The values come from the internal reference spreadsheet on PLL timing limits for the G4X chipsets. Part of fixing fd.o bug #17508 Signed-off-by: Ma Ling [anholt: Cleaned up some whitespace] Signed-off-by: Eric Anholt commit 568d9a8f6d4bf81e0672c74573dc02981d31e3ea Author: Eric Anholt Date: Thu Mar 12 16:27:11 2009 -0700 drm/i915: Change DCC tiling detection case to cover only mobile parts. Later spec investigation has revealed that every 9xx mobile part has had this register in this format. Also, no non-mobile parts have been shown to have this register. So make all mobile use the same code, and all non-mobile use the hack 965 detection. Signed-off-by: Eric Anholt commit 86db97c87f744364d5889ca8a4134ca2048b8f83 Author: Jan Kara Date: Fri Mar 27 17:20:40 2009 -0400 jbd2: Update locking coments Update information about locking in JBD2 revoke code. Inconsistency in comments found by Lin Tan . CC: Lin Tan . Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit cc0fb9ad7dbc5a149f4957a0dd6d65881d3d385b Author: Aneesh Kumar K.V Date: Fri Mar 27 17:16:58 2009 -0400 ext4: Rename pa_linear to pa_type Impact: code cleanup This patch rename pa_linear to pa_type and add MB_INODE_PA and MB_GROUP_PA to indicate inode and group prealloc space. Signed-off-by: Aneesh Kumar K.V Reviewed-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit fe2c8191faa29d7a09f4962198f6dfab973ceec4 Author: Thiemo Nagel Date: Tue Mar 31 08:36:10 2009 -0400 ext4: add checks of block references for non-extent inodes Check block references in the inode and indorect blocks for non-extent inodes to make sure they are valid, and flag an error if they are invalid. Signed-off-by: Thiemo Nagel Signed-off-by: "Theodore Ts'o" commit 03a971a2899886006f19f3495973bbd646d8bdae Author: Matthew Garrett Date: Wed Dec 3 18:00:38 2008 +0000 thermal: support forcing support for passive cooling Due to poor thermal design or Linux driving hardware outside its thermal envelope, some systems will reach critical temperature and shut down under high load. This patch adds support for forcing a polling-based passive trip point if the firmware doesn't provide one. The assumption is made that the processor is the most practical means to reduce the dynamic heat generation, so hitting the passive thermal limit will cause the CPU to be throttled until the temperature stabalises around the defined value. UI is provided via a "passive" sysfs entry in the thermal zone directory. It accepts a decimal value in millidegrees celsius, or "0" to disable the functionality. Default behaviour is for this functionality to be disabled. Signed-off-by: Matthew Garrett Signed-off-by: Len Brown commit f6f5c45e06e86d94621cd5c1c4508bdee1952fc8 Author: Stephen Rothwell Date: Tue Mar 3 12:47:17 2009 +1100 ACPI: update thermal for bus_id removal > drivers/acpi/thermal.c: In function 'thermal_notify': > drivers/acpi/thermal.c:768: error: 'struct device' has no member named 'bus_id' > > Caused by commit b1569e99c795bf83b4ddf41c4f1c42761ab7f75e ("ACPI: move > thermal trip handling to generic thermal layer") interacting with commit > d4a078fca590911cdf87a8eaffee1b6e643c2558 ("driver core: get rid of struct > device's bus_id string array"). > Signed-off-by: Stephen Rothwell Signed-off-by: Len Brown commit fb318cbff40964999f303d50bcf541dd9ead6780 Author: Lin Ming Date: Wed Mar 18 09:09:01 2009 +0800 ACPI: cpufreq: use new bit register access function > arch/x86/kernel/cpu/cpufreq/longhaul.c: In function 'longhaul_setstate': > arch/x86/kernel/cpu/cpufreq/longhaul.c:308: error: implicit declaration of function 'acpi_set_register' Signed-off-by: Lin Ming Compile-tested-by: Stephen Rothwell Signed-off-by: Len Brown commit 32a0f488ce5e8a9a148491f15edc508ab5e8265b Author: Beat Michel Liechti Date: Thu Mar 26 22:36:52 2009 +0100 DVB: firedtv: FireDTV S2 problems with tuning solved Signed-off-by: Beat Michel Liechti Tuning was broken on FireDTV S2 (and presumably FloppyDTV S2) because a wrong opcode was sent. The box only gave "not implemented" responses. Changing the opcode to _TUNE_QPSK2 fixes this for good. Cc: stable@kernel.org Signed-off-by: Stefan Richter commit aabb8fdb41128705fd1627f56fdd571e45fdbcdb Author: Nick Piggin Date: Wed Mar 11 13:17:36 2009 -0700 fs: avoid I_NEW inodes To be on the safe side, it should be less fragile to exclude I_NEW inodes from inode list scans by default (unless there is an important reason to have them). Normally they will get excluded (eg. by zero refcount or writecount etc), however it is a bit fragile for list walkers to know exactly what parts of the inode state is set up and valid to test when in I_NEW. So along these lines, move I_NEW checks upward as well (sometimes taking I_FREEING etc checks with them too -- this shouldn't be a problem should it?) Signed-off-by: Nick Piggin Acked-by: Jan Kara Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 1bd7903560f1f713e85188a5aaf4d2428b6c8b50 Author: Sukadev Bhattiprolu Date: Sat Mar 7 10:12:32 2009 -0800 Merge code for single and multiple-instance mounts new_pts_mount() (including the get_sb_nodev()), shares a lot of code with init_pts_mount(). The only difference between them is the 'test-super' function passed into sget(). Move all common code into devpts_get_sb() and remove the new_pts_mount() and init_pts_mount() functions, Changelog[v3]: [Serge Hallyn]: Remove unnecessary printk()s Changelog[v2]: (Christoph Hellwig): Merge code in 'do_pts_mount()' into devpts_get_sb() Signed-off-by: Sukadev Bhattiprolu Acked-by: Serge Hallyn Tested-by: Serge Hallyn Signed-off-by: Al Viro commit 289f00e225a6f60056644e0fd7e4081cb140c631 Author: Sukadev Bhattiprolu Date: Sat Mar 7 10:12:06 2009 -0800 Remove get_init_pts_sb() With mknod_ptmx() moved to devpts_get_sb(), init_pts_mount() becomes a wrapper around get_init_pts_sb(). Remove get_init_pts_sb() and fold code into init_pts_mount(). Signed-off-by: Sukadev Bhattiprolu Acked-by: Serge Hallyn Signed-off-by: Al Viro commit 945cf2c79f6fbb1b74e3b0ca08f48b6af56ad412 Author: Sukadev Bhattiprolu Date: Sat Mar 7 10:11:41 2009 -0800 Move common mknod_ptmx() calls into caller We create 'ptmx' node in both single-instance and multiple-instance mounts. So devpts_get_sb() can call mknod_ptmx() once rather than have both modes calling mknod_ptmx() separately. Signed-off-by: Sukadev Bhattiprolu Acked-by: Serge Hallyn Signed-off-by: Al Viro commit 482984f06df54d886995a4383d2f5bb85e3de945 Author: Sukadev Bhattiprolu Date: Sat Mar 7 10:14:41 2009 -0800 Parse mount options just once and copy them to super block Since all the mount option parsing is done in devpts, we could do it just once and pass it around in devpts functions and eventually store it in the super block. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Al Viro commit fdbf5348661ac9d519164d1489f30cc0384fda58 Author: Sukadev Bhattiprolu Date: Sat Mar 7 10:16:20 2009 -0800 Unroll essentials of do_remount_sb() into devpts On remount, devpts fs only needs to parse the mount options. Users cannot directly create/dirty files in /dev/pts so the MS_RDONLY flag and shrinking the dcache does not really apply to devpts. So effectively on remount, devpts only parses the mount options and updates these options in its super block. As such, we could replace do_remount_sb() call with a direct parse_mount_options(). Doing so enables subsequent patches to avoid parsing the mount options twice and simplify the code. Signed-off-by: Sukadev Bhattiprolu Acked-by: Serge Hallyn Signed-off-by: Al Viro commit a3ec947c85ec339884b30ef6a08133e9311fdae1 Author: Sukadev Bhattiprolu Date: Wed Mar 4 12:06:34 2009 -0800 vfs: simple_set_mnt() should return void simple_set_mnt() is defined as returning 'int' but always returns 0. Callers assume simple_set_mnt() never fails and don't properly cleanup if it were to _ever_ fail. For instance, get_sb_single() and get_sb_nodev() should: up_write(sb->s_unmount); deactivate_super(sb); if simple_set_mnt() fails. Since simple_set_mnt() never fails, would be cleaner if it did not return anything. [akpm@linux-foundation.org: fix build] Signed-off-by: Sukadev Bhattiprolu Acked-by: Serge Hallyn Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225 Author: Nick Piggin Date: Wed Feb 25 10:44:19 2009 +0100 fs: move bdev code out of buffer.c Move some block device related code out from buffer.c and put it in block_dev.c. I'm trying to move non-buffer_head code out of buffer.c Signed-off-by: Al Viro commit 3ba13d179e8c24c68eac32b93593a6b10fcd1572 Author: Al Viro Date: Fri Feb 20 06:02:22 2009 +0000 constify dentry_operations: rest Signed-off-by: Al Viro commit 296c2d86635bd6ecd8f282dfff18bb68fb4fc512 Author: Al Viro Date: Fri Feb 20 06:02:01 2009 +0000 constify dentry_operations: configfs Signed-off-by: Al Viro commit ee1ec32903fc3139af00ebc7ee483dabca3f4fa5 Author: Al Viro Date: Fri Feb 20 06:01:46 2009 +0000 constify dentry_operations: sysfs Signed-off-by: Al Viro commit ad28b4ef1937b11432cd64fe1ebad714f8e253bd Author: Al Viro Date: Fri Feb 20 06:00:49 2009 +0000 constify dentry_operations: JFS Signed-off-by: Al Viro commit d8fba0ffe5e7442fc2560873ec901be6e56602a1 Author: Al Viro Date: Fri Feb 20 06:00:26 2009 +0000 constify dentry_operations: OCFS2 Signed-off-by: Al Viro commit 92cecbbfa3785a944c733a284b77faee5b82b70c Author: Al Viro Date: Fri Feb 20 06:00:05 2009 +0000 constify dentry_operations: GFS2 Signed-off-by: Al Viro commit ce6cdc474aa5bf4c1a7dc698d83bb0622846a81d Author: Al Viro Date: Fri Feb 20 05:59:46 2009 +0000 constify dentry_operations: FAT Signed-off-by: Al Viro commit 4269590a72934bb901b33b686e20605bf66653c4 Author: Al Viro Date: Fri Feb 20 05:59:13 2009 +0000 constify dentry_operations: FUSE Signed-off-by: Al Viro commit d72f71eb0edd629c95715aa7305b0259d3581e34 Author: Al Viro Date: Fri Feb 20 05:58:47 2009 +0000 constify dentry_operations: procfs Signed-off-by: Al Viro commit 5a3fd05a9bb2f104020fbfc4551ad4aaed4660a4 Author: Al Viro Date: Fri Feb 20 05:57:52 2009 +0000 constify dentry_operations: ecryptfs Signed-off-by: Al Viro commit 4fd03e84d8f4e6304cef19698a24dee84039ef01 Author: Al Viro Date: Fri Feb 20 05:57:07 2009 +0000 constify dentry_operations: CIFS Signed-off-by: Al Viro commit 79be57cc7fd25563c73ab26b0c28ff6ad0d618fc Author: Al Viro Date: Fri Feb 20 05:56:47 2009 +0000 constify dentry_operations: AFS Signed-off-by: Al Viro commit 08f11513fa6f712506edb99327f7d051da9d860f Author: Al Viro Date: Fri Feb 20 05:56:19 2009 +0000 constify dentry_operations: autofs, autofs4 Signed-off-by: Al Viro commit a488257ce5a55c53973671218791296463698d07 Author: Al Viro Date: Fri Feb 20 05:55:46 2009 +0000 constify dentry_operations: 9p Signed-off-by: Al Viro commit e16404ed0f3f330dc3e99b95cef69bb60bcd27f7 Author: Al Viro Date: Fri Feb 20 05:55:13 2009 +0000 constify dentry_operations: misc filesystems Signed-off-by: Al Viro commit f786aa90e026f2174bb0c26d49f338c5c46ede55 Author: Al Viro Date: Fri Feb 20 05:51:22 2009 +0000 constify dentry_operations: NFS Signed-off-by: Al Viro commit e56980d451904b623573ef4966cbab768e433c79 Author: Jan Engelhardt Date: Wed Feb 11 13:14:54 2009 -0800 fs: make struct dentry->d_op const This change will allow for tagging many dentry_operations const in the source tree. Signed-off-by: Jan Engelhardt Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit a9f184f02aa49d46c4c35311d93cbcd1c61149df Author: Sukadev Bhattiprolu Date: Wed Jan 28 16:57:12 2009 -0800 devpts: Must release s_umount on error We should drop the ->s_umount mutex if an error occurs after the sget()/grab_super() call. This was introduced when adding support for multiple instances of devpts and noticed during a code review/reorg. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Al Viro commit af5df56688acfb75c1b15b4e000ec5e82a9cdc29 Author: Steven Whitehouse Date: Tue Jan 20 10:29:46 2009 +0000 vfs: Further changes from macro to inline function in fs.h There is a second set of macros for when CONFIG_FILE_LOCKING is not set. This patch updates those to become inline functions as well. Signed-off-by: Steven Whitehouse Signed-off-by: Al Viro commit c2aca5e529a2499d454c41e01f59f1d5fe4a1364 Author: Steven Whitehouse Date: Tue Jan 20 10:29:45 2009 +0000 vfs: Update fs.h to use inline functions when no file locking set This avoids various issues which might give rise to compiler warnings about missing functions and/or unused variable with the previous macros. This also fixes a bug where one of the macros was returning 0, but it should have been void. Reported-by: Randy Dunlap Signed-off-by: Steven Whitehouse Tested-by: Randy Dunlap Signed-off-by: Al Viro commit 10f303ae1e5e77a9f7cb053e6329906afb132c67 Author: Cheng Renquan Date: Wed Jan 14 17:01:33 2009 +0800 do_pipe cleanup: drop its last user in arch/alpha/ The last user of do_pipe is in arch/alpha/, after replacing it with do_pipe_flags, the do_pipe can be totally dropped. Signed-off-by: Cheng Renquan Acked-by: Richard Henderson Signed-off-by: Al Viro commit 723be1f30046a46471b00106ebef9d8c832f12e9 Author: Duane Griffin Date: Thu Jan 8 22:43:51 2009 +0000 ufs: copy symlink data into the correct union member Copy symlink data into the union member it is accessed through. Although this shouldn't make a difference to behaviour it makes the code easier to follow and grep through. It may also prevent problems if the struct/union definitions change in the future. Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit b12903f1384cd176a3994a6bf6caf5a482169cc8 Author: Duane Griffin Date: Thu Jan 8 22:43:50 2009 +0000 ufs: ensure fast symlinks are NUL-terminated Ensure fast symlink targets are NUL-terminated, even if corrupted on-disk. Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit f33219b7a90c4779a0b59e11fb35ebc4542db328 Author: Duane Griffin Date: Thu Jan 8 22:43:49 2009 +0000 ufs: don't truncate longer ufs2 fast symlinks ufs2 fast symlinks can be twice as long as ufs ones, however the code was using the ufs size in various places. Fix that so ufs2 symlinks over 60 characters aren't truncated. Note that we copy the entire area instead of using the maxsymlinklen field from the superblock. This way we will be more robust against corruption (of the superblock). While we are at it, use memcpy instead of open-coding it with for loops. Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit 9e6766cc8c125cf406960a5bfdf1455473f4835c Author: Duane Griffin Date: Thu Jan 8 22:43:48 2009 +0000 ufs: validate maximum fast symlink size from superblock The maximum fast symlink size is set in the superblock of certain types of UFS filesystem. Before using it we need to check that it isn't longer than the available space we have in the inode. Signed-off-by: Duane Griffin Signed-off-by: Al Viro commit c8fe8f30c7fe6ce6fc44a1db7d5bfa5144cd9211 Author: Christoph Hellwig Date: Mon Jan 5 19:27:23 2009 +0100 cleanup may_open Add a switch for the various i_mode fmt cases, and remove the comment about writeability of devices nodes - that part is handled in inode_permission and comment on (briefly) there. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit b6520c81934848cef126d93951f7ce242e0f656d Author: Christoph Hellwig Date: Mon Jan 5 19:10:37 2009 +0100 cleanup d_add_ci Make sure that comments describe what's going on and not how, and always use __d_instantiate instead of two separate branches, one with d_instantiate and one with __d_instantiate. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 2b1c6bd77d4e6a727ffac8630cd154b2144b751a Author: Christoph Hellwig Date: Fri Nov 28 10:09:09 2008 +0100 generic compat_sys_ustat Due to a different size of ino_t ustat needs a compat handler, but currently only x86 and mips provide one. Add a generic compat_sys_ustat and switch all architectures over to it. Instead of doing various user copy hacks compat_sys_ustat just reimplements sys_ustat as it's trivial. This was suggested by Arnd Bergmann. Found by Eric Sandeen when running xfstests/017 on ppc64, which causes stack smashing warnings on RHEL/Fedora due to the too large amount of data writen by the syscall. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit ec1ab0abde0af586a59541ad71841f022dcac3e7 Author: Christoph Hellwig Date: Fri May 9 12:35:29 2008 +0200 affs: fix missing unlocks in affs_remove_link In two error cases affs_remove_link doesn't call affs_unlock_dir to release the i_hash_lock semaphore. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 7120569c76028a6883697b7643564f0c419cfe07 Author: Isaku Yamahata Date: Fri Mar 27 15:11:57 2009 +0900 ia64: remove some warnings. This patch removes the following warnings and related ones. Plus some cosmetics. arch/ia64/kernel/patch.c:112: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast arch/ia64/kernel/patch.c:135: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast arch/ia64/kernel/patch.c:166: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast arch/ia64/kernel/patch.c:202: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast arch/ia64/kernel/patch.c:220: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit b46a0b08b8bdf6467cd2b49f520e100c72885302 Author: Isaku Yamahata Date: Fri Mar 27 15:10:33 2009 +0900 ia64/xen: fix the link error. This patch fixes the following link error with xen_domu_defconfig. Depending on compiler version, it doesn't link as follows. So remove const and use __initdata for xen_iosapic_ops. > arch/ia64/xen/xen_pv_ops.c:878: error: xen_iosapic_ops causes a section type conflict Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 996ff68d8b358885c1de82a45517c607999947c7 Author: Dan Carpenter Date: Fri Mar 27 13:28:48 2009 +0300 Add a missing unlock_kernel() in raw_open() Cc: stable@kernel.org Signed-off-by: Dan Carpenter Signed-off-by: Jonathan Corbet commit 018f452e9d9d0cb5c3e8d33fd94dc6cd3c520a8f Author: Bjorn Helgaas Date: Tue Mar 24 16:50:24 2009 -0600 ACPI: tidy up makefile This patch removes the suggestion that ec.o link order is important, because it doesn't matter since acpi_ec_init() is no longer an initcall. And it puts together most of the core modules that are not configurable. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 201b8c655f7a48563f6a0b66f9e388460a1ea611 Author: Bjorn Helgaas Date: Tue Mar 24 16:50:19 2009 -0600 ACPI: call acpi_wakeup_device_init() explicitly rather than as initcall This patch makes acpi_init() call acpi_wakeup_device_init() directly. Previously, acpi_wakeup_device_init() was a late_initcall (sequence 7). acpi_wakeup_device_init() depends on acpi_wakeup_device_list, which is populated when ACPI devices are enumerated by acpi_init() -> acpi_scan_init(). Using late_initcall is certainly enough to make sure acpi_wakeup_device_list is populated, but it is more than necessary. We can just as easily call acpi_wakeup_device_init() directly from acpi_init(), which avoids the initcall magic. Signed-off-by: Bjorn Helgaas CC: Li Shaohua Signed-off-by: Len Brown commit 9cee43e07940bee13462e63bd75ce4430b155886 Author: Bjorn Helgaas Date: Tue Mar 24 16:50:14 2009 -0600 ACPI: call acpi_sleep_proc_init() explicitly rather than as initcall This patch makes acpi_init() call acpi_sleep_proc_init() directly. Previously, acpi_sleep_proc_init() was a late_initcall (sequence 7), apparently to make sure that the /proc hierarchy already exists: 2003/02/13 12:38:03-06:00 mochel acpi sleep: demote sleep proc file creation. - Make acpi_sleep_proc_init() a late_initcall(), and not called from acpi_sleep_init(). This guarantees that the acpi proc hierarchy is at least there when we create the dang file. This should no longer be an issue because acpi_bus_init() (called early in acpi_init()) creates acpi_root_dir (/proc/acpi). Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 0e46517d9660ee6ae0a0c5d8a4e50451bc84d61d Author: Bjorn Helgaas Date: Tue Mar 24 16:50:09 2009 -0600 ACPI: call init_acpi_device_notify() explicitly rather than as initcall This patch makes acpi_init() call init_acpi_device_notify() directly. Previously, init_acpi_device_notify() was an arch_initcall (sequence 3), so it was called before acpi_init() (a subsys_initcall at sequence 4). init_acpi_device_notify() sets the platform_notify and platform_notify_remove function pointers. These pointers are not used until acpi_init() enumerates ACPI devices in this path: acpi_init() acpi_scan_init() acpi_bus_scan() acpi_add_single_object() acpi_device_register() device_add() So it is sufficient to have acpi_init() call init_acpi_device_notify() directly before it enumerates devices. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 66f3e6afa8e48486c4dd535d616fbfe04569fbd4 Author: Jes Sorensen Date: Fri Mar 27 16:55:41 2009 +0100 [IA64] Fix kstat_this_cpu build breakage arch/ia64/kernel/irq_ia64.c: In function 'ia64_handle_irq': arch/ia64/kernel/irq_ia64.c:498: error: 'struct kernel_stat' has no member named 'irqs' arch/ia64/kernel/irq_ia64.c:500: error: 'struct kernel_stat' has no member named 'irqs' arch/ia64/kernel/irq_ia64.c: In function 'ia64_process_pending_intr': arch/ia64/kernel/irq_ia64.c:556: error: 'struct kernel_stat' has no member named 'irqs' arch/ia64/kernel/irq_ia64.c:558: error: 'struct kernel_stat' has no member named 'irqs' Fix build breakage due to recent kstat_this_cpu changes in: d7e51e66899f95dabc89b4d4c6674a6e50fa37fc sparseirq: make some func to be used with genirq Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 84f810c33f695e020776ce66c903e0b41872f1b2 Author: Bjorn Helgaas Date: Tue Mar 24 16:50:03 2009 -0600 ACPI: call acpi_debug_init() explicitly rather than as initcall This patch makes acpi_init() call acpi_debug_init() directly. Previously, both were subsys_initcalls. acpi_debug_init() must happen after acpi_init(), and it's better to call it explicitly rather than rely on link ordering. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 141a0af3cab7de690816b17aad1682050219f774 Author: Bjorn Helgaas Date: Tue Mar 24 16:49:58 2009 -0600 ACPI: call acpi_system_init() explicitly rather than as initcall This patch makes acpi_init() call acpi_system_init() directly. Previously, both were subsys_initcalls. acpi_system_init() must happen after acpi_init(), and it's better to call it explicitly rather than rely on link ordering. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 44515374cba9e46d5622256b43eb06b9c349cee1 Author: Bjorn Helgaas Date: Tue Mar 24 16:49:53 2009 -0600 ACPI: call acpi_power_init() explicitly rather than as initcall This patch makes acpi_init() call acpi_power_init() directly. Previously, both were subsys_initcalls. acpi_power_init() must happen after acpi_init(), and it's better to call it explicitly rather than rely on link ordering. Signed-off-by: Bjorn Helgaas CC: Zhao Yakui Signed-off-by: Len Brown commit a5f820feb54a59fcdaf4a67a6381ea1ddb36cc6e Author: Bjorn Helgaas Date: Tue Mar 24 16:49:48 2009 -0600 ACPI: call acpi_ec_init() explicitly rather than as initcall This patch makes acpi_init() call acpi_ec_init() directly. Previously, both were subsys_initcalls. acpi_ec_init() must happen after acpi_init(), and it's better to call it explicitly rather than rely on link ordering. Signed-off-by: Bjorn Helgaas CC: Alexey Starikovskiy Signed-off-by: Len Brown commit e747f274951507b5a0850155c3d709e26d20de5b Author: Bjorn Helgaas Date: Tue Mar 24 16:49:43 2009 -0600 ACPI: call acpi_scan_init() explicitly rather than as initcall This patch makes acpi_init() call acpi_scan_init() directly. Previously, both acpi_init() and acpi_scan_init() were subsys_initcalls, and acpi_init() was called first based on the link order from the makefile (bus.o before scan.o). acpi_scan_init() registers the ACPI bus type, creates the root device, and enumerates fixed-feature and namespace devices. All of this must be done after acpi_init(), and it's better to call acpi_scan_init() explicitly rather than rely on the link ordering. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 81d0273df20edff275e2eefe6b50436af3bdf9e8 Author: Bjorn Helgaas Date: Tue Mar 24 16:49:38 2009 -0600 ACPI: skip DMI power state check when ACPI disabled This patch makes acpi_init() exit early when ACPI is disabled. This skips a DMI check that affects ACPI power management. The DMI check prints a notice that is misleading when ACPI is disabled. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 6e15cf04860074ad032e88c306bea656bbdd0f22 Merge: be0ea69... 60db564... Author: Ingo Molnar Date: Thu Mar 26 21:39:17 2009 +0100 Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 Conflicts: arch/parisc/kernel/irq.c arch/x86/include/asm/fixmap_64.h arch/x86/include/asm/setup.h kernel/irq/handle.c Semantic merge: arch/x86/include/asm/fixmap.h Signed-off-by: Ingo Molnar commit 4ef4cbb3686f9265da87bc6e482162c96f415427 Author: Alessio Igor Bogani Date: Thu Mar 26 21:58:25 2009 +0900 sony-laptop: Kill the BKL Signed-off-by: Alessio Igor Bogani Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 3741834775de035bdf0cd1ce44862bb8c775a4fa Author: Mattia Dongili Date: Thu Mar 26 21:58:24 2009 +0900 sony-laptop: update copyright Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit c9f1e6f67ad6d16c11586a4550fd054d7538eb92 Author: Mattia Dongili Date: Thu Mar 26 21:58:23 2009 +0900 sony-laptop: Make sony_pic_set_wwanpower not take mutexes For consistency with __sony_pic_set_bluetoothpower, this is also needed later to allow setting the wwanpower attribute from the resume path and only lock the mutex once. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit f5acf5e898618295895b61d81681ae3115d94b96 Author: Anton Veretenenko Date: Thu Mar 26 22:44:26 2009 +0900 sony-laptop: Add FW specific hotkey events Signed-off-by: Anton Veretenenko Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 3ad1b7619959c0387a30e05c6f36537190b6da7b Author: Sergey Yanovich Date: Thu Mar 26 21:58:21 2009 +0900 sony-laptop: notify the hardware of a state change in wwanpower Signed-off-by: Sergey Yanovich Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit d5b02695d5471b38064efeba2b102bd5ead55297 Author: ISHIKAWA Mutsumi Date: Thu Mar 26 21:58:20 2009 +0900 sony-laptop: detect the ICH9 chipset as Type3 Signed-off-by: ISHIKAWA Mutsumi Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 2b24ef093aec6d7b9c18af75644ec22b4069b283 Author: Alan Cox Date: Thu Mar 26 21:58:19 2009 +0900 sony-laptop: Eliminate BKL in ioctls Signed-off-by: Alan Cox Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 1cae71032183776e833036fe828315dcd3444df1 Author: Harald Jenny Date: Thu Mar 26 21:58:18 2009 +0900 sony-laptop: VGN-A317M hotkey support This laptop has 5 SPIC managed buttons above the keyboard: sound + and - as well as brightness, zoom and S1. Possibly the entire VGN-A serie behaves the same. Signed-off-by: Harald Jenny Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit e93c8a6819b217f4f4a490f67f26e02ff6b23b44 Author: Mattia Dongili Date: Thu Mar 26 21:58:17 2009 +0900 sony-laptop: merge Type4 into Type3 Creating Type4 was a mistake in the first place. Some users report that also Type3 vaios require the same extra hotkey handling which the Type4 for was menat to guard from. Merging down Type4 into Type3 will just remove a useless distinction. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 45c7942ba8f6b7d5d1147c10f84f0cbf5fa3a2b8 Author: Matthew Garrett Date: Thu Mar 26 21:58:16 2009 +0900 sony-laptop: Add support for extended hotkeys Recent Sony SR-series machines have an additional set of buttons accessed via the 0x127 method rather than the 0x100 method. Add support for these. Signed-off-by: Matthew Garrett Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 6cc056bc31ea9910afb01adc0848bb6ae68e0205 Author: Matthew Garrett Date: Thu Mar 26 21:58:15 2009 +0900 sony-laptop: Add rfkill support on new models Newer Vaios provide a full featured rfkill implementation via their platform methods. Add support for enumerating the available devices and providing rfkill access to them. Support for the physical kill switch is added, with the devices moving into the HARD_BLOCKED state when toggled. Signed-off-by: Matthew Garrett Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 9b57896e62bfa752ee7435e6cfe57fb210c0db8c Author: Matthew Garrett Date: Thu Mar 26 21:58:14 2009 +0900 sony-laptop: Add support for extra keyboard events The current sony-laptop code assumes that the keyboard event method is always located at slot 2 in the platform code. Remove this assumption and add support for some additional hotkeys. Signed-off-by: Matthew Garrett Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 82734bfc8622f3e8f015a5783b739739f97f89f9 Author: Matthew Garrett Date: Thu Mar 26 21:58:13 2009 +0900 sony-laptop: Enable EC on newer hardware The latest Vaios can execute certain codepaths in two ways - either using system management mode or using pure ACPI methods. The latter is only used if the OS has called the ECON method. Ensure that this is done where the method is available. Signed-off-by: Matthew Garrett Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit badf26f00f2ed80615206d07bcfc2e3b78af5441 Author: Matthew Garrett Date: Thu Mar 26 21:58:12 2009 +0900 sony-laptop: Add support for new Sony platform API Newer Sony Vaios provide a new API for accessing platform functionality. It consists of a set of standardised methods for enabling events and performing queries. These are each identified by a unique handle. This patch adds support for calling functions based on their handle and ports the existing code for these machines over to it. Signed-off-by: Matthew Garrett Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 14eecfc1195a9d16999157591ffce23acd6df8c1 Author: Bob Moore Date: Mon Mar 23 09:30:27 2009 +0800 ACPICA: Update version to 20090320 Version 20090320. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 03ef132b7258bbea4858be4b1bd6cb6c3fdd3253 Author: Bob Moore Date: Thu Mar 19 10:14:45 2009 +0800 ACPICA: Fix index value in package warning message For predefined method validation. Index value in warning message could be off by one. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit f65563063375b05898a94ab71b52612cbe3a789b Author: Bob Moore Date: Thu Mar 19 10:13:40 2009 +0800 ACPICA: FADT: Favor 32-bit FACS and DSDT addresses If both the 32-bit and 64-bit addresses are non-null, use the 32-bit address. Provides Windows compatibility. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 31fbc073a35a017e34840deb9e865a701e986002 Author: Bob Moore Date: Thu Mar 19 10:12:13 2009 +0800 ACPICA: FADT: Favor 32-bit register addresses for compatibility Use the 32-bit register addresses whenever they are non-zero. This means that the 32-bit addresses are favored over the 64-bit (GAS) addresses. The 64-bit addresses are only used if the 32-bit addresses are zero. This change provides compatibility with all versions of Windows. The worst case that this solves is when both the 32-bit and 64-bit addresses are non-zero, but only the 32-bit addresses are actually valid. This appears to happen in some BIOSes because in this case, Windows uses the 32-bit addresses. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit f28ad2c3daf0691081d91488df4d9d101e1a2b5d Author: Bob Moore Date: Thu Mar 19 09:54:31 2009 +0800 ACPICA: Fix PCI configuration space port address range Microsoft website uses 0xCF8-0xD00. Should be 0xCF8-0xCFF (Two 32-bit registers.) Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ee6a0fbd0ccb7736a3be56630e3ad65ceddfb5bd Author: Bob Moore Date: Thu Mar 19 09:53:35 2009 +0800 ACPICA: Condense some protected ports One entry in the protected port table eliminated. Added extra comments to describe each table entry. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 91a56e631fc837852304ee7bc2876d6e444b7fdb Author: Bob Moore Date: Thu Mar 19 09:52:34 2009 +0800 ACPICA: Remove unused code, no functional change Removed unused code for dump of args and locals. General cleanup and splitting of long lines. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit c3dd25f4c1ca84baa170c0a3a15a884f4f06297e Author: Lin Ming Date: Thu Mar 19 09:51:01 2009 +0800 ACPICA: Clear PM register write-only bits on reading Affects PM1 Control register only. When reading the register, zero the write-only bits as per the ACPI spec. ACPICA BZ 443. Lin Ming. http://www.acpica.org/bugzilla/show_bug.cgi?id=443 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit f9ca058430333c9a24c5ca926aa445125f88df18 Author: Bob Moore Date: Thu Mar 19 09:47:16 2009 +0800 ACPICA: Remove obsolete acpi_os_validate_address interface This interface is no longer necessary. Requests should be validated on a per-field basis, not on the entire operation region. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 7f0719039085cc40114abce84cf29fe57da226f4 Author: Bob Moore Date: Thu Mar 19 09:37:47 2009 +0800 ACPICA: New: I/O port protection Protect certain I/O ports from reads/writes. Provides MS compatibility. New module, hwvalid.c Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 20869dcfde204e1c21b642608d708d82472fee2b Author: Bob Moore Date: Fri Mar 13 09:10:46 2009 +0800 ACPICA: Preserve all PM control reserved and ignored bits As per the ACPI specification, preserve (read/modify/write) all bits that are defined as either reserved or ignored (PM control control registers only.) Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8636f8d257b3edf5a1529df93119cdc630ed85c7 Author: Bob Moore Date: Mon Mar 9 16:32:20 2009 +0800 ACPICA: Change handling of PM1 Status register ignored bit Ignored bits must be preserved according to the ACPI spec. Usually this means a read/modify/write when writing to the register. However, for status registers, writing a one means clear the event. Writing a zero means preserve the event (do not clear.) This behavior is clarified in the ACPI 4.0 spec, and the ACPICA code now simply always writes a zero to the ignored bit. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8a335a2331c72e60c6b3ef09b2dedd3ba00da1b1 Author: Bob Moore Date: Mon Mar 9 16:31:04 2009 +0800 ACPICA: Fix AcpiWalkNamespace race condition with table unload Added a reader/writer locking mechanism to allow multiple concurrent namespace walks (readers), but a dynamic table unload will have exclusive access to the namespace. This fixes a problem where a table unload could delete the portion of the namespace that is currently being examined by a walk. Adds a new file, utlock.c that implements the reader/writer lock mechanism. ACPICA BZ 749. http://www.acpica.org/bugzilla/show_bug.cgi?id=749 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit aab61b676a024d3527f6201e2b31285a96f7a1d2 Author: Bob Moore Date: Fri Mar 6 10:09:00 2009 +0800 ACPICA: FADT: Fix extraneous length mismatch warning Incorrect register length mismatch between the 32 and 64 bit registers in some cases. Code was was checking the wrong pointer for non-zero, should be looking at the address within the GAS structure. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit d4913dc6d0c680aa106d1d80b5ad2a9325367afd Author: Bob Moore Date: Fri Mar 6 10:05:18 2009 +0800 ACPICA: Formatting update - no functional changes Split long lines, update comments. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 768aaaf196e8a40f5cfc792d9d365795cc52ed13 Author: Bob Moore Date: Fri Mar 6 09:49:25 2009 +0800 ACPICA: Add manifest constants for bit register values Add and deploy constants for the PM status/enable/control registers. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 2f47c8c5556e91f309e24162263ebacff6973007 Author: Hans-Christian Egtvedt Date: Tue Mar 24 13:59:23 2009 +0100 avr32: at32ap700x: setup DMA for AC97C in the machine code This patch will adjust the setup the DMA controller for the AC97 Controller in the at32ap700x machine code. This setup matches the new ALSA driver for the AC97C. The struct ac97c_platform_data has been moved into its own header file located in the sound include path. Tested on ATSTK1006 + ATSTK1000. This patch will setup the AC97 controller properly for the adjusted machine code. Both EVKLCD10x and Hammerhead board has been updated. Tested on EVKLCD10x, and copied to Hammerhead board. Signed-off-by: Hans-Christian Egtvedt [haavard.skinnemoen@atmel.com: fold with board code update] Signed-off-by: Haavard Skinnemoen commit 6b0c9351426bdedcbe8fb81149a072de96991666 Author: Hans-Christian Egtvedt Date: Tue Mar 24 13:59:22 2009 +0100 avr32: at32ap700x: setup DMA for ABDAC in the machine code This patch will adjust the setup the DMA controller for the Audio Bistream DAC in the at32ap700x machine code. This setup matches the new ALSA driver for the ABDAC. Tested on ATSTK1006 + ATSTK1000. This patch will setup the needed platform data for the Audio Bistream DAC used by the Favr-32 board. Signed-off-by: Hans-Christian Egtvedt [haavard.skinnemoen@atmel.com: fold board code update] Signed-off-by: Haavard Skinnemoen commit b92efa9abffc4a634cd2e7a0f81f8aa6310d67c9 Merge: a16fffd... be0ea69... Author: Haavard Skinnemoen Date: Fri Mar 27 16:14:38 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into avr32-arch commit a16fffdd8eb95ebab7dc22414896fe6493951e0e Author: Jonas Larsson Date: Fri Mar 27 10:18:14 2009 +0100 Add Merisc board support Merisc is the family name for a range of AVR32-based boards. The boards are designed to be used in a man-machine interfacing environment, utilizing a touch-based graphical user interface. They host a vast range of I/O peripherals as well as a large SDRAM & Flash memory bank. For more information see: http://www.martinsson.se/merisc Signed-off-by: Jonas Larsson Signed-off-by: Haavard Skinnemoen commit 4d1e4e5a6387aad97590e2da9c6db1350f22f63a Author: Sascha Hauer Date: Thu Mar 26 12:38:26 2009 +0100 imxfb: Fix TFT mode We read from the PCR reg to determine whether to use TFT mode or not. This is not possible because it may not have been initialized with the correct value yet. Select it using fbi->pcr instead. Signed-off-by: Sascha Hauer commit ec621699031b298eadd7e364f65281291b19ea37 Author: Sascha Hauer Date: Thu Mar 26 12:23:23 2009 +0100 i.MX21/27: remove ifdef CONFIG_FB_IMX Compile in the framebuffer device unconditionally to fix pcm038 compilation without framebuffer support. Signed-off-by: Sascha Hauer commit f909ef6437a8388e3f1272c67ee29071f930bd6b Author: Sascha Hauer Date: Thu Jan 15 15:21:00 2009 +0100 imxfb: add clock support v2: Added change from Martin Fuzzey: pixclock should be in pico seconds instead of MHz. Signed-off-by: Sascha Hauer commit 74bef9a4fa978669b234c4454daa596c0494c09a Author: Ilya Yanok Date: Tue Mar 3 02:49:23 2009 +0300 mxc: add arch_reset() function This patch adds arch_reset() function for all mxc platforms. It also removes (unsused) arch/arm/mach-mx2/system.c file. This patch has been tested on i.MX1/27/31/35 Signed-off-by: Ilya Yanok Signed-off-by: Sascha Hauer commit 05fd8e73e1357feaea9c48938d937eae76b4aef4 Author: Sascha Hauer Date: Sat Mar 7 12:55:49 2009 +0100 clkdev: add possibility to get a clock based on the device name This adds clk_get_sys to get a clock without the associated struct device. Signed-off-by: Sascha Hauer commit 0412d6c9271811b84568fcea3237e2193e21866a Author: Sascha Hauer Date: Wed Mar 25 19:46:48 2009 +0100 i.MX1: remove fb support from mach-imx The lack of an include file currently breaks compilation of mx1ads_defconfig. As framebuffer support is not actively used for mach-imx and the whole architecture will be replaced by mach-mx1 soon, just remove fb support. Signed-off-by: Sascha Hauer commit bf717c0a2e18dbe82eeb28e57b0abede3cdf45d6 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:47 2009 +0100 ide: keep track of number of bytes instead of sectors in struct ide_cmd * Pass number of bytes instead of sectors to ide_init_sg_cmd(). * Pass number of bytes to process to ide_pio_sector() and rename it to ide_pio_bytes(). * Rename ->nsect field to ->nbytes in struct ide_cmd and use ->nbytes, ->nleft and ->cursg_ofs to keep track of number of bytes instead of sectors. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35b5d0be3d8de9a5ac51471c12029fb115200cdc Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:47 2009 +0100 ide: remove ide_execute_pkt_cmd() (v2) * Pass command structure to ide_execute_command() and skip __ide_set_handler() for ATAPI protocols on non-DRQ devices. * Convert ide_issue_pc() to always use ide_execute_command() and remove no longer needed ide_execute_pkt_cmd(). v2: * Fix for non-DRQ devices (based on report from Borislav). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 22117d6eaac50d366d9013c88318a869ea4d8739 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:47 2009 +0100 ide: add ->dma_timer_expiry method and remove ->dma_exec_cmd one (v2) * Rename dma_timer_expiry() to ide_dma_sff_timer_expiry() and export it. * Add ->dma_timer_expiry method and use it to set hwif->expiry for ATA_PROT_DMA protocol in do_rw_taskfile(). * Initialize ->dma_timer_expiry to ide_dma_sff_timer_expiry() for SFF hosts. * Move setting hwif->expiry from ide_execute_command() to its users and drop 'expiry' argument. * Use ide_execute_command() instead of ->dma_exec_cmd in do_rw_taskfile(). * Remove ->dma_exec_cmd method and its implementations. * Unexport ide_execute_command() and ide_dma_intr(). v2: * Fix CONFIG_BLK_DEV_IDEDMA=n build (noticed by Randy Dunlap). * Fix *dma_expiry naming (suggested by Sergei Shtylyov). There should be no functional changes caused by this patch. Cc: Randy Dunlap Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 60c0cd02b254805691cdc61101ada6af7bd56fde Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:46 2009 +0100 ide: set hwif->expiry prior to calling [__]ide_set_handler() * Set hwif->expiry prior to calling [__]ide_set_handler() and drop 'expiry' argument. * Set hwif->expiry to NULL in ide_{timer_expiry,intr}() and remove 'hwif->expiry = NULL' assignments. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b788ee9c6561fd9219a503216284d61036a0dc0b Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:46 2009 +0100 ide: use do_rw_taskfile() for ATA_CMD_PACKET commands * Pass command to ide_issue_pc() and update ->do_request methods in ide-{cd,floppy,tape}.c accordingly. * Convert ide_pktcmd_tf_load() to ide_init_packet_cmd() which just initializes command structure and use do_rw_taskfile() to load ATA_CMD_PACKET commands. While at it: * Rename ide{floppy,tape}_issue_pc() to ide_{floppy,tape}_issue_pc(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2298169418f43ba5e0919762a4bab95a1227872a Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:46 2009 +0100 ide: pass command to ide_map_sg() * Set IDE_TFLAG_WRITE flag and ->rq also for ATA_CMD_PACKET commands. * Pass command to ->dma_setup method and update all its implementations accordingly. * Pass command instead of request to ide_build_sglist(), *_build_dmatable() and ide_map_sg(). While at it: * Fix scc_dma_setup() documentation + use ATA_DMA_WR define. * Rename sgiioc4_build_dma_table() to sgiioc4_build_dmatable(), change return value type to 'int' and drop unused 'ddir' argument. * Do some minor cleanups in [tx4939]ide_dma_setup(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 130e886708d6e11f3d54e5d27c266578de56f343 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:45 2009 +0100 ide: remove ide_end_request() * Add ide_rq_bytes() helper. * Add blk_noretry_request() quirk to ide_complete_rq() (currently only fs requests can be marked as "noretry" so there is no change in behavior). * Switch current ide_end_request() users to use ide_complete_rq(). [ No need to check for rq->nr_sectors == 0 in {ide_dma,task_pio}_intr(), nsectors == 0 in cdrom_end_request() and err == 0 in ide_do_devset(). ] * Remove no longer needed ide_end_request(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ba7d479c36dde12821c01ad0696d678635b8fb92 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:44 2009 +0100 ide: use ide_end_rq() in ide_complete_rq() This results in PIO->DMA retry being triggered also on completion of requests using ide_complete_rq() instead of ide_end_request(). Signed-off-by: Bartlomiej Zolnierkiewicz commit f974b196f58fe042c7b2b4c0ee15d5a6112dbf40 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:44 2009 +0100 ide: pass number of bytes to complete to ide_complete_rq() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit a9587fd8c48415cc93fef7f4ba7748a5d3477e7b Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:44 2009 +0100 ide: remove BUG() from ide_complete_rq() It is no longer needed so remove it, also while at it dequeue the request only on blk_end_request() success and make ide_complete_rq() return an error value. Signed-off-by: Bartlomiej Zolnierkiewicz commit 89f78b3261f7e331e41753ea2459fbb9b60a6f7a Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:43 2009 +0100 ide: move rq->errors quirk out from ide_end_request() Move rq->errors quirk out from ide_end_request() to its call sites. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6902a5331256e1b9f4cef95a1e3622252113b260 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:43 2009 +0100 ide: pass error value to ide_complete_rq() Set rq->errors at ide_complete_rq() call sites and then pass error value to ide_complete_rq(). [ Some rq->errors assignments look really wrong but this patch leaves them alone to not introduce too many changes at once. ] There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 37245aabfa0c628ba884cd88fe5cd633b426a1b2 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:43 2009 +0100 ide: sanitize ide_end_rq() * Move 'uptodate' quirk from ide_end_rq() to its users. * Move quirks for blk_noretry_request() and !blk_fs_request() requests from ide_end_rq() to ide_end_request(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1caf236dafb7291f9fdfe54b12dd945aec0dca03 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:42 2009 +0100 ide: add ide_end_rq() (v2) * Move request dequeuing from __ide_end_request() to ide_end_request(). * Rename __ide_end_request() to ide_end_rq() and export it. * Fix ide_end_rq() to pass original blk_end_request() return value. * ide_end_dequeued_request() is used only in cdrom_end_request() so inline it there and then remove the function. v2: * Remove needless BUG_ON() while at it (start_request()'s one is enough). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1713788ff8e191de5da707ed8144698b32771f99 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:42 2009 +0100 ide: make ide_special_rq() BUG() on unknown requests If unknown request reaches this function something is _seriously_ wrong. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2230d90dd889e35da2728b6f6ebf25fb5a6499bd Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:42 2009 +0100 ide: sanitize ide_finish_cmd() * Move ide_end_request() call out from ide_finish_cmd() to its users. * Use ide_finish_cmd() in task_no_data_intr(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit d364c7f50b3bb6dc77259974038567b821e2cf0a Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:42 2009 +0100 ide: use ide_complete_cmd() for REQ_UNPARK_HEADS * Fixup ->tf_flags in ide_do_park_unpark() to match their current use. * Use ide_complete_cmd() for REQ_UNPARK_HEADS. While at it: * No need to read Error register for PM requests in task_no_data_intr(). Signed-off-by: Bartlomiej Zolnierkiewicz commit e7fedc3ca0b8fcd3350a40c42a7100a9539e6c4a Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:41 2009 +0100 ide: use ide_complete_cmd() for head unload commands Move handling of head unload commands from task_no_data_intr() to ide_complete_cmd() and then use ide_complete_cmd() also for head unload commands. Signed-off-by: Bartlomiej Zolnierkiewicz commit 041cea10a86a25b088185d07ad15d728f503f02c Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:41 2009 +0100 ide: task_error() -> task_error_cmd() * Move ide_error() call from task_error() to task_pio_intr() (the only user). * Drop no longer used arguments from task_error(). * Rename task_error() to ide_error_cmd(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0a1248c5a754cc8dc5b10a902d2f86b40144165c Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:41 2009 +0100 ide: unify exit paths in task_pio_intr() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 151055ed84df7bebc77d88471302a7cd02c6e0a4 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:39 2009 +0100 ide: inline task_in_unexpected() into task_pio_intr() task_in_unexpected() is only used by task_pio_intr() so inline it there. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 901bd08a543eed7cbd4fd9e46df588f173417388 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:39 2009 +0100 ide: merge task_{in,out}_intr() * Merge task_out_intr() with task_in_intr(). * Rename task_in_intr() to task_pio_intr(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0dfb991c6943c810175376b58d1c29cfe532541b Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:39 2009 +0100 ide: use ata_tf_protocols enums * Add IDE_TFLAG_MULTI_PIO taskfile flag and set it for commands using multi-PIO protocol. * Use ata_tf_protocols enums instead of TASKFILE_* defines to denote command's protocol and then rename ->data_phase field to ->protocol. * Remove no longer needed includes. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 04d09b0e62f2180a7e3fa8578ed778eca0c454fd Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:38 2009 +0100 ide: set IDE_TFLAG_WRITE basing on data phase used in ide_taskfile_ioctl() Also take care of fixing up incorrect TASKFILE_IN_DMA[Q] data phase when IDE_DRIVE_TASK_RAW_WRITE is requested (no need to do it for TASKFILE_NO_DATA and TASKFILE_[MULTI]_IN -- it had no chance of working previously). Signed-off-by: Bartlomiej Zolnierkiewicz commit b6308ee0c55acd2e943d849773c9f0a49c516317 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:38 2009 +0100 ide: move command related fields from ide_hwif_t to struct ide_cmd * Move command related fields from ide_hwif_t to struct ide_cmd. * Make ide_init_sg_cmd() take command and sectors number as arguments. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit adb1af9803d167091c2cb4de14014185054bfe2c Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:38 2009 +0100 ide: pass command instead of request to ide_pio_datablock() * Add IDE_TFLAG_FS taskfile flag and set it for REQ_TYPE_FS requests. * Convert ->{in,out}put_data methods to take command instead of request as an argument. Then convert pre_task_out_intr(), task_end_request(), task_error(), task_in_unexpected(), ide_pio_sector(), ide_pio_multi() and ide_pio_datablock() in similar way. * Rename task_end_request() to ide_finish_cmd(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 22aa4b32a19b1f231d4ce7e9af6354b577a22a35 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:37 2009 +0100 ide: remove ide_task_t typedef While at it: - rename struct ide_task_s to struct ide_cmd - remove stale comments from idedisk_{read_native,set}_max_address() - drop unused 'cmd' argument from ide_{cmd,task}_ioctl() - drop unused 'task' argument from tx4939ide_tf_load_fixup() - rename ide_complete_task() to ide_complete_cmd() - use consistent naming for struct ide_cmd variables There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit e6830a86c260d73c6f370aa7ed17ee6c71e5ee05 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:37 2009 +0100 ide: call ide_build_sglist() prior to ->dma_setup (v2) * Re-map sg table if needed in ide_build_sglist(). * Move ide_build_sglist() call from ->dma_setup to its users. * Un-export ide_build_sglist(). v2: * Build fix for CONFIG_BLK_DEV_IDEDMA=n (noticed by Randy Dunlap). There should be no functional changes caused by this patch. Cc: Randy Dunlap Signed-off-by: Bartlomiej Zolnierkiewicz commit b109f526cabcd098131e770fd6232282bce147b4 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:37 2009 +0100 ide: use blk_fs_request() check in ide-taskfile.c Use blk_fs_request() in ide-taskfile.c instead of checking for: - rq->bio in ide_pio_datablock() and task_error() - rq->cmd_type == REQ_TYPE_ATA_TASKFILE in task_end_request() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 03a2faaea8f44edfe583ddf1240948019becfbe4 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:36 2009 +0100 ide: return request status from ->pc_callback method Make ->pc_callback method return request status and then move the request completion from ->pc_callback to ide_pc_intr(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ee38302ffc63da93eb0313053a990bb3466e275 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:36 2009 +0100 ide: remove ->end_request method * Handle completion of private driver requests explicitly for ide_floppy and ide_tape media in ide_kill_rq(). * Remove no longer needed ->end_request method. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 313afea7f25cc6d420179e0b316499c164e3e372 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:34 2009 +0100 ide-{floppy,tape}: cleanup ide*_end_request() * ide*_end_request() is only called with uptodate == 0 or uptodate == 1 so cleanup it accordingly. * Inline ide*_end_request() content at call sites so the only user left is ->end_request method. * ->end_request is now used only for private driver requests so remove handling of other requests from ide*_end_request(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c152cc1a90f9680cefa74d9ff9ce36038081ba72 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:34 2009 +0100 ide: use ->end_request only for private device driver requests * Move IDE{FLOPPY,TAPE}_ERROR_* defines to and rename them to IDE_DRV_ERROR_*. * Handle ->end_request special cases for floppy/tape media in ide_kill_rq(). * Call ->end_request only for private device driver requests. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e2040fd0a97888952b37243b5868872bbe0f6ac Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:34 2009 +0100 ide: move ->failed_pc to ide_drive_t Move ->failed_pc from struct ide_{disk,tape}_obj to ide_drive_t. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit bfdb0b3beb0618dd03e7aa49e2fd3ac360aef370 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:33 2009 +0100 ide-tape: remove superfluous tape->lock tape->lock is not needed (->queue_lock protects queue). Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit cc495557dfaeca552595cda8cd4427d67aa0142e Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:33 2009 +0100 ide-floppy: remove superfluous check from ide_floppy_end_request() There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c7016e95a556098db6dc4d9096a6189be9e18266 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:33 2009 +0100 ide: remove no longer needed PC_FLAG_TIMEDOUT packet command flag There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e295b8d27465a106cd3db150129ab539704e4c65 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:33 2009 +0100 au1xxx-ide: auide_dma_end() cleanup No need to check / clear hwif->sg_nents. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit e2bcb2acb0b076fd0e3388ed0139eb6447fa9ae9 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:32 2009 +0100 trm290: trm290_dma_setup() fix Re-map sg table if necessary (not that it really matters since DMA support is disabled currently). Signed-off-by: Bartlomiej Zolnierkiewicz commit f7ef12482b17a015906cf74afe655e691b5fa2cb Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:32 2009 +0100 icside: icside_dma_setup() fixes Check for ide_build_sglist() return value and re-map sg table if necessary. Signed-off-by: Bartlomiej Zolnierkiewicz commit 39375853d77bea48b7b334daa3698277af8d33f4 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:32 2009 +0100 ide: move smart_enable() call out from get_smart_data() Move smart_enable() call out from get_smart_data() to proc_idedisk_read_smart(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit e3d9a73a83d98fc466dabdcfe4f4e7e4419e3f8e Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:32 2009 +0100 ide: remove ->data_phase field from ide_hwif_t * Always use hwif->task->data_phase and remove ->data_phase field from ide_hwif_t. * Remove superfluous REQ_TYPE_ATA_TASKFILE check from ide_pio_datablock() while at it. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e76acd588c125fbd37390e44868dcb07cadbe4a Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:31 2009 +0100 ide: no need to read Status and Error registers for "empty" taskfile requests Signed-off-by: Bartlomiej Zolnierkiewicz commit a09485df9cda49fbde2766c86eb18a9cae585162 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:31 2009 +0100 ide: move request type specific code from ide_end_drive_cmd() to callers (v3) * Move request type specific code from ide_end_drive_cmd() to callers. * Remove stale ide_end_drive_cmd() documentation and drop no longer used 'stat' argument. Then rename the function to ide_complete_rq(). v2: * Fix handling of blk_pm_request() requests in task_no_data_intr(). v3: * Some ide_no_data_taskfile() users (HPA code and HDIO_DRIVE_* ioctls handlers) access original command later so we need to update it in ide_complete_task(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit e120237c0e4d9a83c1380f5ff7b5f2ba31f1c820 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:29 2009 +0100 ide: factor out completion of taskfile from ide_end_drive_cmd() Factor out completion of taskfile from ide_end_drive_cmd() to ide_complete_task(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3616b6536a74ff1c56029c17cbb3575c69c0a574 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:29 2009 +0100 ide: complete power step in ide_complete_pm_request() * Complete power step in ide_complete_pm_request(). * Rename ide_complete_pm_request() to ide_complete_pm_rq(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 19710d25d50ae0be05eebe4231ed8918b1092d82 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:28 2009 +0100 ide: add "flagged" taskfile flags to struct ide_taskfile (v2) * Add ->ftf_flags field to struct ide_taskfile and convert flags for TASKFILE ioctl to use it. * Rename "flagged" taskfile flags: - IDE_TFLAG_FLAGGED -> IDE_FTFLAG_FLAGGED - IDE_TFLAG_FLAGGED_SET_IN_FLAGS -> IDE_FTFLAG_SET_IN_FLAGS - IDE_TFLAG_{OUT,IN}_DATA -> IDE_FTFLAG_{OUT,IN}_DATA v2: * Remember to fully update ide-h8300.c, scc_pata.c and tx493{8,9}ide.c (thanks to Stephen Rothwell for noticing). There should be no functional changes caused by this patch. Cc: Stephen Rothwell Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c094ea0774d6881598da430ea0916a597162f8df Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:28 2009 +0100 ide: add IDE_HFLAG_4DRIVES host flag Add IDE_HFLAG_4DRIVES host flag and use it instead of ide_4drives chipset type in ide_init_port(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2787cb8ae5c68a6945eb82ccf96b5f2c4f238323 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:28 2009 +0100 ide: add IDE_HFLAG_DTC2278 host flag Add IDE_HFLAG_DTC2278 host flag and use it instead of ide_dtc2278 chipset type in ide_init_port(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0a6e49e9bc1e9698b2a1a529776b928768561a5a Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:27 2009 +0100 ide: remove now superfluous check from ide_host_register() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 255115fb35f80735c21a1cbe9809e9795a3af26e Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:27 2009 +0100 ide: allow host drivers to specify IRQ flags * Add ->irq_flags field to struct ide_port_info and struct ide_host. * Update host drivers and IDE PCI code to use ->irq_flags field. * Convert init_irq() and ide_intr() to use host->irq_flags. This fixes handling of shared IRQs for non-PCI hosts and removes ugly ifdeffery from core IDE code. Signed-off-by: Bartlomiej Zolnierkiewicz commit c7db966bbbf216b336da921e5d7ba5b9c8467ac1 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:27 2009 +0100 ide: fix error message in pre_task_out_intr() Signed-off-by: Bartlomiej Zolnierkiewicz commit 69197ad70ef6b854988299c1377864f9755cd03d Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:26 2009 +0100 ide: fix memleak on failure in probe_for_drive() Always free drive->id in probe_for_drive() if device is not present. While at it: - remove dead IDE_DFLAG_DEAD flag - remove superfluous IDE_DFLAG_PRESENT check Signed-off-by: Bartlomiej Zolnierkiewicz commit 304ffd6d3a145901ac570b8afb6c9936a83c3392 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:26 2009 +0100 scc_pata: remove DECLARE_SCC_DEV() macro (v2) v2: scc_chipsets[] -> scc_chipset fix (spotted by Daniel K.). Cc: "Daniel K." Signed-off-by: Bartlomiej Zolnierkiewicz commit 15a453a955f89f6545118770c669b52e925368bd Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:26 2009 +0100 ide: include only when needed Signed-off-by: Bartlomiej Zolnierkiewicz commit 443d18c80700da1f9a5a7cdf676f27ee4db6af6a Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:24 2009 +0100 at91_ide: use readsw()/writesw() directly Use readsw()/writesw() directly intead of __ide_mm_{in,out}sw() macros. Cc: Stanislaw Gruszka Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3f2154d7e701a8a4791de95765314219caa533a2 Author: Borislav Petkov Date: Tue Jan 27 17:42:28 2009 +0100 ide-cd: use ide_drive_t's rq in cdrom_queue_request_sense There should be no functionality change resulting from this patch. Suggested-by: Bartlomiej Zolnierkiewicz Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 13b8860d102de3daa4a4bf23542495b507edd7e9 Author: Kevin Hilman Date: Fri Jan 30 11:59:27 2009 -0800 IDE: palm_bk3710: use ioremap instead of arch-specific IO_ADDRESS() Signed-off-by: Kevin Hilman Acked-by: Sergei Shtylyov [bart: minor CodingStyle fixup per Sergei's suggestion] Signed-off-by: Bartlomiej Zolnierkiewicz commit f94116aeec7a299640dd692128e1d22178affa8d Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:23 2009 +0100 ide: cleanup * Remove superfluous include. * No need to re-define in/out*() macros as they are no longer used by m68k host drivers. * readl() and writel() are not used by core IDE code. * Use raw_*_swapw() directly in {falcon,q40}ide.c and remove {in,out}sw_swapw() macros. Cc: Geert Uytterhoeven Cc: Michael Schmitz Signed-off-by: Bartlomiej Zolnierkiewicz commit 09a3e79187c56842d509430267ece5b82216baee Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:23 2009 +0100 ide: make m68k host drivers use IDE_HFLAG_MMIO Cc: Geert Uytterhoeven Cc: Michael Schmitz Signed-off-by: Bartlomiej Zolnierkiewicz commit e354c1d8033d97a97a38a1b2cffa1bc285b92ad4 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:22 2009 +0100 ide: remove IDE_ARCH_LOCK (v2) * Add ->{get,release}_lock methods to struct ide_port_info and struct ide_host. * Convert core IDE code, m68k IDE code and falconide support to use ->{get,release}_lock methods instead of ide_{get,release}_lock(). * Remove IDE_ARCH_LOCK. v2: * Build fix from Geert updating ide_{get,release}_lock() callers in falconide.c. Cc: Geert Uytterhoeven Cc: Michael Schmitz Signed-off-by: Bartlomiej Zolnierkiewicz commit d15a613ba01ff2b209ecad7a38ccbb23b3b06c92 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:21 2009 +0100 ide: remove IDE_ARCH_INTR (v2) This micro-optimization is not worth it. Just always check for existence of ->ack_intr method in ide_intr() and ide_timer_expiry(). v2: Fix brown-paper-bag bug spotted by David D. Kilzer. Cc: Geert Uytterhoeven Cc: Michael Schmitz Cc: "David D. Kilzer" Signed-off-by: Bartlomiej Zolnierkiewicz commit 088b1b88609ce89b6ab19d114cdbec94a44aa22c Author: Borislav Petkov Date: Fri Jan 2 13:34:47 2009 +0100 ide: improve debugging scheme and more specifically, push __func__ into debug macro thus making ide_debug_log() calls shorter and more readable. Signed-off-by: Borislav Petkov commit 70775e9c627d7094189b96d73fffced6dab30b30 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:18 2009 +0100 ide: move ->rqsize init from init_irq() to ide_init_port() Signed-off-by: Bartlomiej Zolnierkiewicz commit 211176ccebd2fac1af198eb14308f6cbd7d844e1 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:18 2009 +0100 macide: use struct ide_port_info This fixes hwif->channel and drive->dn assignments. Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e78a54fbd574be9da7a49190f7927a656a936c0 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:18 2009 +0100 buddha: use struct ide_port_info This fixes hwif->channel and drive->dn assignments. Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit ee1464a4e8883304d6408ddceb4e966068afa2be Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:18 2009 +0100 ide-pnp: use struct ide_port_info This fixes hwif->channel and drive->dn assignments. Signed-off-by: Bartlomiej Zolnierkiewicz commit e518e58779d946f01bf93428be8791d5f07b4984 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:17 2009 +0100 ide-generic: use struct ide_port_info This fixes hwif->channel and drive->dn assignments. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9804657ec488380637226d08c808b29ede566908 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:17 2009 +0100 ide_arm: use struct ide_port_info This fixes hwif->channel and drive->dn assignments. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 33050ec7a2b83bc048b2322c79af25df6fdcb879 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 27 12:46:17 2009 +0100 icside: use struct ide_port_info also for PCB version 5 (v2) This fixes hwif->channel and drive->dn assignments. v2: Fix v5/v6 mismatch noticed by Russell. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit df4b6806d35ca6adedd5c0a7e36ac74af1c32d7a Author: Timur Tabi Date: Wed Mar 11 19:22:04 2009 -0500 powerpc: clean up ssi.txt, add definition for fsl,ssi-asynchronous Add the definition of the fsl,ssi-asynchronous property to ssi.txt (documentation of the device tree bindings for the Freescale SSI device). Also tidy up the layout of ssi.txt. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 393adcacadeea407925348b1a59ae8509ecffb3c Author: Wolfgang Grandegger Date: Sun Mar 22 14:58:43 2009 +0100 powerpc/85xx: Add support for the "socrates" board (MPC8544). Supported are Ethernet, serial console, I2C, I2C-based RTC and temperature sensors, NOR and NAND flash, PCI, USB, CAN and Lime display controller. The multiplexing of FPGA interrupts onto PowerPC interrupt lines is supported through our own fpga_pic interrupt controller driver. For example the SJA1000 controller is level low sensitive connected to fpga_pic line 2 and is routed to the second (of three) irq lines to the CPU: can@3,100 { compatible = "philips,sja1000"; reg = <3 0x100 0x80>; interrupts = <2 2>; interrupts = <2 8 1>; // number, type, routing interrupt-parent = <&fpga_pic>; }; Signed-off-by: Sergei Poselenov Signed-off-by: Yuri Tikhonov Signed-off-by: Ilya Yanok Signed-off-by: Wolfgang Grandegger Signed-off-by: Anatolij Gustschin Signed-off-by: Dmitry Rakhchev Signed-off-by: Kumar Gala commit bd14ba842cd29edbbd40e566194bd33cf0c92f6c Author: David S. Miller Date: Fri Mar 27 01:10:58 2009 -0700 gianfar: Fix kfree(skb) Noticed by Li Yang. Signed-off-by: David S. Miller commit f9384d41c02408dd404aa64d66d0ef38adcf6479 Author: David S. Miller Date: Fri Mar 27 01:09:17 2009 -0700 sparc64: Fix MM refcount check in smp_flush_tlb_pending(). As explained by Benjamin Herrenschmidt: > CPU 0 is running the context, task->mm == task->active_mm == your > context. The CPU is in userspace happily churning things. > > CPU 1 used to run it, not anymore, it's now running fancyfsd which > is a kernel thread, but current->active_mm still points to that > same context. > > Because there's only one "real" user, mm_users is 1 (but mm_count is > elevated, it's just that the presence on CPU 1 as active_mm has no > effect on mm_count(). > > At this point, fancyfsd decides to invalidate a mapping currently mapped > by that context, for example because a networked file has changed > remotely or something like that, using unmap_mapping_ranges(). > > So CPU 1 goes into the zapping code, which eventually ends up calling > flush_tlb_pending(). Your test will succeed, as current->active_mm is > indeed the target mm for the flush, and mm_users is indeed 1. So you > will -not- send an IPI to the other CPU, and CPU 0 will continue happily > accessing the pages that should have been unmapped. To fix this problem, check ->mm instead of ->active_mm, and this means: > So if you test current->mm, you effectively account for mm_users == 1, > so the only way the mm can be active on another processor is as a lazy > mm for a kernel thread. So your test should work properly as long > as you don't have a HW that will do speculative TLB reloads into the > TLB on that other CPU (and even if you do, you flush-on-switch-in should > get rid of any crap here). And therefore we should be OK. Signed-off-by: David S. Miller commit a106cbfd1f3703402fc2d95d97e7a054102250f0 Author: Tetsuo Handa Date: Fri Mar 27 13:12:16 2009 +0900 TOMOYO: Fix a typo. Fix a typo. Reported-by: Pavel Machek Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 5e68b772e6efd189d6aca76f6872fb75d51ace60 Author: Divy Le Ray Date: Thu Mar 26 16:39:29 2009 +0000 cxgb3: map entire Rx page, feed map+offset to Rx ring. DMA mapping can be expensive in the presence of iommus. Reduce the Rx iommu activity by mapping an entire page, and provide the H/W the mapped address + offset of the current page chunk. Reserve bits at the end of the page to track mapping references, so the page can be unmapped. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 952cdf333f9d1b0b71f1b9a3c5e421a2673ed7de Author: Divy Le Ray Date: Thu Mar 26 16:39:24 2009 +0000 cxgb3: differentiate portx and Tx channels Separate ports from H/W Tx channels. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 68f40c10292a94762956896d4d320a2620945adc Author: Divy Le Ray Date: Thu Mar 26 16:39:19 2009 +0000 cxgb3: use resource_size_t for mmio declarations Use resource_size_t to declare mmio start and len variables. Print PEX error register after EEH resumed. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 3fa58c883d44c50b48f2d57a0bc626a7812b0cae Author: Divy Le Ray Date: Thu Mar 26 16:39:14 2009 +0000 cxgb3: sge setup fixes Enable timestamps, update delayed ack threshold for iSCSI/iWARP traffic Remove the len flag in Tx requests. It might corrupt offload trace packets. Update SGE context setup to avoid potential H/W misprogrammation. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 3156378993b0fc0f9f12f5f297f0a9b4c4fe0fc8 Author: Divy Le Ray Date: Thu Mar 26 16:39:09 2009 +0000 cxgb3: start qset timers when setup succeeded Start queue set reclaim timers after the queue sets have been allocated successfully. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 6d1ec7812d6350409ecfe7f6dded3a6c801b89d3 Author: Stephen Hemminger Date: Thu Mar 26 15:11:44 2009 +0000 netdev: convert eth16i to net_device_ops Also, get rid of unnecessary memset. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 15d23e7a9e02c8ecbbf9a855e626707ba839135a Author: Stephen Hemminger Date: Thu Mar 26 15:11:43 2009 +0000 netdev: convert cs89x0 to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 635d8ba2ecb614b88ab16cb82c12cb344cab4427 Author: Stephen Hemminger Date: Thu Mar 26 15:11:42 2009 +0000 netdev: convert lp486e to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1494f2f5601b3220d55f1fdd8a6f990d41446c59 Author: Stephen Hemminger Date: Thu Mar 26 15:11:41 2009 +0000 netdev: convert ac3200 to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c6bca821e66c5fec8ffc11ff24a82adf338bcf6b Author: Stephen Hemminger Date: Thu Mar 26 15:11:40 2009 +0000 netdev: convert ni65 to net_device_ops Also, use internal net_device_stats. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2c7669e3a9f748dd35743f06cbdaf4340263c3bf Author: Stephen Hemminger Date: Thu Mar 26 15:11:39 2009 +0000 netdev: convert ni52 to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 968804d9705a014f231eedf82ba9e33810898b68 Author: Stephen Hemminger Date: Thu Mar 26 15:11:38 2009 +0000 netdev: convert ewrk3 to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 361bc03e180c4e27e8f21bc7ea3a8066886f78d5 Author: Stephen Hemminger Date: Thu Mar 26 15:11:37 2009 +0000 netdev: convert depca to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit cb0c7005d2dd20499c0855bfcb05272a4d206d23 Author: Stephen Hemminger Date: Thu Mar 26 15:11:36 2009 +0000 netdev: convert at1700 to net_device_ops Remove unneeded memset (alloc_etherdev does it already). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8afb1cebf5e7fde4a1bddacb559bda8526e64144 Author: Stephen Hemminger Date: Thu Mar 26 15:11:35 2009 +0000 netdev: convert eexpro to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8a5f7dafbc92b6e87bd02b9d5b2b58da4f5bb4c3 Author: Stephen Hemminger Date: Thu Mar 26 15:11:34 2009 +0000 netdev: convert eexpress to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d9c6d50d8dae755fe136e9cfdd137f856f60af4b Author: Stephen Hemminger Date: Thu Mar 26 15:11:33 2009 +0000 netdev: ibmlana convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 462540bdb2f08d465a2416764fc628520f82939f Author: Stephen Hemminger Date: Thu Mar 26 15:11:32 2009 +0000 lance: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 06e884031702f06b32ce20750ab3c46c596dc776 Author: Stephen Hemminger Date: Thu Mar 26 15:11:31 2009 +0000 netdev: smc-ultra fix netpoll net_device_ops conversion left the wrong poll_controller hook. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5f352f9a1c8d53270970f4efcf5496cb9b01c4a8 Author: Stephen Hemminger Date: Thu Mar 26 15:11:30 2009 +0000 netdev: smc-ultra32 convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 32670c36d0222e2fdfa9673bb878e0f347411cd4 Author: Stephen Hemminger Date: Thu Mar 26 15:11:29 2009 +0000 netdev: smc9194 convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b20417db3149a9de87e4b4594bcf5f713031c507 Author: Stephen Hemminger Date: Thu Mar 26 15:11:28 2009 +0000 netdev: seeq8005 convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0687478a9977db0698d40f0024d4b06fd42e01a0 Author: Stephen Hemminger Date: Thu Mar 26 15:11:27 2009 +0000 wireless: convert wavelan to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8fdcf1aba33a61475d411d91ab47c2c9adb3e4c3 Author: Stephen Hemminger Date: Thu Mar 26 15:11:26 2009 +0000 wireless: convert arlan to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ac99533fb716171db12798039671f19631cf3586 Author: Stephen Hemminger Date: Thu Mar 26 15:11:25 2009 +0000 wan: convert sdla driver to net_device_ops Also use internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f70d59492ed8bc1d74b364ebe2b97ef6705910b1 Author: Stephen Hemminger Date: Thu Mar 26 15:11:24 2009 +0000 tokenring: convert smctr to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 79f8ae3aa27f2f17a50ad1deee1e16ff02be01bb Author: Stephen Hemminger Date: Thu Mar 26 15:11:23 2009 +0000 tokenring: convert drivers to net_device_ops Convert madge and proteon drivers which are really just subclasses of tms380. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ddec2c89f89b9f2d15ddff07f01570123e95f544 Author: Stephen Hemminger Date: Thu Mar 26 15:11:22 2009 +0000 IRDA: convert donauboe to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 816b26f500e9d78ccd56e1c8ffac85f5d8765c00 Author: Stephen Hemminger Date: Thu Mar 26 15:11:21 2009 +0000 appletalk: convert LTPC to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4fafc12328a4e2d4afbc4541c46be014e22c5b66 Author: Stephen Hemminger Date: Thu Mar 26 15:11:20 2009 +0000 appletalk: convert LTPC to use internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c2839d433de2fee2216b41ef8222708949bf989f Author: Stephen Hemminger Date: Thu Mar 26 15:11:19 2009 +0000 appltetalk: convert cops device to net_device ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8bbce3f61b63c7502b1d6228d9f59d3c6423a759 Author: Stephen Hemminger Date: Thu Mar 26 15:11:18 2009 +0000 appletalk: convert cops to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8bb95b39a16ed55226810596f92216c53329d2fe Author: Stephen Hemminger Date: Thu Mar 26 15:11:17 2009 +0000 uml: convert network device to netdevice ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit cfa8707aa65f7ec8ed2130937810b4fb05b40cfa Author: Stephen Hemminger Date: Thu Mar 26 15:11:16 2009 +0000 uml: convert network device to internal network device stats Convert the UML network device to use internal network device stats. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1ace90fe0a36ae9da0b2e1211e6a30ec244e9bd0 Author: Stephen Hemminger Date: Thu Mar 26 15:11:15 2009 +0000 3c503, smc-ultra: netdev_ops bugs A couple of drivers have leftovers from netdev ops conversion. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 58add9fc02e7a9dbab9d80d5fa64f13972e91eb5 Author: Steve Glendinning Date: Thu Mar 26 07:14:36 2009 +0000 smsc911x: enforce read-after-write timing restriction on eeprom access The LAN911x datasheet specifies a minimum delay of 45ns between a write of E2P_DATA and any read. This patch adds a single dummy read of BYTE_TEST to enforce this timing constraint. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 54dc79fe0d895758bdaa1dcf8512d3d21263d105 Author: Stephen Hemminger Date: Fri Mar 27 00:38:45 2009 -0700 gianfar: fix headroom expansion code The code that was added to increase headroom was wrong. It doesn't handle the case where gfar_add_fcb() changes the skb. Better to do check at start of transmit (outside of lock), where error handling is better anyway. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 83e0bbcbe2145f160fbaa109b0439dae7f4a38a9 Author: Alan Cox Date: Fri Mar 27 00:28:21 2009 -0700 af_rose/x25: Sanity check the maximum user frame size Otherwise we can wrap the sizes and end up sending garbage. Closes #10423 Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 03ba999117eb8688252f9068356b6e028c2c3a56 Author: Alan Cox Date: Fri Mar 27 00:27:18 2009 -0700 appletalk: this warning can go I think Its past 2.2 ... Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 65f71b8bd2651e6d6ca9b09fe53a8db2da22b85c Author: Stephen Hemminger Date: Fri Mar 27 00:25:24 2009 -0700 benet: use do_div() for 64 bit divide The benet driver is doing a 64 bit divide, which is not supported in Linux kernel on 32 bit architectures. The correct way to do this is to use do_div(). Compile tested on i386 only. Signed-off-by: Stephen Hemminger Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit 7d0b591c655ca0d72ebcbd242cf659a20a8995c5 Author: Chuck Ebbert Date: Fri Mar 27 00:22:01 2009 -0700 xfrm: spin_lock() should be spin_unlock() in xfrm_state.c spin_lock() should be spin_unlock() in xfrm_state_walk_done(). caused by: commit 12a169e7d8f4b1c95252d8b04ed0f1033ed7cfe2 "ipsec: Put dumpers on the dump list" Reported-by: Marc Milgram Signed-off-by: Chuck Ebbert Signed-off-by: David S. Miller commit 71f6f6dfdf7c7a67462386d9ea05c1095a89c555 Author: Jesper Nilsson Date: Fri Mar 27 00:17:45 2009 -0700 ipv6: Plug sk_buff leak in ipv6_rcv (net/ipv6/ip6_input.c) Commit 778d80be52699596bf70e0eb0761cf5e1e46088d (ipv6: Add disable_ipv6 sysctl to disable IPv6 operaion on specific interface) seems to have introduced a leak of sk_buff's for ipv6 traffic, at least in some configurations where idev is NULL, or when ipv6 is disabled via sysctl. The problem is that if the first condition of the if-statement returns non-NULL, it returns an skb with only one reference, and when the other conditions apply, execution jumps to the "out" label, which does not call kfree_skb for it. To plug this leak, change to use the "drop" label instead. (this relies on it being ok to call kfree_skb on NULL) This also allows us to avoid calling rcu_read_unlock here, and removes the only user of the "out" label. Signed-off-by: Jesper Nilsson Signed-off-by: David S. Miller commit a1702857724fb39cb68ce581490010df99168fd0 Author: Thierry Reding Date: Fri Mar 27 00:12:24 2009 -0700 net: Add support for the OpenCores 10/100 Mbps Ethernet MAC. This patch adds a platform device driver that supports the OpenCores 10/100 Mbps Ethernet MAC. The driver expects three resources: one IORESOURCE_MEM resource defines the memory region for the core's memory-mapped registers while a second IORESOURCE_MEM resource defines the network packet buffer space. The third resource, of type IORESOURCE_IRQ, associates an interrupt with the driver. Signed-off-by: Thierry Reding Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 0d44dc59b2b434b29aafeae581d06f81efac7c83 Author: Christian Hohnstaedt Date: Fri Mar 27 15:09:05 2009 +0800 crypto: ixp4xx - Fix handling of chained sg buffers - keep dma functions away from chained scatterlists. Use the existing scatterlist iteration inside the driver to call dma_map_single() for each chunk and avoid dma_map_sg(). Signed-off-by: Christian Hohnstaedt Tested-By: Karl Hiramoto Signed-off-by: Herbert Xu commit ec78c8ac16e7a5f45e21838ab2f5573200bfcdd3 Author: Benjamin Herrenschmidt Date: Thu Mar 26 19:29:06 2009 +0000 powerpc: Fix bugs introduced by sysfs changes Rusty's patch to change our sysfs access to various registers to use smp_call_function_single() introduced a whole bunch of warnings. This fixes them. This version also fixes an actual bug in here where it did mtspr instead of mfspr when reading the files Signed-off-by: Benjamin Herrenschmidt commit efbda86098455da014be849713df6498cefc5a2a Author: Josh Boyer Date: Wed Mar 25 06:23:59 2009 +0000 powerpc: Sanitize stack pointer in signal handling code On powerpc64 machines running 32-bit userspace, we can get garbage bits in the stack pointer passed into the kernel. Most places handle this correctly, but the signal handling code uses the passed value directly for allocating signal stack frames. This fixes the issue by introducing a get_clean_sp function that returns a sanitized stack pointer. For 32-bit tasks on a 64-bit kernel, the stack pointer is masked correctly. In all other cases, the stack pointer is simply returned. Additionally, we pass an 'is_32' parameter to get_sigframe now in order to get the properly sanitized stack. The callers are know to be 32 or 64-bit statically. Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 82631f5dd114e52239fb3d1e270a49d37c088b46 Author: Jeremy Kerr Date: Mon Mar 23 16:55:08 2009 +0000 powerpc: Add write barrier before enabling DTL flags Currently, we don't enforce any ordering for updates to the lppaca when enabling dtl logging, so we may end up enabling logging before the index fields have been established. This change adds a smp_wmb() before doing the actual enable. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 01e6de64d9c8d0e75dca3bb4cf898db73abe00d4 Merge: 8f1ead2... d271e8b... Author: David S. Miller Date: Thu Mar 26 22:45:23 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 8f1ead2d1a626ed0c85b3d2c2046a49081d5933f Author: Herbert Xu Date: Thu Mar 26 00:59:10 2009 -0700 GRO: Disable GRO on legacy netif_rx path When I fixed the GRO crash in the legacy receive path I used napi_complete to replace __napi_complete. Unfortunately they're not the same when NETPOLL is enabled, which may result in us not calling __napi_complete at all. What's more, we really do need to keep the __napi_complete call within the IRQ-off section since in theory an IRQ can occur in between and fill up the backlog to the maximum, causing us to lock up. Since we can't seem to find a fix that works properly right now, this patch reverts all the GRO support from the netif_rx path. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f4f689933c63e0fbfba62f2a80efb2b424b139ae Author: Yehuda Sadeh Date: Fri Mar 27 13:03:51 2009 +0800 crypto: shash - Fix unaligned calculation with short length When the total length is shorter than the calculated number of unaligned bytes, the call to shash->update breaks. For example, calling crc32c on unaligned buffer with length of 1 can result in a system crash. Signed-off-by: Yehuda Sadeh Signed-off-by: Herbert Xu commit 3341323bb4c198f704cffbfdda37bcec1226ef7d Author: Alexander Clouter Date: Fri Mar 27 12:59:54 2009 +0800 hwrng: timeriomem - Use phys address rather than virt There is no ioremap'ing or anything in timeriomem-rng.c as I foolishly used already remapped virtual addresses instead of passing the physical address to be polled. This patch fixes this flaw and lets developers do the Right Thing(tm). Signed-off-by: Alexander Clouter Signed-off-by: Herbert Xu commit 7c757eb9f804782fb39d0ae2c1a88ffb9309138e Author: Roland Dreier Date: Thu Mar 26 16:25:49 2009 -0700 RDMA/nes: Fix mis-merge When net-next and infiniband were merged upstream, each branch deleted one of a pair of adjacent lines from nes_nic.c, but when Linus fixed the conflict up, he brought back both of the lines. Fix up to the intended final tree state. Signed-off-by: Roland Dreier Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit e2ab3dff9d515ef69ac7c245b5ad1e348f2106be Author: David Miller Date: Thu Mar 26 16:44:17 2009 -0700 sparc64: Fix build of timer_interrupt(). arch/sparc/kernel/time_64.c: In function ‘timer_interrupt’: arch/sparc/kernel/time_64.c:732: error: ‘struct kernel_stat’ has no member named ‘irqs’ make[1]: *** [arch/sparc/kernel/time_64.o] Error 1 Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit be0ea69674ed95e1e98cb3687a241badc756d228 Merge: 4496d93... 15a5b0a... Author: Linus Torvalds Date: Thu Mar 26 16:18:17 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slob: fix lockup in slob_free() slub: use get_track() slub: rename calculate_min_partial() to set_min_partial() slub: add min_partial sysfs tunable slub: move min_partial to struct kmem_cache SLUB: Fix default slab order for big object sizes SLUB: Do not pass 8k objects through to the page allocator SLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants slob: clean up the code SLUB: Use ->objsize from struct kmem_cache_cpu in slab_free() commit 4496d937a518fde0d0e1980e4ab470cedb4b50cd Merge: 8e9d208... 4b2873b... Author: Linus Torvalds Date: Thu Mar 26 16:15:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: irq_node.handler() should return irqreturn_t m68k: section mismatch fixes: Atari SCSI m68k: section mismatch fixes: DMAsound for Atari MAINTAINERS: Replace dead link to m68k CVS repository by link to new git repository m68k: mac - Add SWIM floppy support m68k: mac - Add a new entry in mac_model to identify the floppy controller type. m68k: Add install target commit 8e9d2089723d08d51e66c5eea49253d76e27941e Merge: ba1eb95... 60aa492... Author: Linus Torvalds Date: Thu Mar 26 16:14:02 2009 -0700 Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 * 'bkl-removal' of git://git.lwn.net/linux-2.6: Rationalize fasync return values Move FASYNC bit handling to f_op->fasync() Use f_lock to protect f_flags Rename struct file->f_ep_lock commit ba1eb95cf3cc666769afe42eaa15a3a34ae82f94 Merge: a841696... 17d1404... Author: Linus Torvalds Date: Thu Mar 26 16:11:41 2009 -0700 Merge branch 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits) x86: headers cleanup - setup.h emu101k1.h: fix duplicate include of compiler-gcc4: conditionalize #error on __KERNEL__ remove __KERNEL_STRICT_NAMES make netfilter use strict integer types make drm headers use strict integer types make MTD headers use strict integer types make most exported headers use strict integer types make exported headers use strict posix types unconditionally include asm/types.h from linux/types.h make linux/types.h as assembly safe Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h headers_check fix cleanup: linux/reiserfs_fs.h headers_check fix cleanup: linux/nubus.h headers_check fix cleanup: linux/coda_psdev.h headers_check fix: x86, setup.h headers_check fix: x86, prctl.h headers_check fix: linux/reinserfs_fs.h headers_check fix: linux/socket.h headers_check fix: linux/nubus.h ... Manually fix trivial conflicts in: include/linux/netfilter/xt_limit.h include/linux/netfilter/xt_statistic.h commit 542f869f1826f092606efd0c4c771f070d1314f5 Merge: e8b374b... 839e642... Author: Russell King Date: Thu Mar 26 23:10:11 2009 +0000 Merge branch 'for-rmk' of git://gitorious.org/linux-gemini/mainline into devel Conflicts: arch/arm/mm/Kconfig Signed-off-by: Russell King commit de7453065d5d5243686467998f1fcc58d20e0a7c Author: Yinghai Lu Date: Fri Mar 20 19:29:41 2009 -0700 PCI: don't enable too much HT MSI mapping Impact: fix bug Prakash reported that his c51-mcp51 system ondie sound card doesn't work MSI but if he hack out the HT-MSI on mcp51, the MSI will work well with sound card. This patch reworks nv_msi_ht_cap_quirk() and will only avoid enabling ht_msi on devices following that root device. Reported-by: Prakash Punnoor Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit e42d1fe804408c57506a5326252b4db29958a7fb Author: Yinghai Lu Date: Wed Mar 25 13:26:13 2009 -0700 x86/PCI: make pci=lastbus=255 work when acpi is on Impact: scan more peer root buses even acpi is used Move pci_bios_fixup_peer_bridges out of pci_legacy_init and into pci_subsys_init. This allows pci_bios_fixup_peer_bridges to be called even pci_apci_init is driving PCI initialization. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit a8416961d32d8bb757bcbb86b72042b66d044510 Merge: 6671de3... fc2869f... Author: Linus Torvalds Date: Thu Mar 26 16:06:50 2009 -0700 Merge branch 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits) x86: disable __do_IRQ support sparseirq, powerpc/cell: fix unused variable warning in interrupt.c genirq: deprecate obsolete typedefs and defines genirq: deprecate __do_IRQ genirq: add doc to struct irqaction genirq: use kzalloc instead of explicit zero initialization genirq: make irqreturn_t an enum genirq: remove redundant if condition genirq: remove unused hw_irq_controller typedef irq: export remove_irq() and setup_irq() symbols irq: match remove_irq() args with setup_irq() irq: add remove_irq() for freeing of setup_irq() irqs genirq: assert that irq handlers are indeed running in hardirq context irq: name 'p' variables a bit better irq: further clean up the free_irq() code flow irq: refactor and clean up the free_irq() code flow irq: clean up manage.c irq: use GFP_KERNEL for action allocation in request_irq() kernel/irq: fix sparse warning: make symbol static irq: optimize init_kstat_irqs/init_copy_kstat_irqs ... commit 6671de344cd661453bbee3cfde5574a974332436 Merge: 831576f... 7c526e1... Author: Linus Torvalds Date: Thu Mar 26 16:05:42 2009 -0700 Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits) posix timers: fix RLIMIT_CPU && fork() time: ntp: fix bug in ntp_update_offset() & do_adjtimex(), fix time: ntp: clean up second_overflow() time: ntp: simplify ntp_tick_adj calculations time: ntp: make 64-bit constants more robust time: ntp: refactor do_adjtimex() some more time: ntp: refactor do_adjtimex() time: ntp: fix bug in ntp_update_offset() & do_adjtimex() time: ntp: micro-optimize ntp_update_offset() time: ntp: simplify ntp_update_offset_fll() time: ntp: refactor and clean up ntp_update_offset() time: ntp: refactor up ntp_update_frequency() time: ntp: clean up ntp_update_frequency() time: ntp: simplify the MAX_TICKADJ_SCALED definition time: ntp: simplify the second_overflow() code flow time: ntp: clean up kernel/time/ntp.c x86: hpet: stop HPET_COUNTER when programming periodic mode x86: hpet: provide separate functions to stop and start the counter x86: hpet: print HPET registers during setup (if hpet=verbose is used) time: apply NTP frequency/tick changes immediately ... commit 831576fe40f4175e0767623cffa4aeb28157943a Merge: 21cdbc1... 66fef08... Author: Linus Torvalds Date: Thu Mar 26 16:05:01 2009 -0700 Merge branch 'sched-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (46 commits) sched: Add comments to find_busiest_group() function sched: Refactor the power savings balance code sched: Optimize the !power_savings_balance during fbg() sched: Create a helper function to calculate imbalance sched: Create helper to calculate small_imbalance in fbg() sched: Create a helper function to calculate sched_domain stats for fbg() sched: Define structure to store the sched_domain statistics for fbg() sched: Create a helper function to calculate sched_group stats for fbg() sched: Define structure to store the sched_group statistics for fbg() sched: Fix indentations in find_busiest_group() using gotos sched: Simple helper functions for find_busiest_group() sched: remove unused fields from struct rq sched: jiffies not printed per CPU sched: small optimisation of can_migrate_task() sched: fix typos in documentation sched: add avg_overlap decay x86, sched_clock(): mark variables read-mostly sched: optimize ttwu vs group scheduling sched: TIF_NEED_RESCHED -> need_reshed() cleanup sched: don't rebalance if attached on NULL domain ... commit 21cdbc1378e8aa96e1ed4a606dce1a8e7daf7fdf Merge: 86d9c07... ef3500b... Author: Linus Torvalds Date: Thu Mar 26 16:04:22 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (81 commits) [S390] remove duplicated #includes [S390] cpumask: use mm_cpumask() wrapper [S390] cpumask: Use accessors code. [S390] cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits. [S390] cpumask: remove cpu_coregroup_map [S390] fix clock comparator save area usage [S390] Add hwcap flag for the etf3 enhancement facility [S390] Ensure that ipl panic notifier is called late. [S390] fix dfp elf hwcap/facility bit detection [S390] smp: perform initial cpu reset before starting a cpu [S390] smp: fix memory leak on __cpu_up [S390] ipl: Improve checking logic and remove switch defaults. [S390] s390dbf: Remove needless check for NULL pointer. [S390] s390dbf: Remove redundant initilizations. [S390] use kzfree() [S390] BUG to BUG_ON changes [S390] zfcpdump: Prevent zcore from beeing built as a kernel module. [S390] Use csum_partial in checksum.h [S390] cleanup lowcore.h [S390] eliminate ipl_device from lowcore ... commit 86d9c070175de65890794fa227b68297da6206d8 Merge: 413e337... a2a9537... Author: Linus Torvalds Date: Thu Mar 26 16:03:04 2009 -0700 Merge branch 'for-2.6.30' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.30' of git://git.kernel.dk/linux-2.6-block: Get rid of pdflush_operation() in emergency sync and remount btrfs: get rid of current_is_pdflush() in btrfs_btree_balance_dirty Move the default_backing_dev_info out of readahead.c and into backing-dev.c block: Repeated lines in switching-sched.txt bsg: Remove bogus check against request_queue->max_sectors block: WARN in __blk_put_request() for potential bio leak loop: fix circular locking in loop_clr_fd() loop: support barrier writes bsg: add support for tail queuing cpqarray: enable bus mastering block: genhd.h cleanup patch block: add private bio_set for bio integrity allocations block: genhd.h comment needs updating block: get rid of unused blkdev_free_rq() define block: remove various blk_queue_*() setting functions in blk_init_queue_node() cciss: add BUILD_BUG_ON() for catching bad CommandList_struct alignment block: don't create bio_vec slabs of less than the inline number block: cleanup bio_alloc_bioset() commit 898585172fa729513d8636257b44bd1cfd279096 Author: Yu Zhao Date: Mon Feb 16 02:55:47 2009 +0800 PCI: save and restore PCIe 2.0 registers PCIe 2.0 defines several new registers (Device Control 2, Link Control 2, and Slot Control 2). Save and retore them in pci_save_pcie_state() and pci_restore_pcie_state(). Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 7bb2cb3e90dc49be1cd14956c155451499c857a7 Author: Stephen Rothwell Date: Thu Mar 26 18:34:33 2009 +1100 PCI: update fakephp for bus_id removal Get rid of a new use of bus_id that snuck in. Signed-off-by: Stephen Rothwell Signed-off-by: Jesse Barnes commit 413e3376485e6cf81f4cf6a4dbc0de0326535093 Merge: 13220a9... 86ee79c... Author: Linus Torvalds Date: Thu Mar 26 15:56:53 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Flush TLB before releasing pages. commit 7ae0567fd3f4f51d55c4c638ecc6836347992de2 Author: Kenji Kaneshige Date: Thu Mar 26 16:49:52 2009 +0900 PCI: fix kernel oops on bridge removal Fix the following kernel oops problem that happens when removing PCI bridge with pciehp loaded. It should also occur with other hotplug driver that is implemented as a bridge's driver. [ 459.997257] pciehp 0000:2f:04.0:pcie24: unloading service driver pciehp [ 459.997495] general protection fault: 0000 [#1] SMP [ 459.997737] last sysfs file: /sys/devices/pci0000:00/0000:00:04.0/0000:2e:00.0/0000:2f:04.0/remove [ 459.997964] CPU 4 [ 459.998129] Modules linked in: pciehp ipv6 autofs4 hidp rfcomm l2cap bluetooth sunrpc cpufreq_ondemand acpi_cpufreq dm_mirror dm_region_hash dm_log dm_multipath scsi_dh dm_mod sbs sbshc battery ac parport_pc lp parport mptspi mptscsih mptbase scsi_transport_spi e1000e sg sr_mod cdrom button serio_raw i2c_i801 i2c_core shpchp pcspkr ata_piix libata megaraid_sas sd_mod scsi_mod crc_t10dif ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode] [ 459.998129] Pid: 56, comm: events/4 Not tainted 2.6.29-rc8-kk #1 PRIMERGY [ 459.998129] RIP: 0010:[] [] pci_slot_release+0x37/0x100 [ 459.998129] RSP: 0018:ffff88083b3bf9e0 EFLAGS: 00010246 [ 459.998129] RAX: ffff88083adc5158 RBX: ffff880836c1bc80 RCX: 6b6b6b6b6b6b6b6b [ 459.998129] RDX: 0000000000000000 RSI: ffffffff803a77f0 RDI: ffff880836c1bc48 [ 459.998129] RBP: ffff88083b3bfa00 R08: 0000000000000002 R09: 0000000000000000 [ 459.998129] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880836c1bc48 [ 459.998129] R13: ffff880836c1bc20 R14: ffff880836c1bc48 R15: ffff880836d1ec38 [ 459.998129] FS: 0000000000000000(0000) GS:ffff88083ccc3770(0000) knlGS:0000000000000000 [ 459.998129] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b [ 459.998129] CR2: 00007f1562f1d558 CR3: 0000000838090000 CR4: 00000000000006e0 [ 459.998129] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 459.998129] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 459.998129] Process events/4 (pid: 56, threadinfo ffff88083b3be000, task ffff88083b3b3e40) [ 459.998129] Stack: [ 459.998129] ffff880836c1bc80 ffff880836c1bc48 ffffffff80793320 ffff88083b0d0960 [ 459.998129] ffff88083b3bfa30 ffffffff803a788a ffff880836c1bc80 ffffffff803a77f0 [ 459.998129] ffff880836c1bc20 ffff880836d1ec38 ffff88083b3bfa50 ffffffff803a8ce7 [ 459.998129] Call Trace: [ 459.998129] [] kobject_release+0x9a/0x290 [ 459.998129] [] ? kobject_release+0x0/0x290 [ 459.998129] [] kref_put+0x37/0x80 [ 459.998129] [] kobject_put+0x27/0x60 [ 459.998129] [] ? pci_destroy_slot+0x3c/0xc0 [ 459.998129] [] pci_destroy_slot+0x45/0xc0 [ 459.998129] [] pci_hp_deregister+0x13d/0x210 [ 459.998129] [] cleanup_slots+0x2d/0x80 [pciehp] [ 459.998129] [] pciehp_remove+0x15/0x30 [pciehp] [ 459.998129] [] pcie_port_remove_service+0x69/0x90 [ 459.998129] [] __device_release_driver+0x59/0x90 [ 459.998129] [] device_release_driver+0x2b/0x40 [ 459.998129] [] bus_remove_device+0xa6/0x120 [ 459.998129] [] device_del+0x12b/0x190 [ 459.998129] [] ? remove_iter+0x0/0x40 [ 459.998129] [] device_unregister+0x26/0x70 [ 459.998129] [] remove_iter+0x2f/0x40 [ 459.998129] [] device_for_each_child+0x33/0x60 [ 459.998129] [] ? sysfs_schedule_callback_work+0x0/0x50 [ 459.998129] [] pcie_port_device_remove+0x30/0x80 [ 459.998129] [] pcie_portdrv_remove+0x11/0x20 [ 459.998129] [] pci_device_remove+0x32/0x70 [ 459.998129] [] __device_release_driver+0x59/0x90 [ 459.998129] [] device_release_driver+0x2b/0x40 [ 459.998129] [] bus_remove_device+0xa6/0x120 [ 459.998129] [] device_del+0x12b/0x190 [ 459.998129] [] device_unregister+0x26/0x70 [ 459.998129] [] pci_stop_dev+0x49/0x60 [ 459.998129] [] pci_remove_bus_device+0x40/0xc0 [ 459.998129] [] remove_callback+0x29/0x40 [ 459.998129] [] sysfs_schedule_callback_work+0x1f/0x50 [ 459.998129] [] run_workqueue+0x15a/0x230 [ 459.998129] [] ? run_workqueue+0x108/0x230 [ 459.998129] [] worker_thread+0x9f/0x100 [ 459.998129] [] ? autoremove_wake_function+0x0/0x40 [ 459.998129] [] ? worker_thread+0x0/0x100 [ 459.998129] [] kthread+0x4d/0x80 [ 459.998129] [] child_rip+0xa/0x20 [ 459.998129] [] ? restore_args+0x0/0x30 [ 459.998129] [] ? kthread+0x0/0x80 [ 459.998129] [] ? child_rip+0x0/0x20 [ 459.998129] Code: 56 49 89 fe 41 55 4c 8d 6f d8 41 54 53 74 09 f6 05 b8 05 c7 00 08 75 72 49 8b 45 00 48 8b 48 28 eb 05 66 90 48 89 f1 49 8b 45 00 <48> 8b 31 48 83 c0 28 0f 18 0e 48 39 c1 74 1c 8b 41 38 41 0f b6 [ 459.998129] RIP [] pci_slot_release+0x37/0x100 [ 459.998129] RSP [ 460.018595] ---[ end trace 5a08d2095374aedc ]--- The pci_remove_bus_device() removes all buses and devices under the bridge, and then removes the bridge. So the remove() callback of the hotplug drivers implemented as a bridge's driver is executed after the struct pci_bus of the bridge's secondary bus is removed. The remove() callback of those driver unregisters the slot using pci_destroy_slot(), and slot's release callback refers to the the struct pci_bus that was already freed. This is the cause of the kernel oops. This patch solves the problem by stopping bus drivers before removing the bridge and its child bus and devices. Acked-by: Alex Chiang Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 13220a94d35708d5378114e96ffcc88d0a74fe99 Merge: 8690d8a... 08abe18... Author: Linus Torvalds Date: Thu Mar 26 15:54:36 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1750 commits) ixgbe: Allow Priority Flow Control settings to survive a device reset net: core: remove unneeded include in net/core/utils.c. e1000e: update version number e1000e: fix close interrupt race e1000e: fix loss of multicast packets e1000e: commonize tx cleanup routine to match e1000 & igb netfilter: fix nf_logger name in ebt_ulog. netfilter: fix warning in ebt_ulog init function. netfilter: fix warning about invalid const usage e1000: fix close race with interrupt e1000: cleanup clean_tx_irq routine so that it completely cleans ring e1000: fix tx hang detect logic and address dma mapping issues bridge: bad error handling when adding invalid ether address bonding: select current active slave when enslaving device for mode tlb and alb gianfar: reallocate skb when headroom is not enough for fcb Bump release date to 25Mar2009 and version to 0.22 r6040: Fix second PHY address qeth: fix wait_event_timeout handling qeth: check for completion of a running recovery qeth: unregister MAC addresses during recovery. ... Manually fixed up conflicts in: drivers/infiniband/hw/cxgb3/cxio_hal.h drivers/infiniband/hw/nes/nes_nic.c commit 853346e4354c948b50a6fb0002f8af2cf5fbf2ae Author: Yu Zhao Date: Sat Mar 21 22:05:11 2009 +0800 PCI: fix conflict between SR-IOV and config space sizing New pci_cfg_space_size() needs invalid pdev->class, put it in the right place in the pci_setup_device(). Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 8690d8a9f6c2d5728a9c9f68231f1bb4de109e3a Merge: d3f12d3... 3b9d49e... Author: Linus Torvalds Date: Thu Mar 26 15:48:11 2009 -0700 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] i6300esb.c: start locking [WATCHDOG] i6300esb.c: convert to platform device driver [WATCHDOG] wdt.c: remove #ifdef CONFIG_WDT_501 [WATCHDOG] Fix io.h & uaccess.h includes. [WATCHDOG] More coding-style and trivial clean-up [WATCHDOG] struct file_operations should be const [WATCHDOG] cpwd.c: Coding style - Clean-up [WATCHDOG] hpwdt.c: Add new HP BMC controller. [PATCH 13/13] drivers/watchdog: use USB API functions rather than constants [WATCHDOG] orion5x_wdt: fix compile issue by providing tclk as platform data [WATCHDOG] rc32434_wdt: make sure watchdog is not running at startup [WATCHDOG] rc32434_wdt: add spin_locking [WATCHDOG] rc32434_wdt: add shutdown method [WATCHDOG] rc32434_wdt: add timeout module parameter [WATCHDOG] rc32434_wdt: clean-up driver [WATCHDOG] davinci: convert to ioremap() + io[read|write] [WATCHDOG] w83697ug: add error checking [WATCHDOG] cpwd.c & riowd.c - unlocked_ioctl commit d3f12d36f148f101c568bdbce795e41cd9ceadf3 Merge: 39b566e... 16175a7... Author: Linus Torvalds Date: Thu Mar 26 15:47:52 2009 -0700 Merge branch 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (113 commits) KVM: VMX: Don't allow uninhibited access to EFER on i386 KVM: Correct deassign device ioctl to IOW KVM: ppc: e500: Fix the bug that KVM is unstable in SMP KVM: ppc: e500: Fix the bug that mas0 update to wrong value when read TLB entry KVM: Fix missing smp tlb flush in invlpg KVM: Get support IRQ routing entry counts KVM: fix sparse warnings: Should it be static? KVM: fix sparse warnings: context imbalance KVM: is_long_mode() should check for EFER.LMA KVM: VMX: Update necessary state when guest enters long mode KVM: ia64: Fix the build errors due to lack of macros related to MSI. ia64: Move the macro definitions related to MSI to one header file. KVM: fix kvm_vm_ioctl_deassign_device KVM: define KVM_CAP_DEVICE_DEASSIGNMENT KVM: ppc: Add emulation of E500 register mmucsr0 KVM: Report IRQ injection status for MSI delivered interrupts KVM: MMU: Fix another largepage memory leak KVM: SVM: set accessed bit for VMCB segment selectors KVM: Report IRQ injection status to userspace. KVM: MMU: remove assertion in kvm_mmu_alloc_page ... commit 39b566eedbe9e35d38502cc5e62ef7abf1aff9c9 Merge: 39f1500... 09f98ba... Author: Linus Torvalds Date: Thu Mar 26 15:47:08 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (30 commits) RDMA/cxgb3: Enforce required firmware IB/mlx4: Unregister IB device prior to CLOSE PORT command mlx4_core: Add link type autosensing mlx4_core: Don't perform SET_PORT command for Ethernet ports RDMA/nes: Handle MPA Reject message properly RDMA/nes: Improve use of PBLs RDMA/nes: Remove LLTX RDMA/nes: Inform hardware that asynchronous event has been handled RDMA/nes: Fix tmp_addr compilation warning RDMA/nes: Report correct vendor_id and vendor_part_id RDMA/nes: Update copyright to new legal entity and year RDMA/nes: Account for freed PBL after HW operation IB: Remove useless ibdev_is_alive() tests from sysfs code IB/sa_query: Fix AH leak due to update_sm_ah() race IB/mad: Fix ib_post_send_mad() returning 0 with no generate send comp IB/mad: initialize mad_agent_priv before putting on lists IB/mad: Fix null pointer dereference in local_completions() IB/mad: Fix RMPP header RRespTime manipulation IB/iser: Remove hard setting of path MTU mlx4_core: Add device IDs for MT25458 10GigE devices ... commit 39f15003c7b268e4199d5ddce60a6944a74a14b7 Merge: 7676b8f... b363b33... Author: Linus Torvalds Date: Thu Mar 26 15:46:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix memory overwrite when saving nativeFileSystem field during mount [CIFS] Rename compose_mount_options to cifs_compose_mount_options. [CIFS] work around bug in Samba server handling for posix open [CIFS] Use posix open on file open when server supports it cifs: fix buffer format byte on NT Rename/hardlink [CIFS] Add definitions for remoteably fsctl calls [CIFS] add extra null attr check [CIFS] fix build error [CIFS] reopen file via newer posix open protocol operation if available [CIFS] Add new nostrictsync cifs mount option to avoid slow SMB flush [CIFS] DFS no longer experimental [CIFS] Send SMB flush in cifs_fsync commit e8b374bb6c888a70530d800c9e2fcd153e2c325d Merge: f5f0e17... 1288b67... Author: Russell King Date: Thu Mar 26 22:46:22 2009 +0000 Merge branch 'next-s3c64xx-regs' of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit 7676b8fd701beb47cc1b4cc291acaa07287ea69a Author: Alan Cox Date: Thu Mar 26 20:47:00 2009 +0000 dontdiff: Fix asm exclude Now that the headers are in arch/foo/include/asm we don't want to exclude them when preparing diff files. Closes-bug: 12921 Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9e80d407736161d9b8b0c5a0d44f786e44c322ea Author: Jan Kara Date: Thu Mar 26 13:08:04 2009 +0100 ext3: Avoid starting a transaction in writepage when not necessary We don't have to start a transaction in writepage() when all the blocks are a properly allocated. Even in ordered mode either the data has been written via write() and they are thus already added to transaction's list or the data was written via mmap and then it's random in which transaction they get written anyway. This should help VM to pageout dirty memory without blocking on transaction commits. Signed-off-by: Jan Kara Signed-off-by: Linus Torvalds commit f5f0e17a8475dee913f362510e6a8ab987d27b9f Merge: 2f3ec50... fff94cd... Author: Russell King Date: Thu Mar 26 22:44:43 2009 +0000 Merge branch 'next-s3c-pm' of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit 08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6 Merge: f0de70f... 0384e29... Author: David S. Miller Date: Thu Mar 26 15:23:24 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: drivers/net/wimax/i2400m/usb-notif.c commit 1987f17d2266e882862528841429b5bf67bc8fe5 Merge: 7198e2e... 0384e29... Author: James Morris Date: Fri Mar 27 08:28:11 2009 +1100 Merge branch 'master' into next commit 2affa28605fa5387192c72d9889a00c9c51aa712 Author: Bob Moore Date: Mon Feb 23 10:27:07 2009 +0800 ACPICA: Update version to 20090220 Version 20090220. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b6bc342dd543f40b6feccbaf6719d9f836c9964a Author: Bob Moore Date: Mon Feb 23 10:26:19 2009 +0800 ACPICA: Update table header print function Cleanup table header output. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 88dcb04a813265e1a5a1bc74af2db7efa7d62ee6 Author: Bob Moore Date: Wed Feb 18 16:01:04 2009 +0800 ACPICA: Restructure bit register access functions Update code for acpi_read_bit_register and acpi_write_bit_register. Simplified code path, condensed duplicate code. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 50ffba1bd3120b069617455545bc27bcf3cf7579 Author: Bob Moore Date: Mon Feb 23 15:02:07 2009 +0800 ACPICA: Rename ACPI bit register access functions Rename acpi_get_register and acpi_set_register to clarify the purpose of these functions. New names are acpi_read_bit_register and acpi_write_bit_register. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 9892dd23cbbfab1f7d4818622296e415979a9c77 Author: Bob Moore Date: Wed Feb 18 15:10:07 2009 +0800 ACPICA: Optimize ACPI register locking Removed locking for reads from the ACPI bit registers in PM1 Status, Enable, Control, and PM2 Control. The lock is not required when reading the single-bit registers. The acpi_get_register_unlocked function is no longer needed and has been removed. This will improve performance for reads on these registers. ACPICA BZ 760. http://www.acpica.org/bugzilla/show_bug.cgi?id=760 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ec41f193eadb6301f3c052b5e0dbc0b5636982e8 Author: Bob Moore Date: Wed Feb 18 15:03:30 2009 +0800 ACPICA: Formatting update - no functional changes Split some long lines. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 7bcc06e845479bde939059bafa088bf25ede9dbf Author: Bob Moore Date: Wed Feb 18 14:58:08 2009 +0800 ACPICA: Debug output: decrease verbosity of DB_INFO debug level Removed some of the extraneous debug prints using the DB_INFO level. This should make the DB_INFO more useful. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit c114e4b6c606c7f174b752f946fcfb0e7e61a347 Author: Bob Moore Date: Mon Feb 23 11:00:00 2009 +0800 ACPICA: Debug output: print result of _OSI invocations Print input strings and the result (supported or not supported) for invocations of the _OSI method. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 4f70e371cdf6ab4f988fbaf2257e6259422ba662 Author: Bob Moore Date: Wed Feb 18 14:52:43 2009 +0800 ACPICA: Conditionally compile acpi_set_firmware_waking_vector64 This function is only needed on 64-bit host operating systems. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 3371c19c294a4cb3649aa4e84606be8a1d999e61 Author: Bob Moore Date: Wed Feb 18 14:44:03 2009 +0800 ACPICA: Remove ACPI_GET_OBJECT_TYPE macro Remove all instances of this obsolete macro, since it is now a simple reference to ->common.type. There were about 150 invocations of the macro across 41 files. ACPICA BZ 755. http://www.acpica.org/bugzilla/show_bug.cgi?id=755 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 32c9ef994d91352b710b948ec369cd18d6bca51b Author: Bob Moore Date: Wed Feb 18 14:36:05 2009 +0800 ACPICA: Add function to handle PM1 control registers Added acpi_hw_write_pm1_control. This function writes both of the PM1 control registers (A/B). These registers are different than than the PM1 A/B status and enable registers in that different values can be written to the A/B registers. Most notably, the SLP_TYP bits can be different, as per the values returned from the _Sx predefined methods. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 82d79b86646504a0ab97fe50ac137df65f651a27 Author: Bob Moore Date: Wed Feb 18 14:31:05 2009 +0800 ACPICA: Remove redundant ACPI_BITREG_SLEEP_TYPE_B This type is the same as TYPE_A. Removed this and all related instances. Renamed SLEEP_TYPE_A to simply SLEEP_TYPE. ACPICA BZ 754. http://www.acpica.org/bugzilla/show_bug.cgi?id=754 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ac0c84502697114a378057eed83a9baba879cfc9 Author: Bob Moore Date: Wed Feb 18 14:28:02 2009 +0800 ACPICA: Fix parameter validation for acpi_read/write Now return AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS if the register has an address of zero. Previously, these cases simply returned AE_OK. For optional registers such as PM1B status/enable/control, the caller should check for a valid register address before calling. ACPICA BZ 748. http://www.acpica.org/bugzilla/show_bug.cgi?id=748 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit aefc7f9a0220a40beff9b6b3b320cbeae128d0e3 Author: Bob Moore Date: Wed Feb 18 14:26:02 2009 +0800 ACPICA: For PM1B registers, do not shift value read or written The PM1B registers are mirrors of the PM1A registers with different bits actually implemented. From the ACPI specification: "Although the bits can be split between the two register blocks (each register block has a unique pointer within the FADT), the bit positions are maintained. The register block with unimplemented bits (that is, those implemented in the other register block) always returns zeros, and writes have no side effects" Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 227243a04d645377d09eda0dc8501e0d9c26ab89 Author: Bob Moore Date: Wed Feb 18 14:24:50 2009 +0800 ACPICA: Remove extra write for acpi_hw_clear_acpi_status This function was writing an optional PM1B status register twice. The existing call to the low-level acpi_hw_register_write automatically handles a possibly split PM1 A/B register. ACPICA BZ 751. http://www.acpica.org/bugzilla/show_bug.cgi?id=751 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit c520abadbc56a2740021910d2c6412f826a10059 Author: Bob Moore Date: Wed Feb 18 14:20:12 2009 +0800 ACPICA: Fix writes to optional PM1B registers On read, shift B register bits above the A bits. On write, shift B bits down to zero before writing the B register. New: acpi_hw_read_multiple, acpi_hw_write_multiple. These two functions now transparently handle the (possible) split registers for PM1 Status, Enable, and Control. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit d3319d1717a250e92be66a487dc3e0429112c284 Author: Bob Moore Date: Wed Feb 18 14:07:58 2009 +0800 ACPICA: Update comments in module header Enhance the explanations of the various package return types for clarity. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 5e053e77f233342b56fda419d347fd2c958b9849 Author: Lin Ming Date: Wed Mar 4 14:31:25 2009 +0800 ACPICA: Check for non-zero address before being converted to GAS Reported-by: FreeBSD community Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 531c633d2be8e79087335a46d3c017ca5837e588 Author: Bob Moore Date: Wed Feb 18 14:06:12 2009 +0800 ACPICA: Split out PM1 status registers from the FADT Add new globals for the PM1 status registers (A/B), similar to the way the PM1 enable registers are handled. Instead of overloading the FADT Event Register blocks. This makes the code clearer and less prone to error. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 6fc69d8beb0c16311f737df2c6f677057d50ab05 Author: Bob Moore Date: Tue Feb 3 15:16:51 2009 +0800 ACPICA: Update version to 20090123 Update version to 20090123. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 993958fecab6eabc6ee5b7ed65c56d716fd5cfe3 Author: Bob Moore Date: Tue Feb 3 15:14:33 2009 +0800 ACPICA: Update FADT flag definitions Add new flags in the Boot Architecture flags field. Update comments for all FADT flags. Add FADT version when each flag was defined. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit d3ccaff827cef5a5c5a0f3c97e1e2e6d99f618cb Author: Bob Moore Date: Tue Feb 3 14:43:04 2009 +0800 ACPICA: Add override for dynamic tables Add a call to acpi_os_table_override during the installation of a dynamic table (loaded via the Load or LoadTable AML operators). Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 97cbb7d196845ec9a6c0e3cc33ec20503f8c4e73 Author: Bob Moore Date: Tue Feb 3 14:41:03 2009 +0800 ACPICA: Remove extraneous parameter in table manager Removed the Flags parameter from several internal functions since it was not being used. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ac5f98db7be34cefc244026f882cf030debb7431 Author: Bob Moore Date: Tue Feb 3 14:35:25 2009 +0800 ACPICA: Allow OS override of all ACPI tables Previously, the table override mechanism was implemented for the DSDT only. Now, any table in the RSDT/XSDT can be replaced by the host OS. (including the DSDT). Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 4bbfb85da27c27e9cc9a7fef4bd75df6361152ff Author: Bob Moore Date: Tue Feb 3 14:17:29 2009 +0800 ACPICA: Add error check to debug object dump routine Add check for invalid handle in acpi_ns_dump_one_object. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 4b2873ba0bda7dc747cde8b6c7dc6c0b01ea6213 Author: Geert Uytterhoeven Date: Thu Mar 26 09:48:45 2009 +0100 m68k: irq_node.handler() should return irqreturn_t commit b5dc7840b3ebe9c7967dd8ba73db957767009ff9 ("m68k: introduce irq controller") reverted the return type of struct irq_node.handler() from irqreturn_t to int. Change it back to irqreturn_t, else it will give a compiler warning when irqreturn_t is turned into an enum in the near future: | arch/m68k/kernel/ints.c:231: warning: assignment from incompatible pointer type Signed-off-by: Geert Uytterhoeven commit 95fde7a83989d595c06105629f42f3691bf62f91 Author: Michael Schmitz Date: Sun Jan 18 03:22:15 2009 +0100 m68k: section mismatch fixes: Atari SCSI add __init annotations to probe routines Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven commit d497e3ab91a726ecd76028698e5ce298f75ab681 Author: Michael Schmitz Date: Sun Jan 18 03:17:33 2009 +0100 m68k: section mismatch fixes: DMAsound for Atari add __initdata to driver presets struct Signed-off-By: Michael Schmitz Signed-off-by: Geert Uytterhoeven commit 0e750aa47ab26236c15c1dc7a66ecf39148e67bc Author: Geert Uytterhoeven Date: Mon Nov 24 21:37:09 2008 +0100 MAINTAINERS: Replace dead link to m68k CVS repository by link to new git repository CVS is dead, long live git! Signed-off-by: Geert Uytterhoeven commit 8852ecd97488249ca7fe2c0d3eb44cae95886881 Author: Laurent Vivier Date: Sat Nov 15 16:10:10 2008 +0100 m68k: mac - Add SWIM floppy support It allows to read data from a floppy, but not to write to, and to eject the floppy (useful on our Mac without eject button). Signed-off-by: Laurent Vivier Signed-off-by: Geert Uytterhoeven commit 7ad93b42bd135641ddc2c298f030132aca7aeca3 Author: Laurent Vivier Date: Thu Nov 6 20:57:41 2008 +0100 m68k: mac - Add a new entry in mac_model to identify the floppy controller type. This patch adds a field "floppy_type" which can take the following values: MAC_FLOPPY_IWM for an IWM based mac MAC_FLOPPY_SWIM_ADDR1 for a SWIM based mac with controller at VIA1 + 0x1E000 MAC_FLOPPY_SWIM_ADDR2 for a SWIM based mac with controller at VIA1 + 0x16000 MAC_FLOPPY_IOP for an IOP based mac MAC_FLOPPY_AV for an AV based mac Signed-off-by: Laurent Vivier Signed-off-by: Geert Uytterhoeven commit 612bfc9e630e3f7a4f3be1325eac28de8b8970af Author: Laurent Vivier Date: Thu Oct 30 21:17:47 2008 +0100 m68k: Add install target This patch enables the use of "make install" on m68k architecture to copy kernel to /boot. Signed-off-by: Laurent Vivier Signed-off-by: Geert Uytterhoeven commit 0384e2959127a56d0640505d004d8dd92f9c29f5 Merge: 61a0918... c96f173... Author: Linus Torvalds Date: Thu Mar 26 11:20:23 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (35 commits) [libata] Improve timeout handling [libata] Drain data on errors pata_sc1200: Activate secondary channel pata_artop: Serializing support [libata] ahci: correct enclosure LED state save [libata] More robust parsing for IDENTIFY DEVICE multi_count field sata_mv: fix LED blinking for SoC+NCQ sata_mv: optimize IRQ coalescing for 8-port chips sata_mv: implement IRQ coalescing (v2) sata_mv: cosmetic preparations for IRQ coalescing pata-rb532-cf: platform_get_irq() fix ignored failure pata_efar: fix *dma_mask pata_radisys: fix mwdma_mask to exclude mwdma0 [libata] convert drivers to use ata.h mode mask defines include/linux/ata.h: add some more transfer masks ahci: Blacklist HP Compaq 6720s that spins off disks during ACPI power off [libata] sata_mv: Implement direct FIS transmission via mv_qc_issue_fis(). [libata] Export ata_pio_queue_task() so that it can be used from sata_mv. [libata] sata_mv: Add a new mv_sff_check_status() function to sata_mv. [libata] sata_mv: Tighten up interrupt masking in mv_qc_issue() ... commit 61a091827e273650b39eb87c799a6d260913fa0b Merge: 0c93ea4... fd8345f... Author: Linus Torvalds Date: Thu Mar 26 11:17:39 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (97 commits) USB: qcserial: add device id for HP devices USB: isp1760: Add a delay before reading the SKIPMAP registers in isp1760-hcd.c USB: allow malformed LANGID descriptors USB: pxa27x_udc: typo fixes and code cleanups USB: gadget: gadget zero uses new suspend/resume hooks USB: gadget: composite device-level suspend/resume hooks USB: r8a66597-hcd: suspend/resume support USB: more u32 conversion after transfer_buffer_length and actual_length USB: Fix cp2101 USB serial device driver termios functions for console use USB: CP2101 New Device ID USB: ipaq: handle 4 endpoint devices USB: S3C: Move usb-control.h to platform include USB: ohci-hcd: Add ARCH_S3C24XX to the ohci-s3c2410.c glue USB: pedantic: spelling correction in comment for ch9.h USB: host: fix sparse warning: Using plain integer as NULL pointer USB: ohci-s3c2410: fix name of bus clock USB: ohci-s3c2410: remove include USB: serial: rename cp2101 driver to cp210x USB: CP2101 Reduce Error Logging USB: CP2101 Support AN205 baud rates ... commit 0c93ea4064a209cdc36de8a9a3003d43d08f46f7 Merge: bc2fd38... e6e66b0... Author: Linus Torvalds Date: Thu Mar 26 11:17:04 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (61 commits) Dynamic debug: fix pr_fmt() build error Dynamic debug: allow simple quoting of words dynamic debug: update docs dynamic debug: combine dprintk and dynamic printk sysfs: fix some bin_vm_ops errors kobject: don't block for each kobject_uevent sysfs: only allow one scheduled removal callback per kobj Driver core: Fix device_move() vs. dpm list ordering, v2 Driver core: some cleanup on drivers/base/sys.c Driver core: implement uevent suppress in kobject vcs: hook sysfs devices into object lifetime instead of "binding" driver core: fix passing platform_data driver core: move platform_data into platform_device sysfs: don't block indefinitely for unmapped files. driver core: move knode_bus into private structure driver core: move knode_driver into private structure driver core: move klist_children into private structure driver core: create a private portion of struct device driver core: remove polling for driver_probe_done(v5) sysfs: reference sysfs_dirent from sysfs inodes ... Fixed conflicts in drivers/sh/maple/maple.c manually commit bc2fd381d8f9dbeb181f82286cdca1567e3d0def Merge: 928a726... 2ebe1d9... Author: Linus Torvalds Date: Thu Mar 26 11:13:06 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (53 commits) ide: use try_to_identify() in ide_driveid_update() ide: clear drive IRQ after re-enabling local IRQs in ide_driveid_update() ide: sanitize SELECT_MASK() usage in ide_driveid_update() ide: classify device type in do_probe() ide: remove broken EXABYTENEST support ide: shorten timeout value in ide_driveid_update() ide: propagate AltStatus workarounds to ide_driveid_update() ide: fix kmalloc() failure handling in ide_driveid_update() mn10300: remove frv: remove ide: remove pciirq argument from ide_pci_setup_ports() ide: fix ->init_chipset method to return 'int' value ide: remove try_to_identify() wrapper ide: remove no longer needed IRQ auto-probing from try_to_identify() (v2) ide: remove no longer needed IRQ fallback code from hwif_init() amd74xx: remove no longer needed ->init_hwif method ide: remove no longer needed IDE_HFLAG[_FORCE]_LEGACY_IRQS ide: use ide_pci_is_in_compatibility_mode() in ide_pci_init_{one,two}() ide: use pci_get_legacy_ide_irq() in ide_pci_init_{one,two}() ide: handle IDE_HFLAG[_FORCE]_LEGACY_IRQS in ide_pci_init_{one,two}() ... commit 928a726b0e12184729900c076e13dbf1c511c96c Merge: 8ff64b5... eaeed5d... Author: Linus Torvalds Date: Thu Mar 26 11:11:23 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (96 commits) sh: add support for SMSC Polaris platform sh: fix the HD64461 level-triggered interrupts handling sh: sh-rtc wakeup support sh: sh-rtc invalid time rework sh: sh-rtc carry interrupt rework sh: disallow kexec virtual entry sh: kexec jump: fix for ftrace. sh: kexec: Drop SR.BL bit toggling. sh: add kexec jump support sh: rework kexec segment code sh: simplify kexec vbr code sh: Flush only the needed range when unmapping a VMA. sh: Update debugfs ASID dumping for 16-bit ASID support. sh: tlb-pteaex: Kill off legacy PTEA updates. sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. sh: sh7763rdp: Change IRQ number for sh_eth of sh7763rdp sh: espt-giga board support sh: dma: Make G2 DMA configurable. sh: dma: Make PVR2 DMA configurable. sh: Move IRQ multi definition of DMAC to defconfig ... commit 8ff64b539bfd998792614481ccb67139b97075ef Merge: 61a9dc2... df3647b... Author: Linus Torvalds Date: Thu Mar 26 11:08:47 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: Fix freeze issue Fix a minor bug in the previous patch GFS2: Clean up of glops.c GFS2: Fix locking bug in failed shared to exclusive conversion GFS2: Pagecache usage optimization on GFS2 GFS2: fix sparse warning: Should it be static? GFS2: fix sparse warnings: constant is so big it is ... GFS2: Support quota/noquota mount arguments GFS2: Fix alignment issue and tidy gfs2_bitfit GFS2: Add a "demote a glock" interface to sysfs GFS2: Expose UUID via sysfs/uevent GFS2: Support generation of discard requests GFS2: Fix deadlock on journal flush GFS2: Fix error path ref counting for root inode GFS2: Remove unused field from glock GFS2: Merge lock_dlm module into GFS2 GFS2: Remove "double" locking in quota GFS2: change gfs2_quota_scan into a shrinker GFS2: Bring back lvb-related stuff to lock_nolock to support quotas GFS2: Fix remount argument parsing commit 61a9dc26d3d4ef61b0ead9930561c9ce0efa1919 Merge: 5020125... 5201b0a... Author: Linus Torvalds Date: Thu Mar 26 11:05:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: remove duplicated #include avr32: fix out-of-range rjmp instruction on large kernels avr32: Fix out-of-range rcalls in large kernels commit 502012534dd23e4a88aba7e5827b2ca1e1eaa4ca Merge: 562f477... c441c29... Author: Linus Torvalds Date: Thu Mar 26 11:05:17 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (430 commits) ALSA: hda - Add quirk for Acer Ferrari 5000 ALSA: hda - Use cached calls to get widget caps and pin caps ALSA: hda - Don't create empty/single-item input source ALSA: hda - Fix the wrong pin-cap check in patch_realtek.c ALSA: hda - Cache pin-cap values ALSA: hda - Avoid output amp manipulation to digital mic pins ALSA: hda - Add function id to proc output ALSA: pcm - Safer boundary checks ALSA: hda - Detect digital-mic inputs on ALC663 / ALC272 ALSA: sound/ali5451: typo: s/resouces/resources/ ALSA: hda - Don't show the current connection for power widgets ALSA: Fix wrong pointer to dev_err() in arm/pxa2xx-ac97-lib.c ASoC: Declare Headset as Mic and Headphone widgets for SDP3430 ASoC: OMAP: N810: Add more jack functions ASoC: OMAP: N810: Mark not connected input pins ASoC: Add FLL support for WM8400 ALSA: hda - Don't reset stream at each prepare callback ALSA: hda - Don't reset BDL unnecessarily ALSA: pcm - Fix delta calculation at boundary overlap ALSA: pcm - Reset invalid position even without debug option ... commit 562f477a54478002ddfbb5b85627c009ca41e71d Merge: ada19a3... 949abe5... Author: Linus Torvalds Date: Thu Mar 26 11:04:34 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (29 commits) crypto: sha512-s390 - Add missing block size hwrng: timeriomem - Breaks an allyesconfig build on s390: nlattr: Fix build error with NET off crypto: testmgr - add zlib test crypto: zlib - New zlib crypto module, using pcomp crypto: testmgr - Add support for the pcomp interface crypto: compress - Add pcomp interface netlink: Move netlink attribute parsing support to lib crypto: Fix dead links hwrng: timeriomem - New driver crypto: chainiv - Use kcrypto_wq instead of keventd_wq crypto: cryptd - Per-CPU thread implementation based on kcrypto_wq crypto: api - Use dedicated workqueue for crypto subsystem crypto: testmgr - Test skciphers with no IVs crypto: aead - Avoid infinite loop when nivaead fails selftest crypto: skcipher - Avoid infinite loop when cipher fails selftest crypto: api - Fix crypto_alloc_tfm/create_create_tfm return convention crypto: api - crypto_alg_mod_lookup either tested or untested crypto: amcc - Add crypt4xx driver crypto: ansi_cprng - Add maintainer ... commit ada19a31a90b4f46c040c25ef4ef8ffc203c7fc6 Merge: 8d80ce8... 36e8abf... Author: Linus Torvalds Date: Thu Mar 26 11:04:08 2009 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: (35 commits) [CPUFREQ] Prevent p4-clockmod from auto-binding to the ondemand governor. [CPUFREQ] Make cpufreq-nforce2 less obnoxious [CPUFREQ] p4-clockmod reports wrong frequency. [CPUFREQ] powernow-k8: Use a common exit path. [CPUFREQ] Change link order of x86 cpufreq modules [CPUFREQ] conservative: remove 10x from def_sampling_rate [CPUFREQ] conservative: fixup governor to function more like ondemand logic [CPUFREQ] conservative: fix dbs_cpufreq_notifier so freq is not locked [CPUFREQ] conservative: amend author's email address [CPUFREQ] Use swap() in longhaul.c [CPUFREQ] checkpatch cleanups for acpi-cpufreq [CPUFREQ] powernow-k8: Only print error message once, not per core. [CPUFREQ] ondemand/conservative: sanitize sampling_rate restrictions [CPUFREQ] ondemand/conservative: deprecate sampling_rate{min,max} [CPUFREQ] powernow-k8: Always compile powernow-k8 driver with ACPI support [CPUFREQ] Introduce /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_transition_latency [CPUFREQ] checkpatch cleanups for powernow-k8 [CPUFREQ] checkpatch cleanups for ondemand governor. [CPUFREQ] checkpatch cleanups for powernow-k7 [CPUFREQ] checkpatch cleanups for speedstep related drivers. ... commit 8d80ce80e1d58ba9cd3e3972b112cccd6b4008f4 Merge: 1646df4... 703a3cd... Author: Linus Torvalds Date: Thu Mar 26 11:03:39 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (71 commits) SELinux: inode_doinit_with_dentry drop no dentry printk SELinux: new permission between tty audit and audit socket SELinux: open perm for sock files smack: fixes for unlabeled host support keys: make procfiles per-user-namespace keys: skip keys from another user namespace keys: consider user namespace in key_permission keys: distinguish per-uid keys in different namespaces integrity: ima iint radix_tree_lookup locking fix TOMOYO: Do not call tomoyo_realpath_init unless registered. integrity: ima scatterlist bug fix smack: fix lots of kernel-doc notation TOMOYO: Don't create securityfs entries unless registered. TOMOYO: Fix exception policy read failure. SELinux: convert the avc cache hash list to an hlist SELinux: code readability with avc_cache SELinux: remove unused av.decided field SELinux: more careful use of avd in avc_has_perm_noaudit SELinux: remove the unused ae.used SELinux: check seqno when updating an avc_node ... commit 0a7d32440294faea84c9aae4cb99239fe6ddb8ed Author: Isaku Yamahata Date: Wed Mar 4 21:06:55 2009 +0900 ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops. implemented xen binary patch for pv_cpu_ops. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit dae17da60d1797c9049d21d06de0db1873eee153 Author: Isaku Yamahata Date: Wed Mar 4 21:06:54 2009 +0900 ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning. define paravirt_dv_serialize_data() and insert it to suppress false positive warnings. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit ee158fcd095c8233c9b578fbbe8a5897979a52a9 Author: Isaku Yamahata Date: Wed Mar 4 21:06:53 2009 +0900 ia64/pv_ops/bp/module: support binary patching for kernel module. support binary patching for kernel module. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 1646df40bb111715a90ce0b86448dabbcc5b3f3d Merge: 1b5e62b... 9fb4c2b... Author: Linus Torvalds Date: Thu Mar 26 11:02:50 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: R2: Fix problem with code that incorrectly modifies ebase. MIPS: Change {set,clear,change}_c0_ to return old value. MIPS: compat: Remove duplicated #include MIPS: VR5500: Enable prefetch MIPS: Fix oops in dma_unmap_page on not coherent mips platforms commit 03f511dd02f1431ef652fb97a7f2fe7aef47e025 Author: Isaku Yamahata Date: Wed Mar 4 21:06:52 2009 +0900 ia64/pv_ops: implement binary patching optimization for native. implement binary patching optimization for pv_cpu_ops. With this optimization, indirect call for pv_cpu_ops methods can be converted into inline execution or direct call. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit bf7ab02f620c1020c869fc71a2c855918b6a5375 Author: Isaku Yamahata Date: Wed Mar 4 21:06:51 2009 +0900 ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops. add helper functions to support binary patching for paravirt_ops. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit f8de2ec678fa09276cf7ad02838eb80e86c73097 Author: Isaku Yamahata Date: Wed Mar 4 21:05:46 2009 +0900 ia64/pv_ops/xen/gate.S: xen gate page paravirtualization xen gate page paravirtualization Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit c4312511ba1f3a08f2f64ca8335882ef56ff9bdd Author: Isaku Yamahata Date: Wed Mar 4 21:05:45 2009 +0900 ia64/pv_ops: paravirtualize gate.S. paravirtualize gate.S. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 1b5e62b42b55c509eea04c3c0f25e42c8b35b564 Author: Wu Fengguang Date: Mon Mar 23 08:57:38 2009 +0800 writeback: double the dirty thresholds Enlarge default dirty ratios from 5/10 to 10/20. This fixes [Bug #12809] iozone regression with 2.6.29-rc6. The iozone benchmarks are performed on a 1200M file, with 8GB ram. iozone -i 0 -i 1 -i 2 -i 3 -i 4 -r 4k -s 64k -s 512m -s 1200m -b tmp.xls iozone -B -r 4k -s 64k -s 512m -s 1200m -b tmp.xls The performance regression is triggered by commit 1cf6e7d83bf3(mm: task dirty accounting fix), which makes more correct/thorough dirty accounting. The default 5/10 dirty ratios were picked (a) with the old dirty logic and (b) largely at random and (c) designed to be aggressive. In particular, that (a) means that having fixed some of the dirty accounting, maybe the real bug is now that it was always too aggressive, just hidden by an accounting issue. The enlarged 10/20 dirty ratios are just about enough to fix the regression. [ We will have to look at how this affects the old fsync() latency issue, but that probably will need independent work. - Linus ] Cc: Nick Piggin Cc: Peter Zijlstra Reported-by: "Lin, Ming M" Tested-by: "Lin, Ming M" Signed-off-by: Wu Fengguang Signed-off-by: Linus Torvalds commit 53129c5c553f8d0c45f12f15742ac112e8605ab5 Author: Isaku Yamahata Date: Wed Mar 4 21:05:44 2009 +0900 ia64/pv_ops: move down __kernel_syscall_via_epc. Move down __kernel_syscall_via_epc to the end of the page. We want to paravirtualize only __kernel_syscall_via_epc because it includes privileged instructions. Its paravirtualization increases its symbols size. On the other hand, each paravirtualized gate must have e symbols of same value and size to native's because the page is mapped to GATE_ADDR and GATE_ADDR + PERCPU_PAGE_SIZE and vmlinux is linked to those symbols. Later to have the same symbol size, we pads NOPs at the end of __kernel_syscall_via_epc. Move it after other functions to keep symbols of other functions have same values and sizes. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 0a1c01c9477602ee8b44548a9405b2c1d587b5a2 Author: Matthew Garrett Date: Thu Mar 26 17:53:14 2009 +0000 Make relatime default Change the default behaviour of the kernel to use relatime for all filesystems. This can be overridden with the "strictatime" mount option. Signed-off-by: Matthew Garrett Signed-off-by: Linus Torvalds commit d0adde574b8487ef30f69e2d08bba769e4be513f Author: Matthew Garrett Date: Thu Mar 26 17:49:56 2009 +0000 Add a strictatime mount option Add support for explicitly requesting full atime updates. This makes it possible for kernels to default to relatime but still allow userspace to override it. Signed-off-by: Matthew Garrett Signed-off-by: Linus Torvalds commit b937dd76d07f2347684d6cc1e1ec4e2746417357 Author: Isaku Yamahata Date: Wed Mar 4 21:05:43 2009 +0900 ia64/pv_ops/xen: define xen specific gate page. define xen specific gate page. At this phase bits in the gate page is same to native. At the next phase, it will be paravirtualized. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit e4ff5b8f545811008123dd9556a51d814f562fcf Author: Isaku Yamahata Date: Wed Mar 4 21:05:42 2009 +0900 ia64/pv_ops: gate page paravirtualization. paravirtualize gate page by allowing each pv_ops instances to define its own gate page. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 1aec1c558a797512e922581b21a178a05438bfc9 Author: Isaku Yamahata Date: Wed Mar 4 21:05:41 2009 +0900 ia64/pv_ops/xen/pv_time_ops: implement sched_clock. paravirtualize sched_clock. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit f927da178671a824cf6c530f0623544206387e57 Author: Isaku Yamahata Date: Wed Mar 4 21:05:40 2009 +0900 ia64/pv_ops/pv_time_ops: add sched_clock hook. add sched_clock() hook to paravirtualize sched_clock(). ia64 sched_clock() is based on ar.itc which isn't stable on virtualized environment because vcpu may move around on pcpus. So it needs paravirtualization. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 496203b15b7249599712525c2b6aafe231b4628d Author: Isaku Yamahata Date: Wed Mar 4 21:05:39 2009 +0900 ia64/pv_ops/xen: paravirtualize read/write ar.itc and ar.itm paravirtualize ar.itc and ar.itm in order to support save/restore. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 94752a794ddfdef65289a16627faefa7e2e62d58 Author: Isaku Yamahata Date: Wed Mar 4 21:05:38 2009 +0900 ia64/pv_ops: paravirtualize mov = ar.itc. paravirtualize mov reg = ar.itc. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 9d1964f25c3c43dab5a5f4761477bcfc8402250e Author: Isaku Yamahata Date: Wed Mar 4 21:05:37 2009 +0900 ia64/pv_ops/pvchecker: support mov = ar.itc paravirtualization add suport for mov = ar.itc to pvchecker. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 84b8857a038c060535dafdc8732a1ed60d0e98fc Author: Isaku Yamahata Date: Wed Mar 4 21:05:36 2009 +0900 ia64/pv_ops: paravirtualize fsys.S. paravirtualize fsys.S. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 18ffa418aead13c56515ac74cd26105102128aca Merge: ab76f3d... 8e0ee43... Author: Ingo Molnar Date: Thu Mar 26 18:49:48 2009 +0100 Merge commit 'v2.6.29' into x86/setup-lzma commit 533bd156231eec4b399c36579e7c30b6f52cfd29 Author: Isaku Yamahata Date: Wed Mar 4 21:05:35 2009 +0900 ia64/pv_ops/xen: preliminary to paravirtualizing fsys.S for xen. This is a preliminary patch to paravirtualizing fsys.S. compile fsys.S twice one for native and one for xen, and switch them at run tine. Later fsys.S will be paravirtualized. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit dd97d5cb540939602cba9af6f88e883a6fe451f0 Author: Isaku Yamahata Date: Wed Mar 4 21:05:34 2009 +0900 ia64/pv_ops: add hooks to paravirtualize fsyscall implementation. Add two hooks, paravirt_get_fsyscall_table() and paravirt_get_fsys_bubble_doen() to paravirtualize fsyscall implementation. This patch just add the hooks fsyscall and don't paravirtualize it. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 11ff6f05f1e836a6a02369a4c4b64757e484adc1 Author: Matthew Garrett Date: Thu Mar 26 17:32:14 2009 +0000 Allow relatime to update atime once a day Allow atime to be updated once per day even with relatime. This lets utilities like tmpreaper (which delete files based on last access time) continue working, making relatime a plausible default for distributions. Signed-off-by: Matthew Garrett Reviewed-by: Matthew Wilcox Acked-by: Valerie Aurora Henson Acked-by: Alan Cox Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ac93925acbf841d70a95ab576b76b15a34d194eb Author: Isaku Yamahata Date: Wed Mar 4 21:05:33 2009 +0900 ia64/xen: short-circuit tests for dom0 This patch is ia64 counter part of clean up of the xen predicates. Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit e8c3b42057be44cff9dd225bd9930956c5f34776 Author: Isaku Yamahata Date: Wed Mar 4 21:05:32 2009 +0900 ia64/pv_ops/xen: use __initconst instead of __initdata for const data use __initconst instead of __initdata for const data like ec8148de85a73a3be397a59b6d8f4f32cf2dd254 Signed-off-by: Isaku Yamahata Signed-off-by: Tony Luck commit 17d140402e6f0fd5dde2fdf8d045e3f95f865663 Author: Cyrill Gorcunov Date: Wed Jan 14 23:37:50 2009 +0300 x86: headers cleanup - setup.h Impact: cleanup 'make headers_check' warn us about leaking of kernel private (mostly compile time vars) data to userspace in headers. Fix it. Guard this one by __KERNEL__. Signed-off-by: Cyrill Gorcunov Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 5a54bd1307471c1cd0521402fe65e2057edcab2f Merge: f9f3567... 8e0ee43... Author: Ingo Molnar Date: Thu Mar 26 18:29:40 2009 +0100 Merge commit 'v2.6.29' into core/header-fixes commit f9f35677d81adb0feedcd6e0e661784805c8facd Author: Arnd Bergmann Date: Thu Feb 26 09:57:27 2009 +0100 emu101k1.h: fix duplicate include of Impact: cleanup The earlier patch 'make most exported headers use strict integer types' accidentally includes both from the common and from the kernel-only parts. Signed-off-by: Arnd Bergmann Acked-by: Takashi Iwai Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 8cd2c29dd5f04d91dac6ea7f8b9df4ff1b4380ee Author: H. Peter Anvin Date: Wed Feb 25 15:22:19 2009 -0800 compiler-gcc4: conditionalize #error on __KERNEL__ Impact: Fix for exported headers We only want to error out on specific gcc versions if we are actually building the kernel, so conditionalize the #if...#error on __KERNEL__. Based on a patchset by Arnd Bergmann . Cc: Arnd Bergmann Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 3a471cbc081b6bf2b58a48db13d734ecd3b0d437 Author: Arnd Bergmann Date: Thu Feb 26 00:51:45 2009 +0100 remove __KERNEL_STRICT_NAMES With the last used of non-strict names gone from the exported header files, we can remove the old libc5 compatibility cruft from our headers and only export strict types. Signed-off-by: Arnd Bergmann Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 60c195c729532815c5209c81442fa0eb26ace706 Author: Arnd Bergmann Date: Thu Feb 26 00:51:43 2009 +0100 make netfilter use strict integer types Netfilter traditionally uses BSD integer types in its interface headers. This changes it to use the Linux strict integer types, like everyone else. Cc: netfilter-devel@vger.kernel.org Signed-off-by: Arnd Bergmann Acked-by: David S. Miller Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 1d7f83d5ad6c30b385ba549c1c3a287cc872b7ae Author: Arnd Bergmann Date: Thu Feb 26 00:51:42 2009 +0100 make drm headers use strict integer types The drm headers are traditionally shared with BSD and could not use the strict linux integer types. This is over now, so we can use our own types now. Cc: David Airlie Signed-off-by: Arnd Bergmann Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit ccef7ab534347e2e1e1ef398d2ec987d37e519f3 Author: Arnd Bergmann Date: Thu Feb 26 00:51:41 2009 +0100 make MTD headers use strict integer types The MTD headers traditionally use stdint types rather than the kernel integer types. This converts them to do the same as all the others. Cc: David Woodhouse Signed-off-by: Arnd Bergmann Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9adfbfb611307060db54691bc7e6d53fdc12312b Author: Arnd Bergmann Date: Thu Feb 26 00:51:40 2009 +0100 make most exported headers use strict integer types This takes care of all files that have only a small number of non-strict integer type uses. Signed-off-by: Arnd Bergmann Cc: Mauro Carvalho Chehab Cc: David Airlie Cc: Arnaldo Carvalho de Melo Cc: YOSHIFUJI Hideaki Cc: netdev@vger.kernel.org Cc: linux-ppp@vger.kernel.org Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: David Woodhouse Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 85efde6f4e0de9577256c5f0030088d3fd4347c1 Author: Arnd Bergmann Date: Thu Feb 26 00:51:39 2009 +0100 make exported headers use strict posix types A number of standard posix types are used in exported headers, which is not allowed if __STRICT_KERNEL_NAMES is defined. In order to get rid of the non-__STRICT_KERNEL_NAMES part and to make sane headers the default, we have to change them all to safe types. There are also still some leftovers in reiserfs_fs.h, elfcore.h and coda.h, but these files have not compiled in user space for a long time. This leaves out the various integer types ({u_,u,}int{8,16,32,64}_t), which we take care of separately. Signed-off-by: Arnd Bergmann Acked-by: Mauro Carvalho Chehab Cc: David Airlie Cc: Arnaldo Carvalho de Melo Cc: YOSHIFUJI Hideaki Cc: netdev@vger.kernel.org Cc: linux-ppp@vger.kernel.org Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: David Woodhouse Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 9d50638bae05ab7f62d700c9e4a83a1845cf9ef4 Author: Jaswinder Singh Rajput Date: Sun Feb 8 11:00:25 2009 +0530 unconditionally include asm/types.h from linux/types.h Reported-by: Sam Ravnborg Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 0f571515c332e00b3515dbe0859ceaa30ab66e00 Author: Atsushi Nemoto Date: Fri Mar 6 20:07:14 2009 +0900 dmaengine: Add privatecnt to revert DMA_PRIVATE property Currently dma_request_channel() set DMA_PRIVATE capability but never clear it. So if a public channel was once grabbed by dma_request_channel(), the device stay PRIVATE forever. Add privatecnt member to dma_device to correctly revert it. [lg@denx.de: fix bad usage of 'chan' in dma_async_device_register] Signed-off-by: Atsushi Nemoto Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit fc2869f6a1993550c2765e934b117e993782db30 Author: Thomas Gleixner Date: Fri Mar 13 16:37:48 2009 +0100 x86: disable __do_IRQ support Impact: disable unused code x86 is fully converted to flow handlers. No need to keep the deprecated __do_IRQ() support active. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7c526e1fef8d604a9ec022d9145bba5dbfe40a11 Merge: e868460... 7401922... a2a5ac8... 37bebc7... Author: Ingo Molnar Date: Thu Mar 26 15:45:52 2009 +0100 Merge branches 'timers/new-apis', 'timers/ntp' and 'timers/urgent' into timers/core commit e8684605adf87d8e65f64ce7b0274d60a05085bd Merge: a5ebc0b... c23e253... Author: Ingo Molnar Date: Thu Mar 26 15:45:45 2009 +0100 Merge branch 'timers/hpet' into timers/core commit a5ebc0b1a7843508b375f7ab8a36a628e5c9f372 Merge: 5ba1ae9... 8e0ee43... Author: Ingo Molnar Date: Thu Mar 26 15:45:22 2009 +0100 Merge commit 'v2.6.29' into timers/core commit 963f0cf6d116d83c558a8efe9045c1c5ad7aed34 Author: Artem Bityutskiy Date: Thu Mar 26 12:51:21 2009 +0200 UBIFS: add R/O compatibility Now UBIFS is supported by u-boot. If we ever decide to change the media format, then people will have to upgrade their u-boots to mount new format images. However, very often it is possible to preserve R/O forward-compatibility, even though the write forward-compatibility is not preserved. This patch introduces a new super-block field which stores the R/O compatibility version. Signed-off-by: Artem Bityutskiy Acked-by: Adrian Hunter commit 66fef08f7d5267b2312c4b48a6d2957d2d414105 Merge: b6d9842... b7bb4c9... Author: Ingo Molnar Date: Thu Mar 26 15:25:24 2009 +0100 Merge branch 'sched/balancing' into sched/core commit ef3500b2b2955af4fa6b0564b51c0c604e38c571 Author: Huang Weiyi Date: Thu Mar 26 15:25:02 2009 +0100 [S390] remove duplicated #includes Remove duplicated #include's in arch/s390/kernel/ipl.c. Signed-off-by: Huang Weiyi Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 005f8eee6f3c8173e492d7bd4d51bda990eb468b Author: Rusty Russell Date: Thu Mar 26 15:25:01 2009 +0100 [S390] cpumask: use mm_cpumask() wrapper Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell Signed-off-by: Martin Schwidefsky commit def6cfb70bab83c0094bc0cedd27c4eda563043e Author: Rusty Russell Date: Thu Mar 26 15:25:00 2009 +0100 [S390] cpumask: Use accessors code. Impact: use new API Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but is straightforward. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Martin Schwidefsky commit 93632d1bf7447d445c6fc274c8931152f9412b56 Author: Rusty Russell Date: Thu Mar 26 15:24:59 2009 +0100 [S390] cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits. Impact: cleanup, futureproof In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places (I also updated the immediate sites to use the new cpumask_ operators). This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar Signed-off-by: Martin Schwidefsky commit 6f7a321d5feb0bc9aa7f7b14eceb1e6a63bff937 Author: Rusty Russell Date: Thu Mar 26 15:24:58 2009 +0100 [S390] cpumask: remove cpu_coregroup_map Impact: cleanup cpu_coregroup_mask is the New Hotness. As S/390 uses theirs internally, so we just make it static. Signed-off-by: Rusty Russell Signed-off-by: Martin Schwidefsky commit c70d0fef1da286d7f96e774674aea2d20cf6222f Author: Heiko Carstens Date: Thu Mar 26 15:24:57 2009 +0100 [S390] fix clock comparator save area usage The lowcore clock comparator save area on 64 bit machines is defined to contain only the seven most significant bits of the register. That's also why it starts at an uneven address (0x1331). The current code however writes eight bytes to the address and therefore overwrites the first byte of the access register save area. Fix this and write only seven bytes to the save area. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 488253ce49714f4e9d42413c1d60b7724059a338 Author: Andreas Krebbel Date: Thu Mar 26 15:24:56 2009 +0100 [S390] Add hwcap flag for the etf3 enhancement facility The Extended Translation Facility 3 (ETF3) added instructions which allow conversions between different unicode character maps (UTF-8, UTF-32 ...). These instructions got enhanced with a later version of the ETF3 allowing malformed multibyte chars to be recognized and reported correctly. The attached patch reserves bit 8 in the elf hwcaps vector for the enhanced version of ETF3. The bit corresponds to the stfle bits 22 and 30 and will only be set if both of the stfle bits are set. Signed-off-by: Andreas Krebbel Signed-off-by: Martin Schwidefsky commit 7e9b580e5f0644cd8952b6671fd5380fd430bca3 Author: Michael Holzheu Date: Thu Mar 26 15:24:55 2009 +0100 [S390] Ensure that ipl panic notifier is called late. The s390 ipl panic notifier will stop the system or trigger a system dump. This should be done as final action on the panic path. All other panic notifiers should be executed before. Currently we use priority 0 for the ipl notifier. In order to be called late, this patch changes the priority to INT_MIN which is the lowest possible priority. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 2ac3307f275c2a91af0417e16d2cfb95ae478661 Author: Christian Ehrhardt Date: Thu Mar 26 15:24:54 2009 +0100 [S390] fix dfp elf hwcap/facility bit detection The old dfp detection wanted to check bit 43 (dfp high performance), but due to a wrong calculation always used to check bit 42. Additionally the "userspace expectation" is, that the dfp capability bit is set is if facility bit 42 (decimal floating point facility available) and bit 44 (perform floating point operation facility avail). The patch fixes the bit calculation and extends the check to work like: elf hw cap dfp bit = facility bits 42 (dfp) & 44 (pfpo) available Signed-off-by: Christian Ehrhardt Signed-off-by: Martin Schwidefsky commit d0d3cdf4c27fa4ce241616da08138954e02890f7 Author: Heiko Carstens Date: Thu Mar 26 15:24:53 2009 +0100 [S390] smp: perform initial cpu reset before starting a cpu Performing an initial cpu reset makes sure all registers and tlbs of the targeted cpu are initialized and flushed. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6d54c5a3fb13d32d66a8383cb0b5fb422a563051 Author: Heiko Carstens Date: Thu Mar 26 15:24:52 2009 +0100 [S390] smp: fix memory leak on __cpu_up If sigp_set_prefix fails on __cpu_up we leak the lowcore structures and async+panic stacks for the failed cpu. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 008d2d112cb8a743a87dfe41a67e11c0a4c73aa4 Author: Michael Holzheu Date: Thu Mar 26 15:24:51 2009 +0100 [S390] ipl: Improve checking logic and remove switch defaults. A code analysis tool reported two warnings: "The expression `ipl_info.type == IPL_TYPE_FCP' is true whenever evaluated." and "Default is not possible". This patch improves the corresponding if statement logic and removes the unnecessary switch defaults. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 58ace9f2a8f1caa0303aa64079d3929be28a937a Author: Michael Holzheu Date: Thu Mar 26 15:24:50 2009 +0100 [S390] s390dbf: Remove needless check for NULL pointer. The check for NULL pointer has already be done before. Therefore we can remove the second check. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit a0fa8e3743c80643a06a770b95e73e751548ab17 Author: Michael Holzheu Date: Thu Mar 26 15:24:49 2009 +0100 [S390] s390dbf: Remove redundant initilizations. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 3e75a902196c45d26d5e28014eb2d9821aa9794f Author: Johannes Weiner Date: Thu Mar 26 15:24:48 2009 +0100 [S390] use kzfree() Use kzfree() instead of memset() + kfree(). Signed-off-by: Johannes Weiner Reviewed-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6aa0d3a922c4f58fc36cc1502c6ac72f999e26bb Author: Stoyan Gaydarov Date: Thu Mar 26 15:24:47 2009 +0100 [S390] BUG to BUG_ON changes Signed-off-by: Stoyan Gaydarov Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 59f2e69d0f95bc00353628ef33fd534fbb8e3597 Author: Michael Holzheu Date: Thu Mar 26 15:24:46 2009 +0100 [S390] zfcpdump: Prevent zcore from beeing built as a kernel module. The zcore code switches to real addressing mode when creating a kernel dump. This is not possible, if it is built as a kernel module. With this patch zcore (zfcpdump) can't be built as a kernel module any more. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 159d1ff8f6c38086ed75f8e892790d0a4f3a6b71 Author: Frank Munzert Date: Thu Mar 26 15:24:45 2009 +0100 [S390] Use csum_partial in checksum.h The cksm function in system.h is duplicate to csum_partial in checksum.h. Remove cksm and use csum_partial instead. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit 866ba28418d30122d863c50182a202741f4dcf3e Author: Martin Schwidefsky Date: Thu Mar 26 15:24:44 2009 +0100 [S390] cleanup lowcore.h The lowcore.h header has quite a lot of whitespace damage and a rather wild collection of entries. Remove all that whitespace and tidy up the order of the lowcore fields. Signed-off-by: Martin Schwidefsky commit da292bbe1f620221b08c4b589424f370168d642b Author: Martin Schwidefsky Date: Thu Mar 26 15:24:43 2009 +0100 [S390] eliminate ipl_device from lowcore Signed-off-by: Martin Schwidefsky commit 7b4684880dfc6c45bc56039ca5eada771d7643ab Author: Martin Schwidefsky Date: Thu Mar 26 15:24:42 2009 +0100 [S390] eliminate cpuinfo_S390 structure Signed-off-by: Martin Schwidefsky commit 2938af534d47891ddbced552e5d29f7b90bec609 Author: Christian Borntraeger Date: Thu Mar 26 15:24:41 2009 +0100 [S390] Fix comments in lowcore structure This patch fixes two addresses in the comments for the lowcore structure. Looks like an copy-paste bug. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit eaf1b6fbca8d9be87bef2eafaa3f40bffe26ce04 Author: Dan Smith Date: Thu Mar 26 15:24:40 2009 +0100 [S390] Expose a constant for the number of words representing the CRs We need to use this value in the checkpoint/restart code and would like to have a constant instead of a magic '3'. Cc: linux-s390@vger.kernel.org Signed-off-by: Dan Smith Signed-off-by: Martin Schwidefsky commit 1fbc9f46a024535d95c3d5f136901decd86b109e Author: Eric Sesterhenn Date: Thu Mar 26 15:24:39 2009 +0100 [S390] list usage cleanup in s390 Trivial cleanup, list_del(); list_add{,_tail}() is equivalent to list_move{,_tail}(). Semantic patch for coccinelle can be found at www.cccmz.de/~snakebyte/list_move_tail.spatch Signed-off-by: Eric Sesterhenn Signed-off-by: Martin Schwidefsky commit ab640db01013192f6867785a7def7c9d9ec8903d Author: Carsten Otte Date: Thu Mar 26 15:24:38 2009 +0100 [S390] tape message cleanup This is a cleanup of all the messages this driver prints. It uses the dev_message macros now. Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky commit 1edad85b16fdda43c8ab809e2779e8bf64ab8bb2 Author: Heiko Carstens Date: Thu Mar 26 15:24:37 2009 +0100 [S390] use compiler builtin versions of strlen/strcpy/strcat Use builtin variants if gcc 4 or newer is used to compile the kernel. Generates better code than the asm variants. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 504665a91498f43d220b7d0942281067283a35f7 Author: Martin Schwidefsky Date: Thu Mar 26 15:24:36 2009 +0100 [S390] module function call optimization Avoid the detour over the PLT if the branch target of a function call in a module is in the range of the bras (16-bit) or brasl (32-bit) instruction. The PLT is still generated but it is unused. Signed-off-by: Martin Schwidefsky commit e13ed9b2704487e98d9241282765869fbd9a2dda Author: Heiko Carstens Date: Thu Mar 26 15:24:35 2009 +0100 [S390] bitops: remove likely annotations likely/unlikely profiling revealed that none of the branches in bitops is taken likely or unlikely. So remove the annotations. In addition the generated code is shorter. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ced2c8bcbc5082bc112d7c7410b3f5380c77e306 Author: Hendrik Brueckner Date: Thu Mar 26 15:24:34 2009 +0100 [S390] remove duplicate nul-termination of string strlcpy() does already NUL-terminate the destination string. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 6faf250789dfd35146a71402f9be245be82bf01e Author: Rusty Russell Date: Thu Mar 26 15:24:33 2009 +0100 [S390] allow usage of string functions in linux/string.h In introducing a trivial "strstarts()" function in linux/string.h, we hit the following error on s390: In file included from include/linux/bitmap.h:8, from include/linux/cpumask.h:142, from include/linux/smp.h:12, from /home/rusty/devel/kernel/patches/linux-2.6/arch/s390/include/asm/spinlock.h:14, from include/linux/spinlock.h:88, from include/linux/seqlock.h:29, from include/linux/time.h:8, from include/linux/stat.h:60, from include/linux/module.h:10, from arch/s390/lib/string.c:13: include/linux/string.h: In function 'strstarts': include/linux/string.h:124: error: implicit declaration of function 'strlen' include/linux/string.h:124: warning: incompatible implicit declaration of built-in function 'strlen' Because when including asm/string.h from arch/s390/lib/string.c we don't declare the string ops we are about to define, and linux/string.h barfs. The fix is to declare them in this IN_ARCH_STRING_C case, but in general I wonder if there's a neater fix. Reported-by: linux-next Signed-off-by: Rusty Russell Signed-off-by: Martin Schwidefsky commit 9c8a08d7a74b07ab2c47e259231d9d0f0047a3c1 Author: Jan Glauber Date: Thu Mar 26 15:24:32 2009 +0100 [S390] qdio: merge inbound and outbound handler functions The inbound and outbound handlers are nearly identical if the outbound handler uses first_to_check as end index instead of last_move. Since both values are identical at that point the handlers can be merged. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit d303b6fd858370c22d5c70c313669e3521a5f758 Author: Jan Glauber Date: Thu Mar 26 15:24:31 2009 +0100 [S390] qdio: report SIGA errors directly Errors from SIGA instructions are stored in the per queue qdio_error and reported back when the queue handler is called. That opens a race when multiple error conditions occur simultanously. Report SIGA errors immediately in the return value of do_QDIO so the upper layer can react and SIGA errors no longer interfere with other errors. Move the SIGA error handling in qeth from the outbound handler to qeth_flush_buffers. Signed-off-by: Jan Glauber commit 9e890ad880be1dd98483313b2ec0e23fbd4e3792 Author: Jan Glauber Date: Thu Mar 26 15:24:30 2009 +0100 [S390] qdio: tasklet termination in case of module unload If the qdio module is unloaded the tiqdio tasklet must be terminated by tasklet_kill. Move the tasklet_kill after the unregistration of the adapter interrupt so the tiqdio tasklet will not be scheduled anymore before calling tasklet_kill. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit e85dea0e415617b5c5627f38c71b33fbc7f94a85 Author: Jan Glauber Date: Thu Mar 26 15:24:29 2009 +0100 [S390] qdio: seperate last move index and polling index The index value that indicated that the input queue moved was also used to store the index of the first acknowledged buffer. For non-qebsm only the newest buffer is acknowledged which may be different from the last move index so two seperate values are needed to track the input queue. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 3fdf1e18cbc7c58f2d5604315ddae3596725bc6a Author: Jan Glauber Date: Thu Mar 26 15:24:28 2009 +0100 [S390] qdio: move ACK to newest buffer for devices without QEBSM The ACKnowledgement state should be set on the newest SBAL so an adapter interrupt surpression check needs to scan fewer SBALs. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 700e982f28f5e13cef8eea93ac8c6702f699d894 Author: Jan Glauber Date: Thu Mar 26 15:24:27 2009 +0100 [S390] qdio: call qdio_free also if qdio_shutdown fails qdio_cleanup is a wrapper function that should call qdio_shutdown and qdio_free. qdio_free was not called if an error occured in qdio_shutdown resulting in a missing free of allocated resources. Call qdio_free regardless of the return value of qdio_shutdown. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit c38f96080955854e54df9cb392bc674e1ae330e1 Author: Jan Glauber Date: Thu Mar 26 15:24:26 2009 +0100 [S390] qdio: proper kill of qdio tasklets The queue tasklets were stopped with tasklet_disable. Although tasklet_disable prevents the tasklet from beeing executed it is still possible that a tasklet is scheduled on a CPU at that point. A following qdio_establish calls tasklet_init which clears the tasklet count and the tasklet state leading to the following Oops: <2>kernel BUG at kernel/softirq.c:392! <4>illegal operation: 0001 [#1] SMP <4>Modules linked in: iptable_filter ip_tables x_tables dm_round_robin dm_multipath scsi_dh sg sd_mod crc_t10dif nfs lockd nfs _acl sunrpc fuse loop dm_mod qeth_l3 ipv6 zfcp qeth scsi_transport_fc qdio scsi_tgt scsi_mod chsc_sch ccwgroup dasd_eckd_mod dasdm od ext3 mbcache jbd <4>Supported: Yes <4>CPU: 0 Not tainted 2.6.27.13-1.1.mz13-default #1 <4>Process blast.LzS_64 (pid: 16445, task: 000000006cc02538, ksp: 000000006cb67998) <4>Krnl PSW : 0704c00180000000 00000000001399f4 (tasklet_action+0xc8/0x1d4) <4> R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3 <4>Krnl GPRS: ffffffff00000030 0000000000000002 0000000000000002 fffffffffffffffe <4> 000000000013aabe 00000000003b6a18 fffffffffffffffd 0000000000000000 <4> 00000000006705a8 000000007d0914a8 000000007d0914b0 000000007fecfd30 <4> 0000000000000000 00000000003b63e8 000000007fecfd90 000000007fecfd30 <4>Krnl Code: 00000000001399e8: b9200021 cgr %r2,%r1 <4> 00000000001399ec: a7740004 brc 7,1399f4 <4> 00000000001399f0: a7f40001 brc 15,1399f2 <4> >00000000001399f4: c0100027e8ee larl %r1,636bd0 <4> 00000000001399fa: bf1f1008 icm %r1,15,8(%r1) <4> 00000000001399fe: a7840019 brc 8,139a30 <4> 0000000000139a02: c0300027e8ef larl %r3,636be0 <4> 0000000000139a08: e3c030000004 lg %r12,0(%r3) <4>Call Trace: <4>([<0000000000139c12>] tasklet_hi_action+0x112/0x1d4) <4> [<000000000013aabe>] __do_softirq+0xde/0x1c4 <4> [<000000000010fa2e>] do_softirq+0x96/0xb0 <4> [<000000000013a8d8>] irq_exit+0x70/0xcc <4> [<000000000010d1d8>] do_extint+0xf0/0x110 <4> [<0000000000113b10>] ext_no_vtime+0x16/0x1a <4> [<000003e0000a3662>] ext3_dirty_inode+0xe6/0xe8 [ext3] <4>([<00000000001f6cf2>] __mark_inode_dirty+0x52/0x1d4) <4> [<000003e0000a44f0>] ext3_ordered_write_end+0x138/0x190 [ext3] <4> [<000000000018d5ec>] generic_perform_write+0x174/0x230 <4> [<0000000000190144>] generic_file_buffered_write+0xb4/0x194 <4> [<0000000000190864>] __generic_file_aio_write_nolock+0x418/0x454 <4> [<0000000000190ee2>] generic_file_aio_write+0x76/0xe4 <4> [<000003e0000a05c2>] ext3_file_write+0x3e/0xc8 [ext3] <4> [<00000000001cc2fe>] do_sync_write+0xd6/0x120 <4> [<00000000001ccfc8>] vfs_write+0xac/0x184 <4> [<00000000001cd218>] SyS_write+0x68/0xe0 <4> [<0000000000113402>] sysc_noemu+0x10/0x16 <4> [<0000020000043188>] 0x20000043188 <4>Last Breaking-Event-Address: <4> [<00000000001399f0>] tasklet_action+0xc4/0x1d4 <6>qdio: 0.0.c61b ZFCP on SC f67 using AI:1 QEBSM:0 PCI:1 TDD:1 SIGA: W AOP <4> <0>Kernel panic - not syncing: Fatal exception in interrupt Use tasklet_kill instead of tasklet_disbale. Since tasklet_schedule must not be called after tasklet_kill use the QDIO_IRQ_STATE_STOPPED to inidicate that a queue is going down and prevent further tasklet schedules in that case. Remove superflous tasklet_schedule from input queue setup, at that time the queues are not ready so the schedule results in a NOP. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit e4c14e2085cd32f61e9ffc47d5b20d4f5f7639f3 Author: Jan Glauber Date: Thu Mar 26 15:24:25 2009 +0100 [S390] qdio: Dont call qdio_shutdown in case qdio_activate fails Remove the call to qdio_shutdown from qdio_activate since the upper-layer drivers are responsible to call qdio_shutdown when qdio_activate returns with an error. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit b454740246d14b0a9c00220696f9020eaa15ca12 Author: Jan Glauber Date: Thu Mar 26 15:24:24 2009 +0100 [S390] qdio: add missing tiq_list locking Add a mutex to protect the tiq_list. Although reading the list is done using RCU adding and removing elements from the list must still happen locked since multiple qdio devices may change the list in parallel otherwise. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit feed9b62da6e2997612143ae4b857ec7f33c810d Author: Felix Beck Date: Thu Mar 26 15:24:23 2009 +0100 [S390] Add zcrypt section in MAINTAINERS Add zcrypt section in S390 part of MAINTAINERS file. Signed-off-by: Felix Beck Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 4b2a8b6043979f1e6cc8aaa4116c95b31ae942ec Author: Gerald Schaefer Date: Thu Mar 26 15:24:22 2009 +0100 [S390] kernel: Disable switch_amode by default Disable switch_amode by default because pagetable walk on pre z9 hardware has negative performance impact. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 8283cb43ab3e92a039d3486a0f6253df95a5fa55 Author: Martin Schwidefsky Date: Thu Mar 26 15:24:21 2009 +0100 [S390] clock sync mode flags The clock sync mode flag CLOCK_SYNC_STP is not cleared when stp is set offline. In this case the get_sync_clock() function returns -EACCESS and the dasd driver will block all i/o until stp is enabled again. In addition get_sync_clock can return -EACCESS if the clock is not in sync instead of -EAGAIN. Rework the stp/etr online handling to fix these problems. Signed-off-by: Martin Schwidefsky commit 56e25e9777bf15365293e27a3256eb9214a11edf Author: Peter Oberparleiter Date: Thu Mar 26 15:24:20 2009 +0100 [S390] cio: prevent workqueue deadlock Subchannel reprobing can block the kslowcrw workqueue indefinitely while waiting for device recognition to finish which is also scheduled to run on kslowcrw. Prevent this deadlock by moving the waiting portion of subchannel reprobing to the cio workqueue. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 0cc110651bed4612074eeb445a23418a5ee34cd0 Author: Sebastian Ott Date: Thu Mar 26 15:24:19 2009 +0100 [S390] cio: remove unused local variable Remove unused subchannel pointer in io_subchannel_recog_done. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 7a968f0565dc5d0518c784465cc8ce32408102b7 Author: Peter Oberparleiter Date: Thu Mar 26 15:24:18 2009 +0100 [S390] cio: incorrect status check in interrogate function Fix incorrect check for active I/O in interrogate function. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 17e7d87d9f88480a75fc9c5978ab38131a074277 Author: Sebastian Ott Date: Thu Mar 26 15:24:17 2009 +0100 [S390] cio: fix rc generation after chsc call In some situations a rc in __chsc_do_secm will be overwritten by another one. This shouldn't do harm since todays callers don't check for _specific_ errors but fix it for the sake of correctness. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 94cbc203bee4ea87bd49ad56f6c5381bc10d8b6b Author: Sebastian Ott Date: Thu Mar 26 15:24:16 2009 +0100 [S390] cio: fix wrong buffer access in cio_ignore_write Writing only spaces to /proc/cio_ignore will cause a buffer overflow since the size_t value i will not become negative and so buf[-1UL] is accessed. Change the value of i to ssize_t. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit e909074bb91773680c0b2e49ea8af9f85c6f59bd Author: Sebastian Ott Date: Thu Mar 26 15:24:15 2009 +0100 [S390] cio: ccw group fix unbind behaviour. For a ccw group device unbinding it from its driver should do the same as a call to ungroup, since this virtual device can not exist without a driver. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 50f1548399b7bd00ceb38c84a84463a89c82afe8 Author: Sebastian Ott Date: Thu Mar 26 15:24:14 2009 +0100 [S390] cio: fix sanity checks in ccwgroup driver. Some sanity checks in the ccw group driver test the output of container_of macros to be !NULL. Test the input parameters instead. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 40c9f9992bc1caa1bb890bd8163361dbf2eefa86 Author: Sebastian Ott Date: Thu Mar 26 15:24:13 2009 +0100 [S390] cio: ccw group online store - report rcs to the caller. In case the ccw group driver refuses to set a device [on|off]line, we should transmit the return code to the caller. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit a1f640734ab57d548a3fdadad6b869da534d4ecb Author: Sebastian Ott Date: Thu Mar 26 15:24:12 2009 +0100 [S390] cio: airq - fix array boundary MAX_ISC is a valid isc number, so arrays with an index of isc need to have a length of MAX_ISC+1 Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 90ac24a5aeb8d4bef001bd3589564a52846d0eee Author: Sebastian Ott Date: Thu Mar 26 15:24:11 2009 +0100 [S390] cio: device scan oom fallback. Since some callers rely on for_each_subchannel_staged to not fail, fall back to brute force scanning using get_subchannel_by_schid in case of a oom situation. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 87fa5af80cdd5053b27a546725948c2b74ec82b2 Author: Heiko Carstens Date: Thu Mar 26 15:24:10 2009 +0100 [S390] cio: ensure single load of irq handler pointer Add barrier to prevent compiler from reloading pointer to irq handler. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 98c1c6825247c71e3d8a9a5439ba21fce7563014 Author: Heiko Carstens Date: Thu Mar 26 15:24:09 2009 +0100 [S390] cio/crw: add/fix locking The crw_unregister_handler uses xchg + synchronize_sched when unregistering a crw_handler. This doesn't protect crw_collect_info to potentially jump to NULL since it has unlocked code like this: if (crw_handlers[i]) crw_handlers[i](NULL, NULL, 1); So add a mutex which protects the crw handler array for changes. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e74fe0cec92439115630b51195444b89b910800a Author: Sebastian Ott Date: Thu Mar 26 15:24:08 2009 +0100 [S390] cio: ccw device online store - report rc from ccw driver. In case the ccw driver refuses to set a device offline, we should transmit the return code to the caller. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit c08f294a14cb4c2abbd1a9a619c2d8d07afd41e3 Author: Cornelia Huck Date: Thu Mar 26 15:24:07 2009 +0100 [S390] cio: Use ccw_device_set_notoper(). Use ccw_device_set_notoper() (which also deletes the device timer and disables the subchannel) instead of simply setting the state to DEV_STATE_NOT_OPER in the generic not operational handling code. This prevents unexpected interrupts popping up for devices that are deemed not operational. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit ed04b892e28ae96662fbb3f4c961df5ff3385d28 Author: Cornelia Huck Date: Thu Mar 26 15:24:06 2009 +0100 [S390] cio: Try harder to disable subchannel. Acting upon the assumption that cio_disable_subchannel() is only called when we really want to disable the subchannel (a) remove the check for activity (it is already done in ccw_device_offline(), which is the place where it matters) (b) collect pending status via tsch() and ignore it (it can't matter anymore since the subchannel will be disabled). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit eb32ae8d0e052d1a287f99f93130ea2ad9af317e Author: Cornelia Huck Date: Thu Mar 26 15:24:05 2009 +0100 [S390] cio: Use unbind/bind instead of unregister/register. The common I/O layer may encounter a situation where the device number of a ccw device has changed or a device driver doesn't want to keep a formerly disconnected device becoming operational again. Instead of using device_del()/ device_add() as now, we can just unbind the driver from the device and rebind it to get the desired effect (rebinding) with less overhead. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 1485c5c88483d200c9c4c71ed7e8eef1a1e317a1 Author: Heiko Carstens Date: Thu Mar 26 15:24:04 2009 +0100 [S390] move EXPORT_SYMBOLs to definitions Move all EXPORT_SYMBOLs to their corresponding definitions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e3dd9c2da674993edb5b52acb56a5d954415639b Author: Heiko Carstens Date: Thu Mar 26 15:24:03 2009 +0100 [S390] convert bitmap definitions to C Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7b886416dfd76df9dd7304868556b1d82cf38890 Author: Heiko Carstens Date: Thu Mar 26 15:24:02 2009 +0100 [S390] Remove CONFIG_MACHCHK_WARNING. Everybody enables it so there is no point for an extra config option. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f5daba1d4116d964435ddd99f32b6c80448a496b Author: Heiko Carstens Date: Thu Mar 26 15:24:01 2009 +0100 [S390] split/move machine check handler code Split machine check handler code and move it to cio and kernel code where it belongs to. No functional change. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 70193af9188113c9b4ff3dde1aed9f9c8f7c4f93 Author: Sachin Sant Date: Thu Mar 26 15:24:00 2009 +0100 [S390] Fix appldata build break with !NET With CONFIG_NET not set appldata build breaks on s390. arch/s390/appldata/built-in.o: In function appldata_get_net_sum_data: appldata_net_sum.c:(.text+0x2684): undefined reference to dev_get_stats appldata_net_sum.c:(.text+0x2688): undefined reference to init_net appldata_net_sum.c:(.text+0x268c): undefined reference to init_net appldata_net_sum.c:(.text+0x2694): undefined reference to dev_base_lock The following patch fixes the issue for me. Signed-off-by: Sachin Sant Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit cc54c1e66e4b90ab657464fec30e6970636ee23d Author: Heiko Carstens Date: Thu Mar 26 15:23:59 2009 +0100 [S390] ftrace: dont trace machine check handler The ftrace code is currently not reentrant, so we better don't trace our machine check handler. Machine checks are handled like NMIs on s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 92e6ecf392fac3082653ac9d84b1bdf53d0ea160 Author: Christian Borntraeger Date: Thu Mar 26 15:23:58 2009 +0100 [S390] Fix hypervisor detection for KVM Currently we use the cpuid (via STIDP instruction) to recognize LPAR, z/VM and KVM. The architecture states, that bit 0-7 of STIDP returns all zero, and if STIDP is executed in a virtual machine, the VM operating system will replace bits 0-7 with FF. KVM should not use FE to distinguish z/VM from KVM for interested guests. The proper way to detect the hypervisor is the STSI (Store System Information) instruction, which return information about the hypervisors via function code 3, selector1=2, selector2=2. This patch changes the detection routine of Linux to use STSI instead of STIDP. This detection is earlier than bootmem, we have to use a static buffer. Since STSI expects a 4kb block (4kb aligned) this patch also changes the init.data alignment for s390. As this section will be freed during boot, this should be no problem. Patch is tested with LPAR, z/VM, KVM on LPAR, and KVM under z/VM. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 702d9e584feb028ed7e2a6d2b103b8ea57622ff2 Author: Carsten Otte Date: Thu Mar 26 15:23:57 2009 +0100 [S390] check addressing mode in s390_enable_sie The sie instruction requires address spaces to be switched to run proper. This patch verifies that this is the case in s390_enable_sie, otherwise the kernel would crash badly as soon as the process runs into sie. Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky commit 3324e60aafa9aeb1009878d45079b67367a5e2b6 Author: Christian Borntraeger Date: Thu Mar 26 15:23:56 2009 +0100 [S390] lockdep: trace hardirq off in smp_send_stop With lockdep we got the following trace after a panic: Badness at /home/autobuild/BUILD/linux-2.6.28-20090204/kernel/lockdep.c:2878 [...] Call Trace: [<0000000000176334>] lock_acquire+0x54/0xbc [<000000000050b4fe>] __atomic_notifier_call_chain+0x6e/0xdc [<000000000050b59c>] atomic_notifier_call_chain+0x30/0x44 [<0000000000504274>] panic+0xd0/0x1e8 [...] INFO: lockdep is turned off. Last Breaking-Event-Address: [<0000000000170e62>] check_flags+0xae/0x15c possible reason: unannotated irqs-off. lockdep is right. We missed a trace_hardirq_off in our smp_send_stop function and smp_send_stop is called before the panic call chain. Reported-by: Mijo Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 431429ff788598a19c1a193b9fca3961b7f55916 Author: Hendrik Brueckner Date: Thu Mar 26 15:23:55 2009 +0100 [S390] hvc_iucv: Provide IUCV z/VM user ID filtering This patch introduces the kernel parameter hvc_iucv_allow= that specifies a comma-separated list of z/VM user IDs. If specified, the z/VM IUCV hypervisor console device driver accepts IUCV connections from listed z/VM user IDs only. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 82f3a79bc6b50ab82744ebc32efba31c78dbccf7 Author: Hendrik Brueckner Date: Thu Mar 26 15:23:54 2009 +0100 [S390] hvc_iucv: Update and add missing kernel messages If the hvc_iucv= kernel parameter specifies a value that is not valid, display an error message. Minor changes to existing kernel messages. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 5168ce2c647f02756803bef7b74906f485491a1c Author: Heiko Carstens Date: Thu Mar 26 15:23:53 2009 +0100 [S390] cputime: initialize per thread timer values on fork Initialize per thread timer values instead of just copying them from the parent. That way it is easily possible to tell how much time a thread spent in user/system context. Doesn't fix a bug, this is just for debugging purposes. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit cbdc229245e8cf5c201e68221ebf2f33d2aaf029 Author: Heiko Carstens Date: Thu Mar 26 15:23:52 2009 +0100 [S390] arch/s390/kernel/process.c: fix whitespace damage Fix all the whitespace damage in process.c, especially copy_thread(). Next patch will add code to copy_thread() which needs to 'fixed' first. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 082fb301e048e84669234afb80fe27e6fa87efb4 Author: Heiko Carstens Date: Thu Mar 26 15:23:51 2009 +0100 [S390] delete drivers/s390/ebcdic.c Dead file. Seems to be a leftover from the 2.4->2.5 conversion. The used and uptodate version of this file is in arch/s390/kernel. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 94f5b09d97ee1f803c76d0262e0b0d3791825d09 Author: Heiko Carstens Date: Thu Mar 26 15:23:50 2009 +0100 [S390] move sysinfo.c from drivers/s390 to arch/s390/kernel All in sysinfo.c is core kernel code and not driver code. So move it to arch/s390/kernel. Also includes some small cleanups. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit fc19f381b3828aa4f8a3417dbefc3418ec6bbe10 Author: Stefan Haberland Date: Thu Mar 26 15:23:49 2009 +0100 [S390] dasd: message cleanup Moved some Messages into s390 debug feature and changed remaining messages to use the dev_xxx and pr_xxx macros. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit f3eb5384cf0325c02e306b1d81e70f81a03d7432 Author: Stefan Weinhuber Date: Thu Mar 26 15:23:48 2009 +0100 [S390] dasd: add High Performance FICON support To support High Performance FICON, the DASD device driver has to translate I/O requests into the new transport mode control words (TCW) instead of the traditional (command mode) CCW requests. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit b44b0ab3bac16356f03e94b1b49ba9305710c445 Author: Stefan Weinhuber Date: Thu Mar 26 15:23:47 2009 +0100 [S390] dasd: add large volume support The dasd device driver will now support ECKD devices with more then 65520 cylinders. In the traditional ECKD adressing scheme each track is addressed by a 16-bit cylinder and 16-bit head number. The new addressing scheme makes use of the fact that the actual number of heads is never larger then 15, so 12 bits of the head number can be redefined to be part of the cylinder address. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit f9a28f7bc5225af476f8d4bb669038da8801b7c4 Author: Jean-Baptiste Joret Date: Thu Mar 26 15:23:46 2009 +0100 [S390] dasd_eckd / Write format R0 is now allowed BB Permission is now granted to the subsystem to format write R0 with: * an ID = CCHHR, where CC = physical cylinder number, HH = physical head number, and R = 0 * a key length of zero * a data length of eight * a data field containing all zeros Signed-off-by: Jean-Baptiste Joret Signed-off-by: Martin Schwidefsky commit 0000d031703c33b9ea909ad81f03762db66135e1 Author: Heiko Carstens Date: Thu Mar 26 15:23:45 2009 +0100 [S390] dasd: enable compat ioctls All of the ioctls are compatible. Just enable them. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 59fa4392dddae244a1148cbbcb090b5a5728f576 Author: Heiko Carstens Date: Thu Mar 26 15:23:44 2009 +0100 [S390] page fault: invoke oom-killer s390 arch backend for 1c0fe6e3bda0464728c23c8d84aa47567e8b716c "mm: invoke oom-killer from page fault". Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 099b765139929efdcf232f8870804accf8c4cdc5 Author: Frank Munzert Date: Thu Mar 26 15:23:43 2009 +0100 [S390] Automatic IPL after dump Provide new shutdown action "dump_reipl" for automatic ipl after dump. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d7fd5f1e3b195a8232b3ed768ac2809ddce8ca46 Author: Christian Borntraeger Date: Thu Mar 26 15:23:42 2009 +0100 [S390] fix dump_stack vs. %p and (null) The s390 implemenation of dump_stack uses %p to display stack content. Since d97106ab53f812910a62d18afb9dbe882819c1ba (Make %p print '(null)' for NULL pointers) this causes a strange output for dump_stack: [...] Process basename (pid: 8822, task: 00000000b2ece038, ksp: 00000000b24d7b38) 04000000b5685c00 00000000b24d7760 0000000000000002 (null) 00000000b24d7800 00000000b24d7778 00000000b24d7778 00000000001052fe (null) 00000000b24d7b38 (null) 000000000000000a 000000000000000d (null) 00000000b24d7760 00000000b24d77d8 000000000051a7e8 00000000001052fe 00000000b24d7760 00000000b24d77b0 Call Trace: [...] This patch changes our dump_stack to use the appropriate %x format. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 9477ab2b2ae098423af2ed4fb1f7b864abfc14fc Author: Hans-Christian Egtvedt Date: Tue Mar 24 15:45:21 2009 +0100 avr32: use gpio_is_valid() to check USBA vbus_pin I/O line This patch will use gpio_is_valid() to check the vbus_pin I/O line. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 472a6786b071ea88144e09eeb9b2a77549d98e75 Author: Hans-Christian Egtvedt Date: Tue Mar 24 15:45:20 2009 +0100 atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line This patch will convert to use gpio_is_valid() to check the vbus_pin platform data. It will also default to -ENODEV if no vbus_pin is defined. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit b2a49ed0083ec5f51e9e0ed2e739b9b6259e330c Author: Hans-Christian Egtvedt Date: Tue Mar 24 15:45:19 2009 +0100 avr32: fix timing LCD parameters for EVKLCD10X boards This patch adjusts the timing parameters for the Kyocera LCD panels connected on the EVKLCD10X addon boards. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 30754acf29a9329185ffd8dffbb0c83b5a539818 Author: Hans-Christian Egtvedt Date: Tue Mar 24 15:45:18 2009 +0100 avr32: use GPIO line PB15 on EVKLCD10x boards for backlight The PB15 GPIO line is used to control the enable and disable signal for the backlight regulator on EVKLCD10x boards. This patch hands the I/O line over to the LCDC driver, which will control when to enable and disable the backlight. Signed-off-by: Hans-Christian Egtvedt [haavard.skinnemoen@atmel.com: reverted ac97c change] Signed-off-by: Haavard Skinnemoen commit fe272b5bd13d3522f9d1ed35425f1c7af4d8343f Author: Hans-Christian Egtvedt Date: Tue Mar 24 15:45:17 2009 +0100 avr32: configure MCI detect and write protect pins for EVKLCD10x boards This patch removes the special handling of MCI platform data for EVKLCD10x boards. This is now possible since the pin mask for the LCD controller is no longer reserving the I/O lines used for MCI card detection and write protect. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit ecb1bd894e7238acfc6174602c29190d239be9b1 Author: Hans-Christian Egtvedt Date: Tue Mar 24 15:45:16 2009 +0100 avr32: set pin mask to alternative 18 bpp for EVKLCD10x boards This patch will set the pin mask to alternative 18 bits per pixel output for EVKLCD10x boards. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 2ae6d5d8f067753e29248863ad7a242eff6fdb0b Author: Hans-Christian Egtvedt Date: Tue Mar 24 15:45:15 2009 +0100 avr32: add pin mask for 18-bit color on the LCD controller This patch adds two defines for setting a pin mask for 18-bit LCD panels connected to the LCD controller. One mask for primary output and one mask for alternative output. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit ef419021907b2daa51ac31bdc1f858b1b1338b07 Author: Hans-Christian Egtvedt Date: Tue Mar 24 15:45:14 2009 +0100 avr32: fix 15-bit LCDC pin mask to use MSB lines This patch corrects the 15-bit LCDC pin mask definitions to select the five upper lines in each color byte from the LCDC data output. When reducing the color depth the LCDC will start filling MSB and downwards. Also only enable 5 bits per color as the define indicates. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 707b2c247c6c3e8976f94fcf9ab25c85502352d5 Author: Eric Miao Date: Thu Mar 26 21:04:10 2009 +0800 [ARM] pxa: build arch/arm/plat-pxa/mfp.c only when PXA3xx or ARCH_MMP defined arch/arm/plat-pxa/mfp.c is not intended to be use by PXA25x/PXA27x, make it explicit here only for use by PXA3xx or ARCH_MMP. Reported-by: Guennadi Liakhovestski Reported-by: Robert Jarzmik Signed-off-by: Eric Miao commit d271e8bd8c60ce059ee36d836ba063cfc61c3e21 Author: Holger Eitzenberger Date: Thu Mar 26 13:37:14 2009 +0100 ctnetlink: compute generic part of event more acurately On a box with most of the optional Netfilter switches turned off some of the NLAs are never send, e. g. secmark, mark or the conntrack byte/packet counters. As a worst case scenario this may possibly still lead to ctnetlink skbs being reallocated in netlink_trim() later, loosing all the nice effects from the previous patches. I try to solve that (at least partly) by correctly #ifdef'ing the NLAs in the computation. Signed-off-by: Holger Eitzenberger Signed-off-by: Patrick McHardy commit a2a9537ac0b37a5da6fbe7e1e9cb06c524d2a9c4 Author: Jens Axboe Date: Tue Mar 17 09:38:40 2009 +0100 Get rid of pdflush_operation() in emergency sync and remount Opencode a cheasy approach with kevent. The idea here is that we'll add some generic delayed work infrastructure, which probably wont be based on pdflush (or maybe it will, in which case we can just add it back). This is in preparation for getting rid of pdflush completely. Signed-off-by: Jens Axboe commit 6933c02e9cc47c2df3c016621a013ec79fb4203f Author: Jens Axboe Date: Tue Mar 17 09:36:37 2009 +0100 btrfs: get rid of current_is_pdflush() in btrfs_btree_balance_dirty Chris says it's safe to kill. Acked-by: Chris Mason Signed-off-by: Jens Axboe commit 26160158d3d3df548f4ee046cc6147fe048cfa9c Author: Jens Axboe Date: Tue Mar 17 09:35:06 2009 +0100 Move the default_backing_dev_info out of readahead.c and into backing-dev.c It really makes no sense to have it in readahead.c, so move it where it belongs. Signed-off-by: Jens Axboe commit 07e86f405addc6436eb969b8279bb14a6dcacce4 Author: Avishay Traeger Date: Tue Mar 24 12:40:18 2009 +0100 block: Repeated lines in switching-sched.txt These lines appear in this file twice - removed one occurrence. Signed-off-by: Avishay Traeger Signed-off-by: Jens Axboe commit e7cbbf1bf17e3c706f874e867f7b744e1c86fed9 Author: Boaz Harrosh Date: Tue Mar 24 12:37:50 2009 +0100 bsg: Remove bogus check against request_queue->max_sectors bsg submits REQ_TYPE_BLOCK_PC so the right check is max_hw_sectors. But I've removed this check because right after, bsg proceeds with calling blk_rq_map_user() which does all the right checks. Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit 1cd96c242a829d52f7a5ae98f554ca9775429685 Author: Boaz Harrosh Date: Tue Mar 24 12:35:07 2009 +0100 block: WARN in __blk_put_request() for potential bio leak Put a WARN_ON in __blk_put_request if it is about to leak bio(s). This is a serious bug that can happen in error handling code paths. For this to work I have fixed a couple of places in block/ where request->bio != NULL ownership was not honored. And a small cleanup at sg_io() while at it. Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit f028f3b2f987ebc61cef382ab7a5c449917b728e Author: Nikanth Karthikesan Date: Tue Mar 24 12:33:41 2009 +0100 loop: fix circular locking in loop_clr_fd() With CONFIG_PROVE_LOCKING enabled $ losetup /dev/loop0 file $ losetup -o 32256 /dev/loop1 /dev/loop0 $ losetup -d /dev/loop1 $ losetup -d /dev/loop0 triggers a [ INFO: possible circular locking dependency detected ] I think this warning is a false positive. Open/close on a loop device acquires bd_mutex of the device before acquiring lo_ctl_mutex of the same device. For ioctl(LOOP_CLR_FD) after acquiring lo_ctl_mutex, fput on the backing_file might acquire the bd_mutex of a device, if backing file is a device and this is the last reference to the file being dropped . But it is guaranteed that it is impossible to have a circular list of backing devices.(say loop2->loop1->loop0->loop2 is not possible), which guarantees that this can never deadlock. So this warning should be suppressed. It is very difficult to annotate lockdep not to warn here in the correct way. A simple way to silence lockdep could be to mark the lo_ctl_mutex in ioctl to be a sub class, but this might mask some other real bugs. @@ -1164,7 +1164,7 @@ static int lo_ioctl(struct block_device *bdev, fmode_t mode, struct loop_device *lo = bdev->bd_disk->private_data; int err; - mutex_lock(&lo->lo_ctl_mutex); + mutex_lock_nested(&lo->lo_ctl_mutex, 1); switch (cmd) { case LOOP_SET_FD: err = loop_set_fd(lo, mode, bdev, arg); Or actually marking the bd_mutex after lo_ctl_mutex as a sub class could be a better solution. Luckily it is easy to avoid calling fput on backing file with lo_ctl_mutex held, so no lockdep annotation is required. If you do not like the special handling of the lo_ctl_mutex just for the LOOP_CLR_FD ioctl in lo_ioctl(), the mutex handling could be moved inside each of the individual ioctl handlers and I could send you another patch. Signed-off-by: Jens Axboe commit 86ee79c3dbd48d7430fd81edc1da3516c9f6dabc Author: David S. Miller Date: Thu Mar 26 01:54:46 2009 -0700 sparc64: Flush TLB before releasing pages. tlb_flush_mmu() needs to flush pending TLB entries before processing the mmu_gather ->pages list. Noticed by Benjamin Herrenschmidt. Signed-off-by: David S. Miller commit f0de70f8bb56952f6e016a65a8a8d006918f5bf6 Merge: bb3daa4... cda6d37... Author: David S. Miller Date: Thu Mar 26 01:22:01 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit bb3daa4a5960cd9d39bad88679fcf587b456c05d Author: PJ Waskiewicz Date: Wed Mar 25 22:10:42 2009 +0000 ixgbe: Allow Priority Flow Control settings to survive a device reset When changing DCB parameters, ixgbe needs to have the MAC reset. The way the flow control code is setup today, PFC will be disabled on a reset. This patch adds a new flow control type for PFC, and then has the netlink layer take care of toggling which type of flow control to enable. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9a8118baaeb0eaa148913bed77bf9c6335f6ca63 Author: Tom Zanussi Date: Thu Mar 26 01:24:34 2009 -0500 tracing: filter fix for TRACE_EVENT_FORMAT events Impact: fix crash (hang) when using TRACE_EVENT_FORMAT filter files filters are only hooked up to the tracepoint events defined using TRACE_EVENT but not the tracers that use TRACE_EVENT_FORMAT, such as ftrace. Do not display the filter files at all for TRACE_EVENT_FORMAT events for the time being. Cc: Steven Rostedt Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker LKML-Reference: <1237878882.8339.61.camel@charm-linux> Signed-off-by: Ingo Molnar commit ede5ad0e29b641c3d3a644272a9127bfd98dfcc8 Author: Rami Rosen Date: Thu Mar 26 01:11:48 2009 -0700 net: core: remove unneeded include in net/core/utils.c. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 73afa537926d76dbd550614c3b75e375f1e39f83 Author: Jesse Brandeburg Date: Wed Mar 25 22:06:01 2009 +0000 e1000e: update version number Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a3c69fef7a7775b0bcfbb8249845a25598cfe951 Author: Jesse Brandeburg Date: Wed Mar 25 22:05:41 2009 +0000 e1000e: fix close interrupt race As noticed by Alan Cox, it is possible for e1000e to exit its interrupt handler or NAPI with interrupts enabled even when the driver is unloading or being configured administratively down. fix related to fix for: http://bugzilla.kernel.org/show_bug.cgi?id=12876 Signed-off-by: Jesse Brandeburg CC: Alan Cox Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a72d2b2cc63994cb8d592a004bf5331be6905814 Author: Jesse Brandeburg Date: Wed Mar 25 22:05:21 2009 +0000 e1000e: fix loss of multicast packets e1000e (and e1000, igb, ixgbe, ixgb) all do a series of operations each time a multicast address is added. The flow goes something like 1) stack adds one multicast address 2) stack passes whole current list of unicast and multicast addresses to driver 3) driver clears entire list in hardware 4) driver programs each multicast address using iomem in a loop This was causing multicast packets to be lost during the reprogramming process. reference with test program: http://kerneltrap.org/mailarchive/linux-netdev/2009/3/14/5160514/thread Thanks to Dave Boutcher for his report and test program. This driver fix prepares an array all at once in memory and programs it in one shot to the hardware, not requiring an "erase" cycle. It would still be possible for packets to be dropped while the receiver is off during reprogramming. Signed-off-by: Jesse Brandeburg CC: Dave Boutcher Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 12d04a3c12b420f23398b4d650127642469a60a6 Author: Alexander Duyck Date: Wed Mar 25 22:05:03 2009 +0000 e1000e: commonize tx cleanup routine to match e1000 & igb This change updates the e1000e tx cleanup routine to more closely match what already exists in igb and e1000. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 839e642f3dda44a35c6a91780bff41d84c288022 Author: Paulius Zaleckas Date: Thu Mar 26 10:06:27 2009 +0200 Gemini: Add support for Teltonika RUT100 Signed-off-by: Paulius Zaleckas commit 1df621ae2f3b03d557d962a7afec2b1d04558986 Author: Paulius Zaleckas Date: Thu Mar 26 10:06:27 2009 +0200 Gemini: gpiolib based GPIO support v2 v2: - update copyrights Signed-off-by: Paulius Zaleckas commit 881a95f976e687307b41ba3c767561f533485c7e Author: Paulius Zaleckas Date: Thu Mar 26 10:06:27 2009 +0200 MAINTAINERS: add myself as Gemini architecture maintainer Signed-off-by: Paulius Zaleckas commit 59d3a193f1ec1639db447aa1ceb39cd1811fb36e Author: Paulius Zaleckas Date: Thu Mar 26 10:06:08 2009 +0200 ARM: Add Gemini architecture v3 Adds support for Cortina Systems Gemini family CPUs: http://www.cortina-systems.com/products/category/18 v3: - fixed __io(a) to be defined as __typesafe_io(a) v2: - #include -> - remove asm/system.h include - revorked mm.c to use named initializers - removed "empty" dma.h - updated copyrights Signed-off-by: Paulius Zaleckas commit 7249dee5bdbe96302b5ff0d9a7701cf3dc8cffe8 Author: Eric Leblond Date: Thu Mar 26 01:04:28 2009 -0700 netfilter: fix nf_logger name in ebt_ulog. This patch renames the ebt_ulog nf_logger from "ulog" to "ebt_ulog" to be in sync with other modules naming. As this name was currently only used for informational purpose, the renaming should be harmless. Signed-off-by: Eric Leblond Signed-off-by: David S. Miller commit 3b334d427cb9c866216820bfad0d8318869cc154 Author: Eric Leblond Date: Thu Mar 26 01:04:02 2009 -0700 netfilter: fix warning in ebt_ulog init function. The ebt_ulog module does not follow the fixed convention about function return. Loading the module is triggering the following message: sys_init_module: 'ebt_ulog'->init suspiciously returned 1, it should follow 0/-E convention sys_init_module: loading module anyway... Pid: 2334, comm: modprobe Not tainted 2.6.29-rc5edenwall0-00883-g199e57b #146 Call Trace: [] ? printk+0xf/0x16 [] sys_init_module+0x107/0x186 [] syscall_call+0x7/0xb The following patch fixes the return treatment in ebt_ulog_init() function. Signed-off-by: Eric Leblond Signed-off-by: David S. Miller commit 704b3ea3b9b4ea0e115208946abd5c8a64080113 Author: Eric Leblond Date: Thu Mar 26 01:03:23 2009 -0700 netfilter: fix warning about invalid const usage This patch fixes the declaration of the logger structure in ebt_log and ebt_ulog: I forgot to remove the const option from their declaration in the commit ca735b3aaa945626ba65a3e51145bfe4ecd9e222 ("netfilter: use a linked list of loggers"). Pointed-out-by: Stephen Rothwell Signed-off-by: Eric Leblond Signed-off-by: David S. Miller commit a6c42322722976ca81e6d02e4a702f33d659d8fc Author: Jesse Brandeburg Date: Wed Mar 25 21:59:22 2009 +0000 e1000: fix close race with interrupt this is in regards to http://bugzilla.kernel.org/show_bug.cgi?id=12876 where it appears that e1000 can leave its interrupt enabled after exiting the driver. Fix the bug by making the interrupt enable paths more aware of the driver exiting. Thanks to Alan Cox for the poke and initial investigation. CC: Alan Cox Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ccfb342c5cd584f0f3e682280f7152310edf0e39 Author: Alexander Duyck Date: Wed Mar 25 21:59:04 2009 +0000 e1000: cleanup clean_tx_irq routine so that it completely cleans ring The tx cleanup routine was stopping after 64 packets and this was causing issues resulting in the ring not being completely cleaned. This change updates the driver to clean the entire ring and if it doesn't it then will retry on the next pass. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 37e73df8c3f19f4733c60ec53c104ff6f79ba467 Author: Alexander Duyck Date: Wed Mar 25 21:58:45 2009 +0000 e1000: fix tx hang detect logic and address dma mapping issues This patch changes the dma mapping to better support skb_dma_map/skb_dma_unmap and addresses and redefines the tx hang logic to be based off of time stamp instead of if the dma field is populated Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 563bdd61fe4dbd6b58cf7eb06f8d8f14479ae1dc Author: Theodore Ts'o Date: Thu Mar 26 00:06:19 2009 -0400 ext4: Check for an valid i_mode when reading the inode from disk Signed-off-by: "Theodore Ts'o" commit cda6d377ec6b2ee2e58d563d0bd7eb313e0165df Author: Stephen Hemminger Date: Wed Mar 25 21:01:47 2009 -0700 bridge: bad error handling when adding invalid ether address This fixes an crash when empty bond device is added to a bridge. If an interface with invalid ethernet address (all zero) is added to a bridge, then bridge code detects it when setting up the forward databas entry. But the error unwind is broken, the bridge port object can get freed twice: once when ref count went to zeo, and once by kfree. Since object is never really accessible, just free it. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7058548cd50e5bda8db086bb2e5c1d82f746d047 Author: Theodore Ts'o Date: Wed Mar 25 23:35:46 2009 -0400 ext4: Use WRITE_SYNC for commits which are caused by fsync() If a commit is triggered by fsync(), set a flag indicating the journal blocks associated with the transaction should be flushed out using WRITE_SYNC. Signed-off-by: "Theodore Ts'o" commit c16831b4cc9b0805adf8ca3001752a7ec10a17bf Author: Manish Katiyar Date: Thu Feb 12 21:57:04 2009 +0100 ext2: Zero our b_size in ext2_quota_read() ext2_quota_read() doesn't initialize tmp_bh.b_size before calling ext2_get_block() where we access it. Since it is a local variable it might contain some garbage. Make sure it is filled with reasonable value before passing. Signed-off-by: Manish Katiyar Signed-off-by: Jan Kara commit 620372a9ffc6f1239a4f379ff145de9e4b5d23ba Author: Matt LaPlante Date: Tue Feb 10 14:50:34 2009 +0100 trivial: fix typos/grammar errors in fs/Kconfig Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina Signed-off-by: Jan Kara commit 268157ba673e2a868c167211e39fcad4ada5fd1e Author: Jan Kara Date: Tue Jan 27 15:47:22 2009 +0100 quota: Coding style fixes Wrap long lines, remove assignments from conditions, rewrite two overcomplicated for loops. Signed-off-by: Jan Kara commit 7a2435d874388271cfe5046d180751352a1d30a2 Author: Jan Kara Date: Tue Jan 27 01:47:11 2009 +0100 quota: Remove superfluous inlines Remove inlines of large functions to decrease code size (saved 1543 bytes). Signed-off-by: Jan Kara commit bf84c82d000b9820b01f516d13d328f354f8a8ee Author: Jan Kara Date: Mon Jan 26 17:37:01 2009 +0100 quota: Remove uppercase aliases for quota functions. Since all users have been converted, remove uppercase names of quota functions. Signed-off-by: Jan Kara commit 90c0af05a5a486f7709195e20bb26ad8f67ba5af Author: Jan Kara Date: Mon Feb 9 22:22:21 2009 +0100 nfsd: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. CC: bfields@fieldses.org CC: neilb@suse.de Signed-off-by: Jan Kara commit c94d2a22f26bdb11d3dd817669b940a8c76a8cad Author: Jan Kara Date: Mon Jan 26 17:22:32 2009 +0100 jfs: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. Signed-off-by: Jan Kara Acked-by: Dave Kleikamp commit bacfb7c2e5d10f40f7adb23aeeffc824b839eaa8 Author: Jan Kara Date: Mon Jan 26 17:20:46 2009 +0100 udf: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. Signed-off-by: Jan Kara commit 5f5fa796c6b0158b50a2d5d2f80a926466ea87b3 Author: Jan Kara Date: Mon Jan 26 17:15:30 2009 +0100 ufs: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. Signed-off-by: Jan Kara CC: Evgeniy Dushistov commit 77db4f25bca22ce96be0cd3c5a3160599817ff45 Author: Jan Kara Date: Mon Jan 26 17:14:18 2009 +0100 reiserfs: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. Signed-off-by: Jan Kara CC: reiserfs-devel@vger.kernel.org commit a269eb18294d35874c53311acc2cd0b5ef477ce5 Author: Jan Kara Date: Mon Jan 26 17:04:39 2009 +0100 ext4: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. Signed-off-by: Jan Kara Acked-by: Mingming Cao CC: linux-ext4@vger.kernel.org commit 81a052273998f94b098945c4c313e05246956eb2 Author: Jan Kara Date: Mon Jan 26 16:58:01 2009 +0100 ext3: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. Signed-off-by: Jan Kara CC: linux-ext4@vger.kernel.org commit 6f90bee5062a8af24d8aa5c47182d15aa28a0f17 Author: Jan Kara Date: Mon Jan 26 16:52:06 2009 +0100 ext2: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. Signed-off-by: Jan Kara CC: linux-ext4@vger.kernel.org commit 314649558d2ff0927d102fa06c62557a92ce5c1d Author: Jan Kara Date: Mon Jan 26 16:46:21 2009 +0100 ramfs: Remove quota call Ramfs has no bussiness in quotas. Signed-off-by: Jan Kara commit 9e3509e273ecc2a5f937c493f9bb71e5e41ac2e5 Author: Jan Kara Date: Mon Jan 26 16:45:12 2009 +0100 vfs: Use lowercase names of quota functions Use lowercase names of quota functions instead of old uppercase ones. Signed-off-by: Jan Kara CC: Alexander Viro commit d26ac1a8128f6e1fc467f145acaa9f9bf9e16b75 Author: Jan Kara Date: Mon Jan 26 16:17:50 2009 +0100 quota: Remove dqbuf_t and other cleanups Remove bogus typedef which is just a definition of char *. Remove unnecessary type casts. Substitute freedqbuf() with kfree. Signed-off-by: Jan Kara commit dd6f3c6d5a26a282521f15a183fdc2d6f35cfa0f Author: Jan Kara Date: Mon Jan 26 16:01:43 2009 +0100 quota: Remove NODQUOT macro Remove this macro which is just a definition of NULL. Fix a few coding style issues along the way. Signed-off-by: Jan Kara commit c516610cfec5c50f84ff8cc315628548481f4990 Author: Jan Kara Date: Mon Jan 26 15:32:46 2009 +0100 quota: Make global quota locks cacheline aligned Andrew Morton has suggested that three global quota locks can end up in the same cacheline which can result in bad cacheline ping-pong on SMP machines. Make locks cacheline aligned so that we avoid this problem (thanks goes to Andrew for the idea). Signed-off-by: Jan Kara CC: Andrew Morton commit 884d179dff3aa98a73c3ba9dee05fd6050d664f0 Author: Jan Kara Date: Mon Jan 26 15:28:09 2009 +0100 quota: Move quota files into separate directory Quota subsystem has more and more files. It's time to create a dir for it. Signed-off-by: Jan Kara commit 60e58e0f30e723464c2a7d34b71b8675566c572d Author: Mingming Cao Date: Thu Jan 22 18:13:05 2009 +0100 ext4: quota reservation for delayed allocation Uses quota reservation/claim/release to handle quota properly for delayed allocation in the three steps: 1) quotas are reserved when data being copied to cache when block allocation is defered 2) when new blocks are allocated. reserved quotas are converted to the real allocated quota, 2) over-booked quotas for metadata blocks are released back. Signed-off-by: Mingming Cao Acked-by: "Theodore Ts'o" Signed-off-by: Jan Kara commit 643d00ccc311664188c8209bf8b596a30e139c3a Author: Jan Kara Date: Mon Jan 12 19:07:14 2009 +0100 reiserfs: Remove unnecessary quota functions reiserfs_dquot_initialize() and reiserfs_dquot_drop() is no longer needed because of modified quota locking. Signed-off-by: Jan Kara commit edf7245362f7b8b8c76c4a6cad3604bf80884848 Author: Jan Kara Date: Mon Jan 12 19:05:26 2009 +0100 ext4: Remove unnecessary quota functions ext4_dquot_initialize() and ext4_dquot_drop() is no longer needed because of modified quota locking. Signed-off-by: Jan Kara commit a219ce3748bbc596cec85c44754b3f6b994f1e1d Author: Jan Kara Date: Mon Jan 12 19:03:19 2009 +0100 ext3: Remove unnecessary quota functions ext3_dquot_initialize() and ext3_dquot_drop() is no longer needed because of modified quota locking. Signed-off-by: Jan Kara commit 08d0350ce9d63b19b62498c7b6421c2a95246b95 Author: Mingming Cao Date: Wed Jan 14 16:19:32 2009 +0100 quota: Move EXPORT_SYMBOL immediately next to the functions/varibles According to checkpatch: EXPORT_SYMBOL(foo); should immediately follow its function/variable Signed-off-by: Mingming Cao Signed-off-by: Jan Kara commit 9900ba3487f9ba392db30e12d210f768a90abb13 Author: Mingming Cao Date: Wed Jan 14 16:18:57 2009 +0100 quota: Use inode->i_blkbits to get block bits Andrew has suggested to use inode->i_blkbits to get the block bits info, rather than use super block's blockbits. That should be faster and emit less code. Signed-off-by: Mingming Cao Signed-off-by: Jan Kara commit 740d9dcd949a986c88886a591054a0cdb89ef669 Author: Mingming Cao Date: Tue Jan 13 16:43:14 2009 +0100 quota: Add quota reservation claim and released operations Reserved quota will be claimed at the block allocation time. Over-booked quota could be returned back with the release callback function. Signed-off-by: Mingming Cao Signed-off-by: Jan Kara commit f18df228997fb716990590d248663981a15f17d4 Author: Mingming Cao Date: Tue Jan 13 16:43:09 2009 +0100 quota: Add quota reservation support Delayed allocation defers the block allocation at the dirty pages flush-out time, doing quota charge/check at that time is too late. But we can't charge the quota blocks until blocks are really allocated, otherwise users could get overcharged after reboot from system crash. This patch adds quota reservation for delayed allocation. Quota blocks are reserved in memory, inode and quota won't gets dirtied until later block allocation time. Signed-off-by: Mingming Cao Signed-off-by: Jan Kara commit 5a29f7893fbe681f1334285be7e41e56f0de666c Author: Jiri Pirko Date: Wed Mar 25 17:23:38 2009 -0700 bonding: select current active slave when enslaving device for mode tlb and alb I've hit an issue on my system when I've been using RealTek RTL8139D cards in bonding interface in mode balancing-alb. When I enslave a card, the current active slave (bond->curr_active_slave) is not set and the link is therefore not functional. ---- # cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008) Bonding Mode: adaptive load balancing Primary Slave: None Currently Active Slave: None MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:1f:1f:01:2f:22 ---- The thing that gets it right is when I unplug the cable and then I put it back into the NIC. Then the current active slave is set to eth1 and link is working just fine. Here is dmesg log with bonding DEBUG messages turned on: ---- ADDRCONF(NETDEV_UP): bond0: link is not ready event_dev: bond0, event: 1 IFF_MASTER event_dev: bond0, event: 8 IFF_MASTER bond_ioctl: master=bond0, cmd=35216 slave_dev=cac5d800: slave_dev->name=eth1: eth1: ! NETIF_F_VLAN_CHALLENGED event_dev: eth1, event: 8 eth1: link up, 100Mbps, full-duplex, lpa 0xC5E1 event_dev: eth1, event: 1 event_dev: eth1, event: 8 IFF_SLAVE Initial state of slave_dev is BOND_LINK_UP bonding: bond0: enslaving eth1 as an active interface with an up link. ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready event_dev: bond0, event: 4 IFF_MASTER bond0: no IPv6 routers present <<<>>> eth1: link down event_dev: eth1, event: 4 IFF_SLAVE bonding: bond0: link status definitely down for interface eth1, disabling it event_dev: bond0, event: 4 IFF_MASTER <<<>>> eth1: link up, 100Mbps, full-duplex, lpa 0xC5E1 event_dev: eth1, event: 4 IFF_SLAVE bonding: bond0: link status definitely up for interface eth1. bonding: bond0: making interface eth1 the new active one. event_dev: eth1, event: 8 IFF_SLAVE event_dev: eth1, event: 8 IFF_SLAVE bonding: bond0: first active interface up! event_dev: bond0, event: 4 IFF_MASTER ---- The current active slave is set by calling bond_select_active_slave() function from bond_miimon_commit() function when the slave (eth1) link goes to state up. I also tested this on other machine with Broadcom NetXtreme II BCM5708 1000Base-T NIC and there all works fine. The thing is that this adapter is down and goes up after few seconds after it is enslaved. This patch calls bond_select_active_slave() in bond_enslave() function for modes alb and tlb and makes sure that the current active slave is set up properly even when the slave state is already up. Tested on both systems, works fine. Notice: The same problem can maybe also occrur in mode 8023AD but I'm unable to test that. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 93c1285c5d92c31f9bcc20355f1e86e95bec165e Author: Li Yang Date: Tue Mar 24 23:15:33 2009 +0000 gianfar: reallocate skb when headroom is not enough for fcb Gianfar uses a hardware header FCB for offloading. However when used with bridging or IP forwarding, TX skb might not have enough headroom for the FCB. Reallocate skb for such cases. Signed-off-by: Li Yang Signed-off-by: David S. Miller commit 8ca51986be0c19c8a48ef8f36568c5a3c2c0ac50 Author: Florian Fainelli Date: Tue Mar 24 23:34:38 2009 +0000 Bump release date to 25Mar2009 and version to 0.22 This patch bumps the driver release date to March 25th 2009 and release version to 0.22. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 2a30ca8b1ec0e3c9b4a77113d5e8648b2fd56cae Author: Florian Fainelli Date: Tue Mar 24 23:34:35 2009 +0000 r6040: Fix second PHY address This patch fixes the second PHY address which is strapped to be at PHY address 3 instead of 2. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 7198e2eeb44b3fe7cc97f997824002da47a9c644 Author: Etienne Basset Date: Tue Mar 24 20:53:24 2009 +0100 smack: convert smack to standard linux lists the following patch (on top of 2.6.29) converts Smack lists to standard linux lists Please review and consider for inclusion in 2.6.30-rc regards, Etienne Signed-off-by: Etienne Basset Acked-by: Casey Schaufler commit 2a4efa42450762cbfa5c5712aa4cc9f06924c9fd Author: Zhaolei Date: Wed Mar 25 12:06:05 2009 +0800 ftrace: Using FTRACE_WARN_ON() to check "freed record" in ftrace_release() "Because when we call ftrace_free_rec we change the rec->ip to point to the next record in the chain. Something is very wrong if rec->ip >= s && rec->ip < e and the record is already free." "Note, use FTRACE_WARN_ON() macro. This way it shuts down ftrace if it is hit and helps to avoid further damage later." -- Steven Rostedt Signed-off-by: Zhao Lei Signed-off-by: Steven Rostedt commit a400c30edb1958ceb53c4b8ce78989189b36df47 Author: Holger Eitzenberger Date: Wed Mar 25 21:53:39 2009 +0100 netfilter: nf_conntrack: calculate per-protocol nlattr size Signed-off-by: Holger Eitzenberger Signed-off-by: Patrick McHardy commit 5c0de29d06318ec8f6e3ba0d17d62529dbbdc1e8 Author: Holger Eitzenberger Date: Wed Mar 25 21:52:17 2009 +0100 netfilter: nf_conntrack: add generic function to get len of generic policy Usefull for all protocols which do not add additional data, such as GRE or UDPlite. Signed-off-by: Holger Eitzenberger Signed-off-by: Patrick McHardy commit 2732c4e45bb67006fdc9ae6669be866762711ab5 Author: Holger Eitzenberger Date: Wed Mar 25 21:50:59 2009 +0100 netfilter: ctnetlink: allocate right-sized ctnetlink skb Try to allocate a Netlink skb roughly the size of the actual message, with the help from the l3 and l4 protocol helpers. This is all to prevent a reallocation in netlink_trim() later. The overhead of allocating the right-sized skb is rather small, with ctnetlink_alloc_skb() actually being inlined away on my x86_64 box. The size of the per-proto space is determined at registration time of the protocol helper. Signed-off-by: Holger Eitzenberger Signed-off-by: Patrick McHardy commit 70511134f61bd6e5eed19f767381f9fb3e762d49 Author: Ravikiran G Thirumalai Date: Mon Mar 23 23:14:29 2009 -0700 Revert "x86: don't compile vsmp_64 for 32bit" Partial revert of commit 129d8bc828e011bda0b7110a097bf3a0167f966e titled 'x86: don't compile vsmp_64 for 32bit' Commit reverted to compile vsmp_64.c if CONFIG_X86_64 is defined, since is_vsmp_box() needs to indicate that TSCs are not synchronized, and hence, not a valid time source, even when CONFIG_X86_VSMP is not defined. Signed-off-by: Ravikiran Thirumalai Cc: Yinghai Lu Cc: Andrew Morton Cc: shai@scalex86.org LKML-Reference: <20090324061429.GH7278@localdomain> Signed-off-by: Ingo Molnar commit ea781f197d6a835cbb93a0bf88ee1696296ed8aa Author: Eric Dumazet Date: Wed Mar 25 21:05:46 2009 +0100 netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu() Use "hlist_nulls" infrastructure we added in 2.6.29 for RCUification of UDP & TCP. This permits an easy conversion from call_rcu() based hash lists to a SLAB_DESTROY_BY_RCU one. Avoiding call_rcu() delay at nf_conn freeing time has numerous gains. First, it doesnt fill RCU queues (up to 10000 elements per cpu). This reduces OOM possibility, if queued elements are not taken into account This reduces latency problems when RCU queue size hits hilimit and triggers emergency mode. - It allows fast reuse of just freed elements, permitting better use of CPU cache. - We delete rcu_head from "struct nf_conn", shrinking size of this structure by 8 or 16 bytes. This patch only takes care of "struct nf_conn". call_rcu() is still used for less critical conntrack parts, that may be converted later if necessary. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 2f3ec501ba1e1a68ab9d413f143bdc8f46417fc1 Author: Tony Lindgren Date: Mon Mar 16 15:28:42 2009 -0700 [ARM] OMAP: Fix compile for omap2_init_common_hw() Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 8937b7349ca9e25a02b2a72ccb7fba404ddedc5b Merge: 9973022... ffe7f95... Author: Russell King Date: Wed Mar 25 18:31:35 2009 +0000 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel commit 1f9352ae2253a97b07b34dcf16ffa3b4ca12c558 Author: Patrick McHardy Date: Wed Mar 25 19:26:35 2009 +0100 netfilter: {ip,ip6,arp}_tables: fix incorrect loop detection Commit e1b4b9f ([NETFILTER]: {ip,ip6,arp}_tables: fix exponential worst-case search for loops) introduced a regression in the loop detection algorithm, causing sporadic incorrectly detected loops. When a chain has already been visited during the check, it is treated as having a standard target containing a RETURN verdict directly at the beginning in order to not check it again. The real target of the first rule is then incorrectly treated as STANDARD target and checked not to contain invalid verdicts. Fix by making sure the rule does actually contain a standard target. Based on patch by Francis Dupont Signed-off-by: Patrick McHardy commit fee039a1d05c6e0f71b0fe270d847742a02d56c4 Author: Masami Hiramatsu Date: Mon Mar 23 10:14:52 2009 -0400 x86: kretprobe-booster interrupt emulation code fix Fix interrupt emulation code in kretprobe-booster according to pt_regs update (es/ds change and gs adding). This issue has been reported on systemtap-bugzilla: http://sources.redhat.com/bugzilla/show_bug.cgi?id=9965 | On a -tip kernel on x86_32, kretprobe_example (from samples) triggers the | following backtrace when its retprobing a class of functions that cause a | copy_from/to_user(). | | BUG: sleeping function called from invalid context at mm/memory.c:3196 | in_atomic(): 0, irqs_disabled(): 1, pid: 2286, name: cat Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Tested-by: Bharata B Rao Cc: systemtap-ml LKML-Reference: <49C7995C.2010601@redhat.com> Signed-off-by: Ingo Molnar commit e06b1b56f9bfcc91e1f175fe8d8bf3e35dafa080 Author: Rusty Russell Date: Tue Mar 24 14:17:19 2009 -0700 x86: Correct behaviour of irq affinity Impact: get correct smp_affinity as user requested The effect of setting desc->affinity (ie. from userspace via sysfs) has varied over time. In 2.6.27, the 32-bit code anded the value with cpu_online_map, and both 32 and 64-bit did that anding whenever a cpu was unplugged. 2.6.29 consolidated this into one routine (and fixed hotplug) but introduced another variation: anding the affinity with cfg->domain. We should just set it to what the user said - if possible. (cpu_mask_to_apicid_and already takes cpu_online_mask into account) Signed-off-by: Yinghai Lu Acked-by: "Eric W. Biederman" Cc: Andrew Morton LKML-Reference: <49C94DDF.2010703@kernel.org> Signed-off-by: Ingo Molnar commit af9d32ad6718b9a80fa89f557cc1fbb63a93ec15 Author: Holger Eitzenberger Date: Wed Mar 25 18:44:01 2009 +0100 netfilter: limit the length of the helper name This is necessary in order to have an upper bound for Netlink message calculation, which is not a problem at all, as there are no helpers with a longer name. Signed-off-by: Holger Eitzenberger Signed-off-by: Patrick McHardy commit 759ee0915dd713361e72facb78b66600b5712d65 Author: Lai Jiangshan Date: Wed Mar 25 17:06:30 2009 +0800 init,cpuset: fix initialize order Impact: cpuset_wq should be initialized after init_workqueues() When I read /debugfs/tracing/trace_stat/workqueues, I got this: # CPU INSERTED EXECUTED NAME # | | | | 0 0 0 cpuset 0 285 285 events/0 0 2 2 work_on_cpu/0 0 1115 1115 khelper 0 325 325 kblockd/0 0 0 0 kacpid 0 0 0 kacpi_notify 0 0 0 ata/0 0 0 0 ata_aux 0 0 0 ksuspend_usbd 0 0 0 aio/0 0 0 0 nfsiod 0 0 0 kpsmoused 0 0 0 kstriped 0 0 0 kondemand/0 0 1 1 hid_compat 0 0 0 rpciod/0 1 64 64 events/1 1 2 2 work_on_cpu/1 1 5 5 kblockd/1 1 0 0 ata/1 1 0 0 aio/1 1 0 0 kondemand/1 1 0 0 rpciod/1 I found "cpuset" is at the earliest. I found a create_singlethread_workqueue() is earlier than init_workqueues(): kernel_init() ->cpuset_init_smp() ->create_singlethread_workqueue() ->do_basic_setup() ->init_workqueues() I think it's better that create_singlethread_workqueue() is called after workqueue subsystem has been initialized. Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker Cc: Paul Menage Cc: miaoxie Cc: Li Zefan Cc: Andrew Morton LKML-Reference: <49C9F416.1050707@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2f63b840bc8a816ac879ee773b035cf3e433fae4 Author: Lai Jiangshan Date: Wed Mar 25 16:59:18 2009 +0800 trace_workqueues: fix empty line's output Empty lines separate cpus stat. After previous fix(trace_stat: keep original order) applied, the empty lines are displayed at incorrect position. Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <49C9F266.2060706@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 220ba351dfa57eca4bec5ce0098a276446a47958 Author: Lai Jiangshan Date: Wed Mar 25 16:58:39 2009 +0800 trace_stat: keep original order Impact: make trace_stat files show items with the original order trace_stat tracer reverse the items, it makes the output looks a little ugly. Example, when we read trace_stat/workqueues, we get cpu#7's stat. at first, and then cpu#6... cpu#0. Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <49C9F23F.5040307@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e6f489013b985b58d096a3091ece0ed579367232 Author: Lai Jiangshan Date: Wed Mar 25 16:27:17 2009 +0800 trace_stat: don't call seq_printf() in seq_operation->start() Impact: Fix incorrect way using seq_file's API Use SEQ_START_TOKEN instead of calling ->stat_headers() int seq_operation->start(). Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt Cc: Alexey Dobriyan LKML-Reference: <49C9EAE5.5070202@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e487eb99cf9381a4f8254fa01747a85818da612b Author: Holger Eitzenberger Date: Wed Mar 25 18:26:30 2009 +0100 netlink: add nla_policy_len() It calculates the max. length of a Netlink policy, which is usefull for allocating Netlink buffers roughly the size of the actual message. Signed-off-by: Holger Eitzenberger Signed-off-by: Patrick McHardy commit d0dba7255b541f1651a88e75ebdb20dd45509c2f Author: Holger Eitzenberger Date: Wed Mar 25 18:24:48 2009 +0100 netfilter: ctnetlink: add callbacks to the per-proto nlattrs There is added a single callback for the l3 proto helper. The two callbacks for the l4 protos are necessary because of the general structure of a ctnetlink event, which is in short: CTA_TUPLE_ORIG CTA_TUPLE_REPLY CTA_ID ... CTA_PROTOINFO CTA_TUPLE_MASTER Therefore the formular is size := sizeof(generic-nlas) + 3 * sizeof(tuple_nlas) + sizeof(protoinfo_nlas) Some of the NLAs are optional, e. g. CTA_TUPLE_MASTER, which is only set if it's an expected connection. But the number of optional NLAs is small enough to prevent netlink_trim() from reallocating if calculated properly. Signed-off-by: Holger Eitzenberger Signed-off-by: Patrick McHardy commit 6d77976800c3f29a0337fadcc9ddd79050fa5620 Author: Oliver Neukum Date: Sun Mar 22 18:01:49 2009 +0100 HID: autosuspend -- fix lockup of hid on reset This fixes a use of flush_scheduled_work() in USB HID's reset logic that can deadlock. Tested-by: Valdis Kletniks Signed-off-by: Oliver Neukum Signed-off-by: Jiri Kosina commit ae2f007468223e9efd6973be0364b9307a050a0c Author: Jiri Kosina Date: Fri Feb 20 12:47:08 2009 +0100 HID: hid_reset_resume() needs to be defined only when CONFIG_PM is set There is no point of having hid_reset_resume() when CONFIG_PM is not set, and even the corresponding .reset_resume pointer in hid_driver struct is properly ifdefed. Move the definition into the ifdef CONFIG_PM part of the source to avoid drivers/hid/usbhid/hid-core.c:1337: warning: 'hid_reset_resume' defined but not used Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit 378a0ede126a2c59ab9ea1771de624521db5053e Author: Oliver Neukum Date: Wed Feb 18 11:46:45 2009 +0100 HID: fix USB HID devices after STD with autosuspend This patch fixes a bug caused by reset_resume not changing the internal status flags for a device that is resumed via reset_resume. To do so the reset handlers, which correctly assume that a device is awake, can no longer do all the work of reset_resume handling. Signed-off-by: Oliver Neukum Tested-by: Laurent Riffard Signed-off-by: Jiri Kosina commit 0f6f1407e3e4a2cc4f602806d3c174473850f4da Author: Jiri Kosina Date: Mon Jan 19 09:17:18 2009 +0100 HID: do not try to compile PM code with CONFIG_PM unset Fixes this build breakage in case when CONFIG_PM is not set drivers/hid/usbhid/hid-core.c: In function 'hid_suspend': drivers/hid/usbhid/hid-core.c:1220: error: 'struct usb_device' has no member named 'auto_pm' drivers/hid/usbhid/hid-core.c:1245: error: 'struct usb_device' has no member named 'auto_pm' drivers/hid/usbhid/hid-core.c:1258: error: 'struct usb_device' has no member named 'auto_pm' by throwing both the hid_suspend() and hid_resume() away completely in such case, as they won't be used anyway. Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit 0361a28d3f9a4315a100c7b37ba0b55cfe15fe07 Author: Oliver Neukum Date: Wed Dec 17 15:38:03 2008 +0100 HID: autosuspend support for USB HID This uses the USB busy mechanism for aggessive autosuspend of USB HID devices. It autosuspends all opened devices supporting remote wakeup after a timeout unless - output is being done to the device - a key is being held down (remote wakeup isn't triggered upon key release) - LED(s) are lit - hiddev is opened As in the current driver closed devices will be autosuspended even if they don't support remote wakeup. The patch is quite large because output to devices is done in hard interrupt context meaning a lot a queuing and locking had to be touched. The LED stuff has been solved by means of a simple counter. Additions to the generic HID code could be avoided. In addition it now covers hidraw. It contains an embryonic version of an API to let the generic HID code tell the lower levels which capabilities with respect to power management are needed. Signed-off-by: Oliver Neukum Signed-off-by: Jiri Kosina commit b8dfe498775de912116f275680ddb57c8799d9ef Author: Eric Dumazet Date: Wed Mar 25 17:31:52 2009 +0100 netfilter: factorize ifname_compare() We use same not trivial helper function in four places. We can factorize it. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 78f3648601fdc7a8166748bbd6d0555a88efa24a Author: Eric Dumazet Date: Wed Mar 25 17:24:34 2009 +0100 netfilter: nf_conntrack: use hlist_add_head_rcu() in nf_conntrack_set_hashsize() Using hlist_add_head() in nf_conntrack_set_hashsize() is quite dangerous. Without any barrier, one CPU could see a loop while doing its lookup. Its true new table cannot be seen by another cpu, but previous table is still readable. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit a9a9adfe2f99ddadfb574a098392a007970a1577 Author: Patrick McHardy Date: Wed Mar 25 17:21:34 2009 +0100 netfilter: fix xt_LED build failure net/netfilter/xt_LED.c:40: error: field netfilter_led_trigger has incomplete type net/netfilter/xt_LED.c: In function led_timeout_callback: net/netfilter/xt_LED.c:78: warning: unused variable ledinternal net/netfilter/xt_LED.c: In function led_tg_check: net/netfilter/xt_LED.c:102: error: implicit declaration of function led_trigger_register net/netfilter/xt_LED.c: In function led_tg_destroy: net/netfilter/xt_LED.c:135: error: implicit declaration of function led_trigger_unregister Fix by adding a dependency on LED_TRIGGERS. Reported-by: Sachin Sant Tested-by: Subrata Modak Signed-off-by: Patrick McHardy commit e44e0aa3cfa97cddff01704751a4b25151830c72 Author: Dan Williams Date: Wed Mar 25 09:13:25 2009 -0700 dmatest: add dma interrupts and callbacks Use the callback infrastructure to report driver/hardware hangs or missed interrupts. Since this makes the test threads much more aggressive (from: explicit 1ms sleep to: wait_for_completion) we set the nice value to 10 so as to not swamp legitimate tasks. Signed-off-by: Dan Williams commit b54d5cb9156868fb4f27ccd46a3afb0bf3ef8e0c Author: Dan Williams Date: Wed Mar 25 09:13:25 2009 -0700 dmatest: add xor test Extend dmatest to launch a thread per supported operation type and add an xor test. Signed-off-by: Dan Williams commit 729b5d1b8ec72c28e99840b3f300ba67726e3ab9 Author: Dan Williams Date: Wed Mar 25 09:13:25 2009 -0700 dmaengine: allow dma support for async_tx to be toggled Provide a config option for blocking the allocation of dma channels to the async_tx api. Signed-off-by: Dan Williams commit 06164f3194e01ea4c76941ac60f541d656c8975f Author: Dan Williams Date: Wed Mar 25 09:13:25 2009 -0700 async_tx: provide __async_inline for HAS_DMA=n archs To allow an async_tx routine to be compiled away on HAS_DMA=n arch it needs to be declared __always_inline otherwise the compiler may emit code and cause a link error. Signed-off-by: Dan Williams commit 54aee6a5f560d0e1bf3f39987c6ebe06daeb0ce1 Author: Dan Williams Date: Wed Mar 25 09:13:24 2009 -0700 dmaengine: kill some unused headers The dmaengine redux left some unneeded headers in include/linux/dmaengine.h, clean them up. Signed-off-by: Dan Williams commit ccccce229c633a92c42cd1a40c0738d7b0d12644 Author: Dan Williams Date: Wed Mar 25 09:13:24 2009 -0700 dmaengine: initialize tx_list in dma_async_tx_descriptor_init Centralize this common initialization (and one case where ipu_idmac is duplicating ->chan initialization). Signed-off-by: Dan Williams commit 8d47bae004f062630f69f7f83d098424252e232d Author: Guennadi Liakhovetski Date: Wed Mar 25 09:13:24 2009 -0700 dma: i.MX31 IPU DMA robustness improvements Add DMA error handling to the ISR, move common code fragments to functions, fix scatter-gather element queuing in the ISR, survive channel freeing and re-allocation in a quick succession. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit 234f2df56f5b05756c444edc9879145deddf69f4 Author: Guennadi Liakhovetski Date: Wed Mar 25 09:13:24 2009 -0700 dma: improve section assignment in i.MX31 IPU DMA driver The i.MX31 IPU DMA driver is a platform driver, but doesn't need hotplug, so we can use __init and __exit function attributes. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit 0149f7d5dc66dcffbb044ba005a5378a5864d2a3 Author: Guennadi Liakhovetski Date: Wed Mar 25 09:13:23 2009 -0700 dma: ipu_idmac driver cosmetic clean-up Remove superfluous semicolons, update comments. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Dan Williams commit 257b17ca030387cb17314cd1851507bdd1b4ddd5 Author: Dan Williams Date: Wed Mar 25 09:13:23 2009 -0700 dmaengine: fail device registration if channel registration fails Atsushi points out: "If alloc_percpu or kzalloc failed, chan_id does not match with its position in device->channels list. And above "continue" looks buggy anyway. Keeping incomplete channels in device->channels list looks very dangerous..." Also, fix up leakage of idr_ref in the idr_pre_get() and channel init fail cases. Reported-by: Atsushi Nemoto Signed-off-by: Dan Williams commit afeeb7cebbd223ffee303fd8de4ba97458b13581 Author: Zhao, Yu Date: Fri Feb 13 17:55:49 2009 +0800 intel-iommu: Fix address wrap on 32-bit kernel. The problem is in dma_pte_clear_range and dma_pte_free_pagetable. When intel_unmap_single and intel_unmap_sg call them, the end address may be zero if the 'start_addr + size' rounds up. So no PTE gets cleared. The uncleared PTE fires the BUG_ON when it's used again to create new mappings. After I modified dma_pte_clear_range a bit, the BUG_ON is gone. Tested both 32 and 32 PAE modes on Intel X58 and Q35 platforms. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse commit 4cf2e75d0bec15d945972b005056c4a8731b82cf Author: David Woodhouse Date: Wed Feb 11 17:23:43 2009 +0000 intel-iommu: Enable DMAR on 32-bit kernel. If we fix a few highmem-related thinkos and a couple of printk format warnings, the Intel IOMMU driver works fine in a 32-bit kernel. Signed-off-by: David Woodhouse commit ceb93a9ff16612314d757874b6415ffbb2091576 Author: Jesse Barnes Date: Wed Mar 25 08:54:29 2009 -0700 powerpc/PCI: include pci.h in powerpc MSI implementation This file uses PCI MSI defines and so needs pci.h. Tested-by: Stephen Rothwell Signed-off-by: Jesse Barnes commit 3199aa6bc8766e17b8f60820c4f78d59c25fce0e Author: Han, Weidong Date: Thu Feb 26 17:31:12 2009 +0800 intel-iommu: fix PCI device detach from virtual machine When assign a device behind conventional PCI bridge or PCIe to PCI/PCI-x bridge to a domain, it must assign its bridge and may also need to assign secondary interface to the same domain. Dependent assignment is already there, but dependent deassignment is missed when detach device from virtual machine. This results in conventional PCI device assignment failure after it has been assigned once. This patch addes dependent deassignment, and fixes the issue. Signed-off-by: Weidong Han Signed-off-by: David Woodhouse commit 1a81af4d1d9c60d4313309f937a1fc5567205a87 Author: Chris Mason Date: Wed Mar 25 09:55:11 2009 -0400 Btrfs: make sure btrfs_update_delayed_ref doesn't increase ref_mod btrfs_update_delayed_ref is optimized to add and remove different references in one pass through the delayed ref tree. It is a zero sum on the total number of refs on a given extent. But, the code was recording an extra ref in the head node. This never made it down to the disk but was used when deciding if it was safe to free the extent while dropping snapshots. The fix used here is to make sure the ref_mod count is unchanged on the head ref when btrfs_update_delayed_ref is called. Signed-off-by: Chris Mason commit 9f4f25c86ff2233dd98d4bd6968afb1ca66558a0 Author: Wang Chen Date: Wed Mar 25 14:07:11 2009 +0100 x86: early_ioremap_init(), use __fix_to_virt(), because we are sure it's safe Tetsuo Handa reported this link bug: | arch/x86/mm/built-in.o(.init.text+0x1831): In function `early_ioremap_init': | : undefined reference to `__this_fixmap_does_not_exist' | make: *** [.tmp_vmlinux1] Error 1 Commit:8827247ffcc9e880cbe4705655065cf011265157 used a variable (which would be optimized to constant) as fix_to_virt()'s parameter. It's depended on gcc's optimization and fails on old gcc. (Tetsuo used gcc 3.3) We can use __fix_to_vir() instead, because we know it's safe and don't need link time error reporting. Reported-by: Tetsuo Handa Signed-off-by: Wang Chen Cc: sfr@canb.auug.org.au LKML-Reference: <49C9FFEA.7060908@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b7bb4c9bb01941fe8feb653f3410e7ed0c9bb786 Author: Gautham R Shenoy Date: Wed Mar 25 14:44:27 2009 +0530 sched: Add comments to find_busiest_group() function Impact: cleanup Add /** style comments around find_busiest_group(). Also add a few explanatory comments. This concludes the find_busiest_group() cleanup. The function is now down to 72 lines from the original 313 lines. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao Cc: "Vaidyanathan Srinivasan" LKML-Reference: <20090325091427.13992.18933.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit 6a915af99fc974be8f2180132ddff7d32aad8779 Author: Paulius Zaleckas Date: Wed Mar 25 13:10:20 2009 +0200 MAINTAINERS: Add myself as Faraday ARM core variant maintainer Signed-off-by: Paulius Zaleckas commit 28853ac8fe5221de74a14f1182d7b2b383dfd85c Author: Paulius Zaleckas Date: Wed Mar 25 13:10:01 2009 +0200 ARM: Add support for FA526 v2 Adds support for Faraday FA526 core. This core is used at least by: Cortina Systems Gemini and Centroid family Cavium Networks ECONA family Grain Media GM8120 Pixelplus ImageARM Prolific PL-1029 Faraday IP evaluation boards v2: - move TLB_BTB to separate patch - update copyrights Signed-off-by: Paulius Zaleckas commit 997302259f386bca8fe1db67c50296ca426c438f Author: Russell King Date: Wed Mar 25 10:21:35 2009 +0000 [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h Signed-off-by: Russell King commit e63cedb656683739eea2696114bc56888e9bff05 Author: Russell King Date: Wed Mar 25 10:15:00 2009 +0000 [ARM] collie: fix two minor formatting nits Signed-off-by: Russell King commit 17a92a788e3cebca8a817f01e3c0f121f700ee0e Author: Dmitry Baryshkov Date: Wed Mar 25 10:16:37 2009 +0100 [ARM] 5431/1: scoop: completely drop old-style SCOOP GPIO accessors Now, as all places that use Scoop GPIO have been converted to use GPIO API, drop old-style accessors completely. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Russell King commit 8cb52f788c73cfcbff4aca66063c55baa3e6d313 Author: Dmitry Baryshkov Date: Wed Mar 25 10:15:28 2009 +0100 [ARM] 5430/1: collie_pm: use new GPIO API to control charger Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Russell King commit 224be092d116b663ac426c4615e34ee54bab4a14 Author: Dmitry Baryshkov Date: Wed Mar 25 10:14:25 2009 +0100 [ARM] 5429/1: collie: start scoop converton to new api Start converting scoop gpio access to new API instead of old deprecated one. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Russell King commit cf281a99b6e4f1223c8fdce390db3bf79e773f4c Merge: fbf2b1f... 9d1d4f9... Author: Russell King Date: Wed Mar 25 10:00:08 2009 +0000 Merge git://git.marvell.com/orion into devel commit c071df18525a95b37dd5821a6dc4af83bd18675e Author: Gautham R Shenoy Date: Wed Mar 25 14:44:22 2009 +0530 sched: Refactor the power savings balance code Impact: cleanup Create seperate helper functions to initialize the power-savings-balance related variables, to update them and to check if we have a scope for performing power-savings balance. Add no-op inline functions for the !(CONFIG_SCHED_MC || CONFIG_SCHED_SMT) case. This will eliminate all the #ifdef jungle in find_busiest_group() and the other helper functions. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao Cc: "Vaidyanathan Srinivasan" LKML-Reference: <20090325091422.13992.73616.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit a021dc03376707c55a3483e32c16b8986d4414cc Author: Gautham R Shenoy Date: Wed Mar 25 14:44:17 2009 +0530 sched: Optimize the !power_savings_balance during fbg() Impact: cleanup, micro-optimization We don't need to perform power_savings balance if either the cpu is NOT_IDLE or if the sched_domain doesn't contain the SD_POWERSAVINGS_BALANCE flag set. Currently, we check for these conditions multiple number of times, even though these variables don't change over the scope of find_busiest_group(). Check once, and store the value in the already exiting "power_savings_balance" variable. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao Cc: "Vaidyanathan Srinivasan" LKML-Reference: <20090325091417.13992.2657.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit dbc523a3b86f9e1765b5e70e6886913b99cc5cec Author: Gautham R Shenoy Date: Wed Mar 25 14:44:12 2009 +0530 sched: Create a helper function to calculate imbalance Move all the imbalance calculation out of find_busiest_group() through this helper function. With this change, the structure of find_busiest_group() will be as follows: - update_sched_domain_statistics. - check if imbalance exits. - update imbalance and return busiest. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao Cc: "Vaidyanathan Srinivasan" LKML-Reference: <20090325091411.13992.43293.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit 2e6f44aeda426054fc58464df1ad571aecca0c92 Author: Gautham R Shenoy Date: Wed Mar 25 14:44:06 2009 +0530 sched: Create helper to calculate small_imbalance in fbg() Impact: cleanup We have two places in find_busiest_group() where we need to calculate the minor imbalance before returning the busiest group. Encapsulate this functionality into a seperate helper function. Credit: Vaidyanathan Srinivasan Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao LKML-Reference: <20090325091406.13992.54316.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit 37abe198b1246ddd206319c43502a687db62d347 Author: Gautham R Shenoy Date: Wed Mar 25 14:44:01 2009 +0530 sched: Create a helper function to calculate sched_domain stats for fbg() Impact: cleanup Create a helper function named update_sd_lb_stats() to update the various sched_domain related statistics in find_busiest_group(). With this we would have moved all the statistics computation out of find_busiest_group(). Credit: Vaidyanathan Srinivasan Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao LKML-Reference: <20090325091401.13992.88737.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit 222d656dea57e4e084fbd1e9383e6fed2ca9fa61 Author: Gautham R Shenoy Date: Wed Mar 25 14:43:56 2009 +0530 sched: Define structure to store the sched_domain statistics for fbg() Impact: cleanup Currently we use a lot of local variables in find_busiest_group() to capture the various statistics related to the sched_domain. Group them together into a single data structure. This will help us to offload the job of updating the sched_domain statistics to a helper function. Credit: Vaidyanathan Srinivasan Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao LKML-Reference: <20090325091356.13992.25970.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit 1f8c553d0f11d85f7993fe21015695d266771c00 Author: Gautham R Shenoy Date: Wed Mar 25 14:43:51 2009 +0530 sched: Create a helper function to calculate sched_group stats for fbg() Impact: cleanup Create a helper function named update_sg_lb_stats() which can be invoked to calculate the individual group's statistics in find_busiest_group(). This reduces the lenght of find_busiest_group() considerably. Credit: Vaidyanathan Srinivasan Signed-off-by: Gautham R Shenoy Aked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao LKML-Reference: <20090325091351.13992.43461.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit 381be78fdc829a22f6327a0ed09f54b6270a976d Author: Gautham R Shenoy Date: Wed Mar 25 14:43:46 2009 +0530 sched: Define structure to store the sched_group statistics for fbg() Impact: cleanup Currently a whole bunch of variables are used to store the various statistics pertaining to the groups we iterate over in find_busiest_group(). Group them together in a single data structure and add appropriate comments. This will be useful later on when we create helper functions to calculate the sched_group statistics. Credit: Vaidyanathan Srinivasan Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao LKML-Reference: <20090325091345.13992.20099.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit 6dfdb0629019f307ab18864b1fd3e5dbb02f383c Author: Gautham R Shenoy Date: Wed Mar 25 14:43:40 2009 +0530 sched: Fix indentations in find_busiest_group() using gotos Impact: cleanup Some indentations in find_busiest_group() can minimized by using early exits with the help of gotos. This improves readability in a couple of cases. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao Cc: "Vaidyanathan Srinivasan" LKML-Reference: <20090325091340.13992.45062.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit 67bb6c036d1fc3d332c8527a36a546e3e72e822c Author: Gautham R Shenoy Date: Wed Mar 25 14:43:35 2009 +0530 sched: Simple helper functions for find_busiest_group() Impact: cleanup Currently the load idx calculation code is in find_busiest_group(). Move that to a static inline helper function. Similary, to find the first cpu of a sched_group we use cpumask_first(sched_group_cpus(group)) Use a helper to that. It improves readability in some cases. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra Cc: Suresh Siddha Cc: "Balbir Singh" Cc: Nick Piggin Cc: "Dhaval Giani" Cc: Bharata B Rao Cc: "Vaidyanathan Srinivasan" LKML-Reference: <20090325091335.13992.55424.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit b6d9842258d1ba27fb978cded74eb4b6aa15edc8 Merge: 67aa0f7... 8e0ee43... Author: Ingo Molnar Date: Wed Mar 25 10:26:51 2009 +0100 Merge branch 'sched/cleanups'; commit 'v2.6.29' into sched/core commit 3b9d49eea1c32e529fa932670a53358e1c8cd67e Author: Wim Van Sebroeck Date: Mon Mar 23 13:50:38 2009 +0000 [WATCHDOG] i6300esb.c: start locking Change the start function in preparation of the generic watchdog code. Also make sure that locking of the start function is OK. Signed-off-by: Wim Van Sebroeck commit 0426fd0d88a595a8ab18e0cd69bdfe82a4d15115 Author: Wim Van Sebroeck Date: Thu Mar 19 19:02:44 2009 +0000 [WATCHDOG] i6300esb.c: convert to platform device driver Convert the Intel 6300ESB watchdog timer to a platform device driver. Signed-off-by: Wim Van Sebroeck commit 04bedfa542d90ac7a1bbf28287e9861d0da21576 Author: Alan Cox Date: Sun Mar 22 10:46:42 2009 +0000 [WATCHDOG] wdt.c: remove #ifdef CONFIG_WDT_501 Change the wdt.c watchdog driver so that the code is the same for both the WDT500 as the WDT501-P card. The selection of the card is now being done via the module parameter: 'type' instead of the config option CONFIG_WDT_501. Signed-off-by: Alan Cox Signed-off-by: Wim Van Sebroeck commit 278aefc51bdbc7f1a3d39c9bd5313c78335b7828 Author: Wim Van Sebroeck Date: Wed Mar 18 09:09:26 2009 +0000 [WATCHDOG] Fix io.h & uaccess.h includes. Fix following includes: * #include should be #include * #include should be #include Signed-off-by: Wim Van Sebroeck commit 143a2e54bf53216674eada16e8953f48b159e08a Author: Wim Van Sebroeck Date: Wed Mar 18 08:35:09 2009 +0000 [WATCHDOG] More coding-style and trivial clean-up Some more cleaning-up of the watchdog drivers. Signed-off-by: Wim Van Sebroeck commit d5c26a597782d4109869abbcc36983969f964864 Author: Wim Van Sebroeck Date: Wed Mar 18 08:18:43 2009 +0000 [WATCHDOG] struct file_operations should be const Fix following warnings: WARNING: struct file_operations should normally be const Signed-off-by: Wim Van Sebroeck commit 927d69611398f046c4447ce5ded992321c8f90ff Author: Wim Van Sebroeck Date: Wed Mar 18 08:05:24 2009 +0000 [WATCHDOG] cpwd.c: Coding style - Clean-up This brings the cpwd.c watchdog driver in line with the kernel's coding style. Signed-off-by: Wim Van Sebroeck commit d8100c3abfd32986a8820ce4e614b0223a2d22a9 Author: Thomas Mingarelli Date: Tue Mar 3 00:17:16 2009 +0000 [WATCHDOG] hpwdt.c: Add new HP BMC controller. Add the PCI-ID for the upcoming new BMC controller for HP hardware. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 2855d28a35d14e0087c48cb6f15d0446ea4c54c3 Author: Julia Lawall Date: Mon Dec 29 11:23:47 2008 +0100 [PATCH 13/13] drivers/watchdog: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: Wim Van Sebroeck commit 9e058d4f57751daa008b764735f97fdfccfeab6c Author: Thomas Reitmayr Date: Tue Feb 24 14:59:22 2009 -0800 [WATCHDOG] orion5x_wdt: fix compile issue by providing tclk as platform data The orion5x-wdt driver is now registered as a platform device and receives the tclk value as platform data. This fixes a compile issue cause by a previously removed define "ORION5X_TCLK". Signed-off-by: Thomas Reitmayr Acked-by: Nicolas Pitre Signed-off-by: Kristof Provost Cc: Lennert Buytenhek Cc: Wim Van Sebroeck Cc: Russell King Cc: Martin Michlmayr Cc: Sylver Bruneau Cc: Kunihiko IMAI Signed-off-by: Andrew Morton commit f296b14355a2d0cb170a85236ec391bb0a3fdb3a Author: Wim Van Sebroeck Date: Mon Feb 23 13:08:37 2009 +0000 [WATCHDOG] rc32434_wdt: make sure watchdog is not running at startup Make sure that the watchdog is not running after loading and before it is started by opening /dev/watchdog. Signed-off-by: Wim Van Sebroeck commit e455b6b4ed66be0c2aa6e41fd9027c1ce585a490 Author: Wim Van Sebroeck Date: Mon Feb 23 13:08:36 2009 +0000 [WATCHDOG] rc32434_wdt: add spin_locking Add spin_locks to prevent races. Signed-off-by: Wim Van Sebroeck commit 0aaae66179f269b7b37d0b526029c5783bed1da3 Author: Wim Van Sebroeck Date: Mon Feb 23 13:08:35 2009 +0000 [WATCHDOG] rc32434_wdt: add shutdown method Add shutdown method to the platform driver. Signed-off-by: Wim Van Sebroeck commit 08eb2e0c084778f30691e3f18540cdb754c56530 Author: Phil Sutter Date: Sun Feb 8 16:44:42 2009 +0100 [WATCHDOG] rc32434_wdt: add timeout module parameter The WDT timer ticks quite fast (half of the CPU clock speed, which may be between 198MHz and 330MHz (or 400MHz on newer boards)). Given it's size of 32Bit, the maximum timeout value ranges from about 21s to 43s, depending on the configured CPU clock speed. This patch add's the timeout module parameter and checks that it's not bigger then the maximum timeout for the given clock speed. Signed-off-by: Phil Sutter Signed-off-by: Wim Van Sebroeck commit 9b655e07d77e3b1a00c1c8302e2ef3b7fb719de3 Author: Phil Sutter Date: Sun Feb 8 16:44:42 2009 +0100 [WATCHDOG] rc32434_wdt: clean-up driver Clean-up the rc32434 driver code: - name the platform driver rc32434_wdt_driver - Replace KBUILD_MODNAME ": " with PFX define. - Cleanup include files - Order the ioctl's Signed-off-by: Phil Sutter Signed-off-by: Wim Van Sebroeck commit bba7d0b9ba0f04d25145de8170a17a3a07bbfdde Author: Paulius Zaleckas Date: Wed Mar 25 10:58:47 2009 +0200 ARM: tlbflush.h: introduce TLB_BTB flag Signed-off-by: Paulius Zaleckas commit 371d3525e3b9d57c00ca307f8ee4ca51a2eaa70b Author: Kevin Hilman Date: Thu Jan 29 14:14:30 2009 -0800 [WATCHDOG] davinci: convert to ioremap() + io[read|write] Remove davinci platform-specific IO accessor macros in favor of standard ioremap + io[read|write]* functions. Also, convert printk(KERN_ERR ....) into dev_err(...) Signed-off-by: Kevin Hilman Signed-off-by: Wim Van Sebroeck commit 63bad1452e9087e6f130316c005eb38a8758a267 Author: Eric Lammerts Date: Tue Feb 3 17:45:56 2009 -0500 [WATCHDOG] w83697ug: add error checking I noticed the W83697UG driver tries to register a watchdog even though it already noticed the chip isn't there. WDT driver for the Winbond(TM) W83697UG/UF Super I/O chip initialising. w83697ug/uf WDT: No W83697UG/UF could be found w83697ug/uf WDT: Watchdog already running. Resetting timeout to 60 sec w83697ug/uf WDT: cannot register miscdev on minor=130 (err=-16) Patch propagates the error back to wdt_init(). Signed-off-by: Eric Lammerts Signed-off-by: Wim Van Sebroeck commit 9626dd75c57360666f4cdcb660c1672ee9f952e8 Author: Wim Van Sebroeck Date: Wed Jan 21 11:13:11 2009 +0000 [WATCHDOG] cpwd.c & riowd.c - unlocked_ioctl Switch to unlocked_ioctl Signed-off-by: Wim Van Sebroeck commit 7834cd5ae145c9a74d284cef073b96ee5f7f2295 Author: Heiko Carstens Date: Tue Mar 24 20:57:19 2009 +0000 qeth: fix wait_event_timeout handling wait_event_timeout just takes the numnber of jiffies to wait as an argument. That value does not include jiffies itself. Signed-off-by: Heiko Carstens Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 8e98ac48d06068470f1b954e599cf7b706cfceba Author: Ursula Braun Date: Tue Mar 24 20:57:18 2009 +0000 qeth: check for completion of a running recovery When a recovery is started for a qeth device, additional invocations to change a mac address, to configure a VLAN interface on top, or to add multicast addresses should wait till recovery is finished, otherwise recovery might fail. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 932e1583c1e52de6757122b92511e69ee0da1c78 Author: Klaus-Dieter Wacker Date: Tue Mar 24 20:57:17 2009 +0000 qeth: unregister MAC addresses during recovery. qeth: Unregister MAC addresses from device (layer 2) during recovery cycle. When the device is set online the MAC addresses are registered again on the device. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 64ef8957986f6a04f61e7c95fa6ffeb3a86a6661 Author: Frank Blaschka Date: Tue Mar 24 20:57:16 2009 +0000 qeth: remove EDDP Performance measurements showed EDDP does not lower CPU costs but increase them. So we dump out EDDP code from qeth driver. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit f61a0d0538ca62547a127fd270d9f3c6e713027f Author: Frank Blaschka Date: Tue Mar 24 20:57:15 2009 +0000 qeth: add statistics for tx csum Add statistics counter for software tx checksumming. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 7f6d95e7bd82b38e669a43a2d2d410d0b5318684 Author: Kay Sievers Date: Tue Mar 24 20:57:14 2009 +0000 qeth: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Martin Schwidefsky Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Heiko Carstens Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 23d12e2bdd4f73d90c8c29674c531aa45eecf27f Author: David S. Miller Date: Wed Mar 25 00:03:16 2009 -0700 rndis_wlan: Fix build with netdev_ops compat disabled. Instead of storing a private ->set_multicast_list, just have a private netdev ops. Signed-off-by: David S. Miller commit 67fca028f1535e510689d2e444b0289e264e05c1 Author: Daniel Mack Date: Tue Mar 24 23:32:03 2009 -0700 ax88796: Add method to take MAC from platform data Implement a way to provide the MAC address for ax88796 devices from their platform data. Boards might decide to set the address programmatically, taken from boot tags or other sources. Signed-off-by: Daniel Mack Signed-off-by: David S. Miller commit 47cb035560a41bd1bd3db506eeab93088815203e Author: Daniel Mack Date: Tue Mar 24 23:31:22 2009 -0700 drivers/net/ax88796.c: take IRQ flags from platform_device This patch adds support to the ax88796 ethernet driver to take IRQ flags given by the platform_device definition. Signed-off-by: Daniel Mack Signed-off-by: David S. Miller commit bef28b11597a4da9ef3b8a51776b8cb14b427e5e Author: Bruce Allan Date: Tue Mar 24 23:28:02 2009 -0700 e1000e: add support for 82574 device ID 0x10F6 Add device ID for a new variant of the 82574 adapter. Signed-off-by: Bruce Allan Acked-by: John Ronciak Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 09f98bafea792644f2dea39eb080aa57d854f5b3 Merge: d1fbe04... 9c3da09... e538052... 71d98b4... 1aedb77... 4780c19... 6b708b3... a6a4777... 270b8b8... 9d5ab13... 6432f36... Author: Roland Dreier Date: Tue Mar 24 20:44:41 2009 -0700 Merge branches 'cxgb3', 'endian', 'ipath', 'ipoib', 'iser', 'mad', 'misc', 'mlx4', 'mthca', 'nes' and 'sysfs' into for-next commit d1fbe04eee32ed2642cff139b8592866f1d43f41 Author: Steve Wise Date: Tue Mar 24 20:44:18 2009 -0700 RDMA/cxgb3: Enforce required firmware The cxgb3 NIC driver can handle more firmware versions than iw_cxgb3, and since commit 8207befa ("cxgb3: untie strict FW matching") cxgb3 will load with firmware versions that iw_cxgb3 can't handle. The FW major number indicates a specific interface between the FW and iw_cxgb3. Thus if the major number of the running firmware does not match the required version compiled into iw_cxgb3, then iw_cxgb3 must not register that device. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit c96f1732e25362d10ee7bcac1df8412a2e6b7d23 Author: Alan Cox Date: Tue Mar 24 10:23:46 2009 +0000 [libata] Improve timeout handling On a timeout call a device specific handler early in the recovery so that we can complete and process successful commands which timed out due to IRQ loss or the like rather more elegantly. [Revised to exclude the timeout handling on a few devices that inherit from SFF but are not SFF enough to use the default timeout handler] Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b2f5e7cd3dee2ed721bf0675e1a1ddebb849aee6 Author: Vlad Yasevich Date: Tue Mar 24 16:24:51 2009 +0000 ipv6: Fix conflict resolutions during ipv6 binding The ipv6 version of bind_conflict code calls ipv6_rcv_saddr_equal() which at times wrongly identified intersections between addresses. It particularly broke down under a few instances and caused erroneous bind conflicts. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 63d9950b08184e6531adceb65f64b429909cc101 Author: Vlad Yasevich Date: Tue Mar 24 16:24:50 2009 +0000 ipv6: Make v4-mapped bindings consistent with IPv4 Binding to a v4-mapped address on an AF_INET6 socket should produce the same result as binding to an IPv4 address on AF_INET socket. The two are interchangable as v4-mapped address is really a portability aid. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 0f8d3c7ac3693d7b6c731bf2159273a59bf70e12 Author: Vlad Yasevich Date: Tue Mar 24 16:24:49 2009 +0000 ipv6: Allow ipv4 wildcard binds after ipv6 address binds The IPv4 wildcard (0.0.0.0) address does not intersect in any way with explicit IPv6 addresses. These two should be permitted, but the IPv4 conflict code checks the ipv6only bit as part of the test. Since binding to an explicit IPv6 address restricts the socket to only that IPv6 address, the side-effect is that the socket behaves as v6-only. By explicitely setting ipv6only in this case, allows the 2 binds to succeed. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 783ed5a78373253052bc61a3c5c8b9f17af4e3c6 Author: Vlad Yasevich Date: Tue Mar 24 16:24:48 2009 +0000 ipv6: Disallow binding to v4-mapped address on v6-only socket. A socket marked v6-only, can not receive or send traffic to v4-mapped addresses. Thus allowing binding to v4-mapped address on such a socket makes no sense. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3d47aa8e7e7b2aa09256590388aa8dddc79280f9 Author: Alan Cox Date: Tue Mar 24 10:23:19 2009 +0000 [libata] Drain data on errors If the device is signalling that there is data to drain after an error we should read the bytes out and throw them away. Without this some devices and controllers get wedged and don't recover. Based on earlier work by Mark Lord Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c0f2ee34a5a0b79fd98d965ad8ae765d4639bfa5 Author: Alan Cox Date: Tue Mar 24 10:22:25 2009 +0000 pata_sc1200: Activate secondary channel Implement serialize and turn on slave channel Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 140d6fed71a659f39f0b130b6ac8f8d28600bf60 Author: Alan Cox Date: Tue Mar 24 10:21:49 2009 +0000 pata_artop: Serializing support Enable both ports on the 6210 and serialize them Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 208f2a886a2f6cf329c9fcbf8d29a0dd245cc763 Author: David Milburn Date: Fri Mar 20 14:14:23 2009 -0500 [libata] ahci: correct enclosure LED state save ahci_transmit_led_message saves off the led_state with a value that includes the port number OR'd in, this incorrect value maybe reported back in ahci_led_store. For instance, if you turn off all the leds for port 1 and cat the value back it will report 1 instead of 0. # echo 0 > /sys/class/scsi_host/host1/em_message # cat /sys/class/scsi_host/host1/em_message 1 Signed-off-by: David Milburn Signed-off-by: Jeff Garzik commit e18086d69cb5bb864749a0637f6ac573aa89d5ea Author: Mark Lord Date: Thu Mar 19 13:32:21 2009 -0400 [libata] More robust parsing for IDENTIFY DEVICE multi_count field Make libata more robust when parsing the multi_count field from a drive's identify data. This prevents us from attempting to use dubious multi_count values ad infinitum. Reset dev->multi_count to zero and reprobe it each time through this routine, as it can change on device reset. Also ensure that the reported "maximum" value is valid and is a power of two, and that the reported "count" value is valid and also a power of two. And that the "count" value is not greater than the "maximum" value. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 000b344f4ca7828ee43940255c8bbb32e2c7dbec Author: Mark Lord Date: Sun Mar 15 11:33:19 2009 -0400 sata_mv: fix LED blinking for SoC+NCQ For Marvell SoC chips, the HDD LED does not blink when there is disk I/O if NCQ is enabled. Add a quirk that enables blink mode for the LED while NCQ is enabled on any port of a SoC host controller. Normal LED function is restored when NCQ is not enabled on any port. The code to enable the blink mode is based on earlier code and suggestions from Frans Pop, Saeed Bishara, and possibly others. Signed-off-by: Mark Lord Tested-by: Frans Pop Signed-off-by: Jeff Garzik commit 6abf4678261218938ccdac90767d34ce9937634f Author: Mark Lord Date: Wed Mar 11 00:56:00 2009 -0400 sata_mv: optimize IRQ coalescing for 8-port chips Enable use of the "all ports" IRQ coalescing optimization for GEN_II / GEN_IIE chips that have dual host-controllers (8-ports). Currently only the 6081 chip qualifies, but other chips may come along someday. Rather than each half of the chip having to satisfy a local set of coalescing thresholds, use of this feature groups all ports together under a single set of thresholds. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 2b748a0a344847fe6b924407bbe153e1878c9f09 Author: Mark Lord Date: Tue Mar 10 22:01:17 2009 -0400 sata_mv: implement IRQ coalescing (v2) Add IRQ coalescing to sata_mv (off by default). This feature can reduce total interrupt overhead for RAID setups in some situations, by deferring the interrupt signal until one or both of: a) a specified io_count (completed SATA commands) is achieved, or b) a specified time interval elapses after an IO completion. For now, module parameters are used to set the irq_coalescing_io_count and irq_coalescing_usecs (timeout) globally. These may eventually be supplemented with sysfs attributes, so that thresholds can be set on-the-fly and on a per-chip (or even per-host_controller) basis. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 40f21b1124a9552bc093469280eb8239dc5f73d7 Author: Mark Lord Date: Tue Mar 10 18:51:04 2009 -0400 sata_mv: cosmetic preparations for IRQ coalescing Various cosmetic changes in preparation for the IRQ coalescing feature. Note that the various MV_IRQ_COAL_* definitions are restored/renamed in the folloup patch which adds IRQ coalescing to the driver. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 9223d01b2fdf638a73888ad73a1784fca3454c1e Author: Florian Fainelli Date: Fri Mar 13 15:41:43 2009 +0100 pata-rb532-cf: platform_get_irq() fix ignored failure platform_get_irq() can return -ENXIO, but since 'irq' is an unsigned int, it does not show when the IRQ resource wasn't found. Make irq an int so that we can use a single variable to test the platform_get_irq() return value. Signed-off-by: Roel Kluin Signed-off-by: Phil Sutter Signed-off-by: Florian Fainelli Signed-off-by: Jeff Garzik commit b2a034cf16a1642e647497c70c1cd9c09bf39412 Author: Erik Inge Bolsø Date: Sat Mar 14 23:08:20 2009 +0100 pata_efar: fix *dma_mask According to Alan: >and yes the EFAR does UDMA66. mwdma: >Yep - wrong comment. The EFAR is a sort of clone of the PIIX and I >copied the comment while EFAR don't appear to have copied the >limitation Signed-off-by: Erik Inge Bolsø Signed-off-by: Jeff Garzik commit aef37d8d80d8c027f03d362a97afe3f6a42bfbb4 Author: Erik Inge Bolsø Date: Sat Mar 14 23:07:33 2009 +0100 pata_radisys: fix mwdma_mask to exclude mwdma0 As noted by Alan: >Your suspicions are correct here btw - the device can only do MWDMA1 and >MWDMA2 (much like some PIIX devices) Signed-off-by: Erik Inge Bolsø Signed-off-by: Jeff Garzik commit 14bdef982caeda19afe34010482867c18217c641 Author: Erik Inge Bolsø Date: Sat Mar 14 21:38:24 2009 +0100 [libata] convert drivers to use ata.h mode mask defines No functional changes in this patch. Signed-off-by: Erik Inge Bolsø Signed-off-by: Jeff Garzik commit 22ddbd1e036ce035c1cccb2496aefafac79aba2c Author: Erik Inge Bolsø Date: Sat Mar 14 21:37:48 2009 +0100 include/linux/ata.h: add some more transfer masks Signed-off-by: Erik Inge Bolsø Signed-off-by: Jeff Garzik commit d2f9c0614e664708978c53eca4a5963e92830e88 Author: Maciej Rutecki Date: Fri Mar 20 00:06:46 2009 +0100 ahci: Blacklist HP Compaq 6720s that spins off disks during ACPI power off Blacklist HP Compaq 6720s so that it doesn't play a "spin down, spin up, spin down" ping-pong with the hard disk during system power off. Signed-off-by: Maciej Rutecki Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit 70f8b79cf3a2eb892a01271fdfbb1903c0c982a8 Author: Mark Lord Date: Wed Feb 25 15:19:20 2009 -0500 [libata] sata_mv: Implement direct FIS transmission via mv_qc_issue_fis(). This is initially needed to work around NCQ errata, whereby the READ_LOG_EXT command sometimes fails when issued in the traditional (sff) fashion. Portions of this code will likely be reused for implementation of the target mode feature later on. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1a660164c291f41b2aa853a7269b310933574ef9 Author: Mark Lord Date: Wed Feb 25 15:18:32 2009 -0500 [libata] Export ata_pio_queue_task() so that it can be used from sata_mv. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit d16ab3f633b75aac1cf42b00355cd9aa65033dcc Author: Mark Lord Date: Wed Feb 25 15:17:43 2009 -0500 [libata] sata_mv: Add a new mv_sff_check_status() function to sata_mv. This is necessary for use with the upcoming "mv_qc_issue_fis()" patch, but is being added separately here for easier code review. When using command issue via the "mv_qc_issue_fis()" mechanism, the initial ATA_BUSY bit does not show in the ATA status (shadow) register. This can confuse libata! So here we add a hook to fake ATA_BUSY for that situation, until the first time a BUSY, DRQ, or ERR bit is seen. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 42ed893d8011264f9945c2f54055b47c298ac53e Author: Mark Lord Date: Wed Feb 25 15:15:39 2009 -0500 [libata] sata_mv: Tighten up interrupt masking in mv_qc_issue() so that it doesn't miss any protocols. Handle future cases where a qc is specially marked for polled issue or where a particular chip version prefers interrupts over polling for PIO. This mimics the polling decision logic from ata_sff_qc_issue(). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit c01e8a23128c746f23088db836bd4c820f3eb0b4 Author: Mark Lord Date: Wed Feb 25 15:14:48 2009 -0500 [libata] sata_mv: Enable use of (basic) DMA for ATAPI on GEN_IIE chips This also gets rid of any need for mv_mode_filter(). Using basic DMA on GEN_IIE requires setting an undocumented bit in an undocumented register. For safety, we clear that bit again when switching back to EDMA mode. To avoid a performance penalty when switching modes, we cache the register in port_priv, as already done for other regs. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 08da175937a35d34a83eaefbb3458472eb1a89d4 Author: Mark Lord Date: Wed Feb 25 15:13:03 2009 -0500 [libata] sata_mv: cache frequently-accessed registers Maintain a local (mv_port_priv) cache of frequently accessed registers, to avoid having to re-read them (very slow) on every transistion between EDMA and non-EDMA modes. This speeds up things like flushing the drive write cache, and anything using basic DMA transfers. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit a5bfc4714b3f01365aef89a92673f2ceb1ccf246 Author: Tejun Heo Date: Fri Jan 23 11:31:39 2009 +0900 ahci: drop intx manipulation on msi enable There's no need to turn off intx explicitly on msi enable. This is automatically handled by pci. Drop it. This might be needed on machines if the BIOS turns intx off during boot. However, there's no evidence of such behavior for ahci and the only such case seems to be ICH5 PATA according to ata_piix. Also, given the way ahci operates, it's highly unlikely BIOS ever disables IRQ for the controller. However, as this change has slight possibility of introducing failure, please schedule it for #upstream. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6be976e79db3ba691b657476a8bf4a635e5586f9 Author: Phil Sutter Date: Tue Jan 27 14:35:53 2009 +0100 pata-rb532-cf: drop custom freeze and thaw I'm not quite sure what freezing and thawing is used for. Tests showed that the port is being frozen at initialisation state and thawed right afterwards, then the functions were not called anymore. Dropping the complete custom code for handling the frozen state seems to work at least for a standard use case including mounting a partition, copying some files in it (in parallel) and finally removing them and unmounting the partition. Signed-off-by: Phil Sutter Signed-off-by: Jeff Garzik commit 180bd147f18316d92bd5f59aebc9932cabc03edd Author: Phil Sutter Date: Tue Jan 27 14:35:52 2009 +0100 pata-rb532-cf: use ata_sff_data_xfer32() The biggest difference between rb532_pata_data_xfer() and ata_sff_data_xfer32() is the call to ata_sff_pause() at the end of rb532_pata_data_xfer() which I suppose to be unnecessary since it works without. I've also tested using ata_sff_data_xfer() as replacement, but since we know that the driver supports 32bit IO, using the optimised version should be safe. Signed-off-by: Phil Sutter Signed-off-by: Jeff Garzik commit bff9ad3c4c8fff340854d3912196ed470f94602c Author: Phil Sutter Date: Tue Jan 27 14:35:51 2009 +0100 pata-rb532-cf: use ata_sff_exec_command() The only difference between rb532_pata_exec_command() and ata_sff_exec_command() is added debugging output, so it can be dropped and the standard op used instead. Signed-off-by: Phil Sutter Signed-off-by: Jeff Garzik commit 96b34ce7cafa0888580698d199b9fac6ad9f9a2e Author: Phil Sutter Date: Tue Jan 27 14:35:50 2009 +0100 pata-rb532-cf: replace rb532_pata_finish_io() Since the delay used internally is just the same as ata_sff_pause() uses, rb532_pata_finish_io() does exactly the same as ata_sff_pause() and thus can be replaced by the later one. Signed-off-by: Phil Sutter Signed-off-by: Jeff Garzik commit 84bcbeebcfd283c3f4804287ed4610c3a18e1590 Author: Mark Lord Date: Fri Jan 30 21:40:48 2009 -0500 sata_mv: remove leftovers Remove redundant code left over from the earlier patch 04/07. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 66e57a2cb0c538d4f84a7233c224735fe1eaa672 Author: Mark Lord Date: Fri Jan 30 18:52:58 2009 -0500 sata_mv: optimize use of mv_edma_cfg Try and avoid unnecessary reconfiguration of the EDMA config register on every single non-EDMA I/O operation, by moving the call to mv_edma_cfg() into mv_stop_edma(). It must then also be invoked from mv_hardreset() and from mv_port_start(). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit da14265e776f35067045b8555b5f5f7521e50bc4 Author: Mark Lord Date: Fri Jan 30 18:51:54 2009 -0500 sata_mv: introduce support for ATAPI devices Add ATAPI support to sata_mv, using sff DMA for GEN_II chipsets, and plain old PIO for GEN_IIE. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 32cd11a61007511ddb38783deec8bb1aa6735789 Author: Mark Lord Date: Sun Feb 1 16:50:32 2009 -0500 sata_mv: mv_fill_sg fixes v2 Fix mv_fill_sg() to zero out the reserved word (required for ATAPI), and to include a memory barrier. This may also help with problems reported by Jens on the PPC platform. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 95db505125fb7bc624b7c3b6747bbeaebbffc2e4 Author: Mark Lord Date: Fri Jan 30 18:49:29 2009 -0500 sata_mv: update ata_qc_from_tag Update the logic in ata_qc_from_tag() to match that used in similar places elsewhere in libata. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit f48765ccb48a62596b664aa88a2b0f943c12c0e1 Author: Mark Lord Date: Fri Jan 30 18:48:41 2009 -0500 sata_mv: restructure mv_qc_issue Rearrange logic in mv_qc_issue() to handle protocols other than ATA_PROT_DMA, ATA_PROT_NCQ, and ATA_PROT_PIO. This is in preparation for later enabling ATAPI support. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 00b81235aa0368f84c0e704bec4142cd8c516ad5 Author: Mark Lord Date: Fri Jan 30 18:47:51 2009 -0500 sata_mv: rearrange mv_start_dma() and friends Rearrange mv_start_dma() and friends, in preparation for adding non-EDMA DMA modes, and non-EDMA interrupts, to the driver. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 91b1a84c10869e2e46a576e5367de3166bff8ecc Author: Mark Lord Date: Fri Jan 30 18:46:39 2009 -0500 sata_mv: cleanup chipset GENeration FLAGS Clean up the chipset GENeration FLAGS, and rename them for consistency with other uses of GEN_XX within sata_mv. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 61dd7eb876344904aece6b1837da6ea1cbadbc07 Author: Dmitry Eremin-Solenikov Date: Wed Mar 25 02:49:03 2009 +0300 [MTD] [MAPS] Drop now unused sharpsl-flash map Now as all PXA Zaurii are converted to use the physmap map, drop the sharpsl-flash map completely. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David Woodhouse commit 4097f663cbe9e58de7ebed222f8af33267f297a8 Author: Sathya Perla Date: Tue Mar 24 16:40:13 2009 -0700 be2net: cleanup rx/tx rate calculations Hi, Pls accept this patch to cleanup rx/tx rate calculations as follows: - check for jiffies wraparound - remove typecast of a denominator - do rate calculation only in workqueue context periodically Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit c80dd2da736ba235c2ca5dcaa00aac6907786c5b Merge: 142071b... 534f81a... Author: David S. Miller Date: Tue Mar 24 16:38:53 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit e6e66b02e11563abdb7f69dcb7a2efbd8d577e77 Author: Greg Banks Date: Wed Mar 11 21:07:28 2009 +1100 Dynamic debug: fix pr_fmt() build error When CONFIG_DYNAMIC_DEBUG is enabled, allow callers of pr_debug() to provide their own definition of pr_fmt() even if that definition uses tricks like #define pr_fmt(fmt) "%s:" fmt, __func__ Signed-off-by: Greg Banks Cc: Jason Baron Acked-by: Geert Uytterhoeven Signed-off-by: Greg Kroah-Hartman commit 9898abb3d23311fa227a7f46bf4e40fd2954057f Author: Greg Banks Date: Fri Feb 6 12:54:26 2009 +1100 Dynamic debug: allow simple quoting of words Allow simple quoting of words in the dynamic debug control language. This allows more natural specification when using the control language to match against printk formats, e.g #echo -n 'format "Setting node for non-present cpu" +p' > /mnt/debugfs/dynamic_debug/control instead of #echo -n 'format Setting\040node\040for\040non-present\040cpu +p' > /mnt/debugfs/dynamic_debug/control Adjust the dynamic debug documention to describe that and provide a new example. Adjust the existing examples in the documentation to reflect the current whitespace escaping behaviour when reading the control file. Fix some minor documentation trailing whitespace. Signed-off-by: Greg Banks Acked-by: Jason Baron Signed-off-by: Greg Kroah-Hartman commit 86151fdf38b3795f292b39defbff39d2684b9c8c Author: Jason Baron Date: Thu Feb 5 11:53:15 2009 -0500 dynamic debug: update docs updates the documentation for 'dynamic debug' feature. Signed-off-by: Greg Banks Signed-off-by: Jason Baron Signed-off-by: Greg Kroah-Hartman commit e9d376f0fa66bd630fe27403669c6ae6c22a868f Author: Jason Baron Date: Thu Feb 5 11:51:38 2009 -0500 dynamic debug: combine dprintk and dynamic printk This patch combines Greg Bank's dprintk() work with the existing dynamic printk patchset, we are now calling it 'dynamic debug'. The new feature of this patchset is a richer /debugfs control file interface, (an example output from my system is at the bottom), which allows fined grained control over the the debug output. The output can be controlled by function, file, module, format string, and line number. for example, enabled all debug messages in module 'nf_conntrack': echo -n 'module nf_conntrack +p' > /mnt/debugfs/dynamic_debug/control to disable them: echo -n 'module nf_conntrack -p' > /mnt/debugfs/dynamic_debug/control A further explanation can be found in the documentation patch. Signed-off-by: Greg Banks Signed-off-by: Jason Baron Signed-off-by: Greg Kroah-Hartman commit 095160aee954688a9bad225952c4bee546541e19 Author: Hugh Dickins Date: Mon Mar 23 01:41:27 2009 +0000 sysfs: fix some bin_vm_ops errors Commit 86c9508eb1c0ce5aa07b5cf1d36b60c54efc3d7a "sysfs: don't block indefinitely for unmapped files" in linux-next crashes the PowerMac G5 when X starts up. It's caught out by the way powerpc's pci_mmap of legacy_mem uses shmem_zero_setup(), substituting a new vma->vm_file whose private_data no longer points to the bin_buffer (substitution done because some versions of X crash if that mmap fails). The fix to this is straightforward: the original vm_file is fput() in that case, so this mmap won't block sysfs at all, so just don't switch over to bin_vm_ops if vm_file has changed. But more fixes made before realizing that was the problem:- It should not be an error if bin_page_mkwrite() finds no underlying page_mkwrite(). Check that a file already mmap'ed has the same underlying vm_ops _before_ pointing vma->vm_ops at bin_vm_ops. If the file being mmap'ed is a shmem/tmpfs file, don't fail the mmap on CONFIG_NUMA=y, just because that has a set_policy and get_policy: provide bin_set_policy, bin_get_policy and bin_migrate. Signed-off-by: Hugh Dickins Acked-by: Eric Biederman Signed-off-by: Greg Kroah-Hartman commit f520360d93cdc37de5d972dac4bf3bdef6a7f6a7 Author: Arjan van de Ven Date: Thu Mar 19 09:09:05 2009 -0700 kobject: don't block for each kobject_uevent Right now, the kobject_uevent code blocks for each uevent that's being generated, due to using (for hystoric reasons) UHM_WAIT_EXEC as flag to call_usermode_helper(). Specifically, the effect is that each uevent that is being sent causes the code to wake up keventd, then block until keventd has processed the work. Needless to say, this happens many times during the system boot. This patches changes that to UHN_NO_WAIT (brilliant name for a constant btw) so that we only schedule the work to fire the uevent message, but do not wait for keventd to process the work. This removes one of the bottlenecks during boot; each one of them is only a small effect, but the sum of them does add up. [Note, distros that need this are broken, they should be setting CONFIG_UEVENT_HELPER_PATH to "", that way this code path will never be excuted at all -- gregkh] Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit 669420644c79c207f83fdf9105ae782867e2991f Author: Alex Chiang Date: Fri Mar 13 12:07:36 2009 -0600 sysfs: only allow one scheduled removal callback per kobj The only way for a sysfs attribute to remove itself (without deadlock) is to use the sysfs_schedule_callback() interface. Vegard Nossum discovered that a poorly written sysfs ->store callback can repeatedly schedule remove callbacks on the same device over and over, e.g. $ while true ; do echo 1 > /sys/devices/.../remove ; done If the 'remove' attribute uses the sysfs_schedule_callback API and also does not protect itself from concurrent accesses, its callback handler will be called multiple times, and will eventually attempt to perform operations on a freed kobject, leading to many problems. Instead of requiring all callers of sysfs_schedule_callback to implement their own synchronization, provide the protection in the infrastructure. Now, sysfs_schedule_callback will only allow one scheduled callback per kobject. On subsequent calls with the same kobject, return -EAGAIN. This is a short term fix. The long term fix is to allow sysfs attributes to remove themselves directly, without any of this callback hokey pokey. [cornelia.huck@de.ibm.com: s390 ccwgroup bits] Reported-by: vegard.nossum@gmail.com Signed-off-by: Alex Chiang Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit ffa6a7054d172a2f57248dff2de600ca795c5656 Author: Cornelia Huck Date: Wed Mar 4 12:44:00 2009 +0100 Driver core: Fix device_move() vs. dpm list ordering, v2 dpm_list currently relies on the fact that child devices will be registered after their parents to get a correct suspend order. Using device_move() however destroys this assumption, as an already registered device may be moved under a newly registered one. This patch adds a new argument to device_move(), allowing callers to specify how dpm_list should be adapted. Signed-off-by: Cornelia Huck Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 60530afe1ee8a5532cb09d0ab5bc3f1a6495b780 Author: Zhenwen Xu Date: Tue Mar 3 18:36:02 2009 +0800 Driver core: some cleanup on drivers/base/sys.c do some cleanup on drivers/base/sys.c Signed-off-by: Zhenwen Xu Signed-off-by: Greg Kroah-Hartman commit f67f129e519fa87f8ebd236b6336fe43f31ee141 Author: Ming Lei Date: Sun Mar 1 21:10:49 2009 +0800 Driver core: implement uevent suppress in kobject This patch implements uevent suppress in kobject and removes it from struct device, based on the following ideas: 1,Uevent sending should be one attribute of kobject, so suppressing it in kobject layer is more natural than in device layer. By this way, we can do it for other objects embedded with kobject. 2,It may save several bytes for each instance of struct device.(On my omap3(32bit ARM) based box, can save 8bytes per device object) This patch also introduces dev_set|get_uevent_suppress() helpers to set and query uevent_suppress attribute in case to help kobject as private part of struct device in future. [This version is against the latest driver-core patch set of Greg,please ignore the last version.] Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 4995f8ef9d3aac72745e12419d7fbaa8d01b1d81 Author: Kay Sievers Date: Mon Mar 9 14:18:52 2009 +0100 vcs: hook sysfs devices into object lifetime instead of "binding" During bootup performance tracing I noticed many occurrences of vca* device creation and removal, leading to the usual userspace uevent processing, which are, in this case, rather pointless. A simple test showing the kernel timing (not including all the work userspace has to do), gives us these numbers: $ time for i in `seq 1000`; do echo a > /dev/tty2; done real 0m1.142s user 0m0.015s sys 0m0.540s If we move the hook for the vcs* driver core devices from the tty "binding" to the vc allocation/deallocation, which is what the vcs* devices represent, we get the following numbers: $ time for i in `seq 1000`; do echo a > /dev/tty2; done real 0m0.152s user 0m0.030s sys 0m0.072s Cc: Alan Cox Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ce21c7bcd796fc4f45d48781b7e85f493cc55ee5 Author: Ming Lei Date: Fri Mar 13 23:06:59 2009 +0800 driver core: fix passing platform_data We will remove platform_data field from struct device until all platform devices pass its specific data from platfom_device and all platform drivers use platform specific data passed by platform_device->platform_data. This kind of conversion will need a long time, for thousands of files is affected. To make the conversion easily, we allow platform specific data passed by struct device or struct platform_device and platform driver may use it from struct device or struct platform_device. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 006f4571a15fae3a0575f2a0f9e9b63b3d1012f8 Author: Ming Lei Date: Sun Mar 8 23:13:32 2009 +0800 driver core: move platform_data into platform_device This patch moves platform_data from struct device into struct platform_device, based on the two ideas: 1. Now all platform_driver is registered by platform_driver_register, which makes probe()/release()/... of platform_driver passed parameter of platform_device *, so platform driver can get platform_data from platform_device; 2. Other kind of devices do not need to use platform_data, we can decrease size of device if moving it to platform_device. Taking into consideration of thousands of files to be fixed and they can't be finished in one night(maybe it will take a long time), so we keep platform_data in device to allow two kind of cases coexist until all platform devices pass its platfrom data from platform_device->platform_data. All patches to do this kind of conversion are welcome. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit e0edd3c65aa5b53e20280565a7ce11675eb7ed6b Author: Eric W. Biederman Date: Wed Mar 4 11:57:20 2009 -0800 sysfs: don't block indefinitely for unmapped files. Modify sysfs bin files so that we can remove the bin file while they are still mapped. When the kobject is removed we unmap the bin file and arrange for future accesses to the mapping to receive SIGBUS. Implementing this prevents a nasty DOS when pci devices are hot plugged and unplugged. Where if any of their resources were mmaped the kernel could not free up their pci resources or release their pci data structures. [akpm@linux-foundation.org: remove unused var] Signed-off-by: Eric W. Biederman Cc: Jesse Barnes Acked-by: Tejun Heo Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit ae1b41715ee2aae356fbcca032838b71d70b855f Author: Greg Kroah-Hartman Date: Tue Dec 16 12:26:21 2008 -0800 driver core: move knode_bus into private structure Nothing outside of the driver core should ever touch knode_bus, so move it out of the public eye. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 8940b4f312dced51b45004819b776ec3aa7fcd5d Author: Greg Kroah-Hartman Date: Tue Dec 16 12:25:49 2008 -0800 driver core: move knode_driver into private structure Nothing outside of the driver core should ever touch knode_driver, so move it out of the public eye. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f791b8c836307b58cbf62133a6a772ed1a92fb33 Author: Greg Kroah-Hartman Date: Tue Dec 16 12:24:56 2008 -0800 driver core: move klist_children into private structure Nothing outside of the driver core should ever touch klist_children, or knode_parent, so move them out of the public eye. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit fb069a5d132fb926ed17af3211a114ac7cf27d7a Author: Greg Kroah-Hartman Date: Tue Dec 16 12:23:36 2008 -0800 driver core: create a private portion of struct device This is to be used to move things out of struct device that no code outside of the driver core should ever touch. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b23530ebc339c4092ae2c9f37341a5398fea8b89 Author: Ming Lei Date: Sat Feb 21 16:45:07 2009 +0800 driver core: remove polling for driver_probe_done(v5) This patch removes 100ms polling for driver_probe_done in wait_for_device_probe(), and uses wait_event() instead. Removing polling in fs initialization may lead to a faster boot. This patch also changes the return type of wait_for_device_done() from int to void. This patch is against Arjan's patch in linux-next tree. Signed-off-by: Ming Lei Acked-by: Cornelia Huck Reviewed-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit 04256b4a8fc73f54cd14f20867882c299728a446 Author: Eric W. Biederman Date: Wed Feb 11 13:20:23 2009 -0800 sysfs: reference sysfs_dirent from sysfs inodes The sysfs_dirent serves as both an inode and a directory entry for sysfs. To prevent the sysfs inode numbers from being freed prematurely hold a reference to sysfs_dirent from the sysfs inode. [akpm@linux-foundation.org: add comment] Signed-off-by: Eric W. Biederman Cc: Tejun Heo Cc: Al Viro Cc: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 425cb02912d1095febfeaf8d379af7b2ac9e4a89 Author: Alex Chiang Date: Thu Feb 12 10:56:59 2009 -0700 sysfs: sysfs_add_one WARNs with full path to duplicate filename sysfs: sysfs_add_one WARNs with full path to duplicate filename As a debugging aid, it can be useful to know the full path to a duplicate file being created in sysfs. We now will display warnings such as: sysfs: cannot create duplicate filename '/foo' when attempting to create multiple files named 'foo' in the sysfs root, or: sysfs: cannot create duplicate filename '/bus/pci/slots/5/foo' when attempting to create multiple files named 'foo' under a given directory in sysfs. The path displayed is always a relative path to sysfs_root. The leading '/' in the path name refers to the sysfs_root mount point, and should not be confused with the "real" '/'. Thanks to Alex Williamson for essentially writing sysfs_pathname. Cc: Alex Williamson Signed-off-by: Alex Chiang Signed-off-by: Greg Kroah-Hartman commit f48f3febb2cbfd0f2ecee7690835ba745c1034a4 Author: Dave Young Date: Sat Feb 14 21:23:22 2009 +0800 driver-core: do not register a driver with bus_type not registered If the bus_type is not registerd, driver_register to that bus will cause oops. I found this bug when test built-in usb serial drivers (ie. aircable driver) with 'nousb' cmdline params. In this patch: 1. set the bus->p=NULL when bus_register failed and unregisterd. 2. if bus->p is NULL, driver_register BUG_ON will be triggered. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit e5779a583ddb9916b37cfbb916dc53ec2eaf0b9b Author: Geert Uytterhoeven Date: Wed Mar 11 09:23:52 2009 +0100 scsi/m68k: Kill NCR_700_detect() warnings The patch from Ming Lei entitled: platform driver: fix incorrect use of 'platform_bus_type' with 'struct devic introduced the following warnings on m68k, as `dev' is now a `struct platform_device *' instead of a `struct device *': | drivers/scsi/a4000t.c:64: warning: passing argument 3 of 'NCR_700_detect' from incompatible pointer type | drivers/scsi/mvme16x_scsi.c:67: warning: passing argument 3 of 'NCR_700_detect' from incompatible pointer type | drivers/scsi/bvme6000_scsi.c:61: warning: passing argument 3 of 'NCR_700_detect' from incompatible pointer type I think the below is missing (untested on real hardware). Signed-off-by: Geert Uytterhoeven Cc: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 7a192ec334cab9fafe3a8665a65af398b0e24730 Author: Ming Lei Date: Fri Feb 6 23:40:12 2009 +0800 platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' This patch fixes the bug reported in http://bugzilla.kernel.org/show_bug.cgi?id=11681. "Lots of device drivers register a 'struct device_driver' with the '.bus' member set to '&platform_bus_type'. This is wrong, since the platform_bus functions expect the 'struct device_driver' to be wrapped up in a 'struct platform_driver' which provides some additional callbacks (like suspend_late, resume_early). The effect may be that platform_suspend_late() uses bogus data outside the device_driver struct as a pointer pointer to the device driver's suspend_late() function or other hard to reproduce failures."(Lothar Wassmann) Signed-off-by: Ming Lei Acked-by: Henrique de Moraes Holschuh Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6da2d377bba06c29d0bc41c8dee014164dec82a7 Author: Ian Abbott Date: Tue Feb 24 17:22:59 2009 +0000 UIO: Take offset into account when determining number of pages that can be mapped If a UIO memory region does not start on a page boundary but straddles one, the number of actual pages that overlap the memory region may be calculated incorrectly because the offset isn't taken into account. If userspace sets the mmap length to offset+size, it may fail with -EINVAL if UIO thinks it's trying to allocate too many pages. Signed-off-by: Ian Abbott Cc: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 1bafeb378e915f39b1bf44ee0871823d6f402ea5 Author: Brandon Philips Date: Tue Jan 27 13:00:04 2009 -0800 uio: add the uio_aec driver UIO driver for the Adrienne Electronics Corporation PCI time code device. This device differs from other UIO devices since it uses I/O ports instead of memory mapped I/O. In order to make it possible for UIO to work with this device a utility, uioport, can be used to read and write the ports. uioport is designed to be a setuid program and checks the permissions of the /dev/uio* node and if the user has write permissions it will use iopl and out*/in* to access the device. [1] git clone git://ifup.org/philips/uioport.git Signed-off-by: Brandon Philips Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 8205779114e8f612549d191f8e151526a74ab9f2 Author: Hans J. Koch Date: Wed Jan 7 00:15:39 2009 +0100 UIO: Add name attributes for mappings and port regions If a UIO device has several memory mappings, it can be difficult for userspace to find the right one. The situation becomes even worse if the UIO driver can handle different versions of a card that have different numbers of mappings. Benedikt Spranger has such cards and pointed this out to me. Thanks, Bene! To address this problem, this patch adds "name" sysfs attributes for each mapping. Userspace can use these to clearly identify each mapping. The name string is optional. If a driver doesn't set it, an empty string will be returned, so this patch won't break existing drivers. The same problem exists for port region information, so a "name" attribute is added there, too. Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 57fee4a58fe802272742caae248872c392a60670 Author: Eric Miao Date: Wed Feb 4 11:52:40 2009 +0800 platform: introduce module id table for platform devices Now platform_device is being widely used on SoC processors where the peripherals are attached to the system bus, which is simple enough. However, silicon IPs for these SoCs are usually shared heavily across a family of processors, even products from different companies. This makes the original simple driver name based matching insufficient, or simply not straight-forward. Introduce a module id table for platform devices, and makes it clear that a platform driver is able to support some shared IP and handle slight differences across different platforms (by 'driver_data'). Module alias is handled automatically when a MODULE_DEVICE_TABLE() is defined. To not disturb the current platform drivers too much, the matched id entry is recorded and can be retrieved by platform_get_device_id(). Signed-off-by: Eric Miao Cc: Kay Sievers Cc: Ben Dooks Signed-off-by: Greg Kroah-Hartman commit 71b3e0c1ad90f28e34c105069175cbd4edb43dfa Author: Eric Miao Date: Sat Jan 31 22:47:44 2009 +0800 platform: make better use of to_platform_{device,driver}() macros This helps the code look more consistent and cleaner. Signed-off-by: Eric Miao Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 49b420a13ff95b449947181190b08367348e3e1b Author: Ming Lei Date: Wed Jan 21 23:27:47 2009 +0800 driver core: check bus->match without holding device lock This patch moves bus->match out from driver_probe_device and does not hold device lock to check the match between a device and a driver. The idea has been verified by the commit 6cd495860901, which leads to a faster boot. But the commit 6cd495860901 has the following drawbacks: 1),only does the quick check in the path of __driver_attach->driver_probe_device, not in other paths; 2),for a matched device and driver, check the same match twice. It is a waste of cpu ,especially for some drivers with long device id table (eg. usb-storage driver). This patch adds a helper of driver_match_device to check the match in all paths, and testes the match only once. Signed-off-by: Ming Lei Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 4a67a1bc0b3a0db017b560cee27370d141c58e25 Author: Eric W. Biederman Date: Wed Jan 21 11:55:11 2009 -0800 sysfs: Take sysfs_mutex when fetching the root inode. sysfs_get_inode ultimately calls sysfs_count_nlink when the a directory inode is fectched. sysfs_count_nlink needs to be called under the sysfs_mutex to guard against the unlikely but possible scenario that the root directory is changing as we are counting the number entries in it, and just in general to be consistent. Signed-off-by: Eric W. Biederman Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8231f2f99a5e5fc45a25e8de09fd1ab9711babf1 Author: Qinghuang Feng Date: Wed Jan 14 15:45:13 2009 +0800 SYSFS: use standard magic.h for sysfs SYSFS_MAGIC has been added into magic.h, so only use that definition in magic.h to avoid potential consistency problem. Signed-off-by: Qinghuang Feng Signed-off-by: Greg Kroah-Hartman commit 1fa5ae857bb14f6046205171d98506d8112dd74e Author: Kay Sievers Date: Sun Jan 25 15:17:37 2009 +0100 driver core: get rid of struct device's bus_id string array Now that all users of bus_id is gone, we can remove it from struct device. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6866ac9db02ac1ec71f2aa720a1019581f69a725 Author: Sachin Sant Date: Mon Feb 16 19:10:11 2009 +0530 USB: FHCI: use dev_name() in place of bus_id. Replace references to bus_id with dev_name() to fix fhci driver build break. drivers/usb/host/fhci-hcd.c:586: error: struct device has no member named bus_id drivers/usb/host/fhci-hcd.c:653: error: struct device has no member named bus_id drivers/usb/host/fhci-dbg.c:111: error: struct device has no member named bus_id Signed-off-by: Sachin Sant Acked-by: Anton Vorontsov Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 54ca5412b5576fdb0a4ea4fedf6565bd6f34150c Author: Greg Kroah-Hartman Date: Mon Jan 26 09:12:12 2009 -0800 PS3: replace bus_id usage These simple debug statments should be using dev_dbg() instead of accessing bus_id directly (or they should use device_name). As bus_id is going away, this patch is necessary. Acked-by: Geoff Levand Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5df5852446196c9713e897ab5f9b8a168d971a00 Author: Kay Sievers Date: Tue Mar 24 16:38:23 2009 -0700 usb: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 2c0f3e96f3fc7bbd1cb3caa601f19cf030c2b958 Author: Kay Sievers Date: Tue Mar 24 16:38:23 2009 -0700 wimax: struct device - replace bus_id with dev_name(), dev_set_name() Cc: inaky.perez-gonzalez@intel.com Cc: linux-wimax@intel.com Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit b2bf61f23f74d5b5aa35f242a2fe2f08ce4a53e7 Author: Kay Sievers Date: Tue Mar 24 16:38:23 2009 -0700 mfd: struct device - replace bus_id with dev_name(), dev_set_name() Cc: sameo@openedhand.com Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit cf43f4ab3a065296822bb245975d006707ccde8d Author: Kay Sievers Date: Tue Mar 24 16:38:23 2009 -0700 mca: struct device - replace bus_id with dev_name(), dev_set_name() Cc: James.Bottomley@HansenPartnership.com Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 3e274bd02b04064632492a86fe99d3b613c74d84 Author: Kay Sievers Date: Tue Mar 24 16:38:23 2009 -0700 gpio: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Michael Buesch Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit e537b2453ccf8884513201d6afcb62ca0763ecf0 Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 eisa: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit dfbc90196dfb9a814e7f2e1f4c47aa425452d313 Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 dma: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Dan Williams Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 9591463af7ea3a2d723c7e39c08aa05ad27e7bfc Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 dio: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 9d6b4c82bffbe6de624ff86cb279166867f46365 Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 amba: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit c3ef01ce4f73f41e99b2a5f0796f1f1a1daaaaa2 Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 v4l: struct device - replace bus_id with dev_name(), dev_set_name() Cc: mchehab@infradead.org Cc: linux-media@vger.kernel.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 2ead054cd26752c7ce47dfbf320dd021ef70682d Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 drm: struct device - replace bus_id with dev_name(), dev_set_name() Cc: airlied@linux.ie Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit c23135573f37facd18edb2e8e8512c67928c54ac Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 net: struct device - replace bus_id with dev_name(), dev_set_name() Cc: davem@davemloft.net Cc: netdev@vger.kernel.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 744bcb13d376b38ff1df3bbcc810493e1b999502 Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 rtc: struct device - replace bus_id with dev_name(), dev_set_name() Cc: a.zummo@towertech.it Cc: rtc-linux@googlegroups.com Signed-off-by: Kay Sievers Signed-off-by: Alessandro Zummo Signed-off-by: Greg Kroah-Hartman commit f2fecec51ad593cce1b07a2b54830a8412a441ea Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 pcmcia: struct device - replace bus_id with dev_name(), dev_set_name() Cc: Dominik Brodowski Cc: linux-pcmcia@lists.infradead.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit df388556d7d845983c0da3a4a49873472c466275 Author: Kay Sievers Date: Tue Mar 24 16:38:22 2009 -0700 tc: struct device - replace bus_id with dev_name(), dev_set_name() Cc: macro@linux-mips.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 1692713ee94e8d26f592a8e90b817ef66354246c Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 sh: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 65a212dd71ffd99c83ad780205932fcb96a973b6 Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 serial: struct device - replace bus_id with dev_name(), dev_set_name() Cc: davem@davemloft.net Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 1173960b0e85761811a421eb0bbcefb117eb7535 Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 s390: struct device - replace bus_id with dev_name(), dev_set_name() Cc: schwidefsky@de.ibm.com Cc: linux-s390@vger.kernel.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 37f105448eac49073c3ff9f101553aad845d24eb Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 rapidio: struct device - replace bus_id with dev_name(), dev_set_name() Cc: mporter@kernel.crashing.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 54cc6954a431dad42fb73e0a50b6d318a70594f6 Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 pci: struct device - replace bus_id with dev_name(), dev_set_name() Cc: jbarnes@virtuousgeek.org Cc: linux-pci@vger.kernel.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit c36f1e3301ee9d8045938a2741da7f8e4c7fbbff Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 mtd: struct device - replace bus_id with dev_name(), dev_set_name() Cc: dwmw2@infradead.org Cc: linux-mtd@lists.infradead.org Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 48f8151ea68ad78391ef6ff12a83e6fbdb6094f6 Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 mmc: struct device - replace bus_id with dev_name(), dev_set_name() Cc: drzeus-mmc@drzeus.cx Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 2796872c40c462bacf2d09bb99faa6dcd640a620 Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 zorro: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 7ad33e74857f16f1202cbc5746faf52e88e8b376 Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 video: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 6c7377ab6814c247d7600955a4ead2e3db490697 Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 spi: struct device - replace bus_id with dev_name(), dev_set_name() Cc: dbrownell@users.sourceforge.net Cc: spi-devel-general@lists.sourceforge.net Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 031d5518591006efd13a33a86909b9477b22917b Author: Kay Sievers Date: Tue Mar 24 16:38:21 2009 -0700 edac: struct device - replace bus_id with dev_name(), dev_set_name() Cc: dougthompson@xmission.com Cc: bluesmoke-devel@lists.sourceforge.net Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers commit 38938bfe3489394e2eed5e40c9bb8f66a2ce1405 Author: Pablo Neira Ayuso Date: Tue Mar 24 16:37:55 2009 -0700 netlink: add NETLINK_NO_ENOBUFS socket flag This patch adds the NETLINK_NO_ENOBUFS socket flag. This flag can be used by unicast and broadcast listeners to avoid receiving ENOBUFS errors. Generally speaking, ENOBUFS errors are useful to notify two things to the listener: a) You may increase the receiver buffer size via setsockopt(). b) You have lost messages, you may be out of sync. In some cases, ignoring ENOBUFS errors can be useful. For example: a) nfnetlink_queue: this subsystem does not have any sort of resync method and you can decide to ignore ENOBUFS once you have set a given buffer size. b) ctnetlink: you can use this together with the socket flag NETLINK_BROADCAST_SEND_ERROR to stop getting ENOBUFS errors as you do not need to resync (packets whose event are not delivered are drop to provide reliable logging and state-synchronization). Moreover, the use of NETLINK_NO_ENOBUFS also reduces a "go up, go down" effect in terms of performance which is due to the netlink congestion control when the listener cannot back off. The effect is the following: 1) throughput rate goes up and netlink messages are inserted in the receiver buffer. 2) Then, netlink buffer fills and overruns (set on nlk->state bit 0). 3) While the listener empties the receiver buffer, netlink keeps dropping messages. Thus, throughput goes dramatically down. 4) Then, once the listener has emptied the buffer (nlk->state bit 0 is set off), goto step 1. This effect is easy to trigger with netlink broadcast under heavy load, and it is more noticeable when using a big receiver buffer. You can find some results in [1] that show this problem. [1] http://1984.lsi.us.es/linux/netlink/ This patch also includes the use of sk_drop to account the number of netlink messages drop due to overrun. This value is shown in /proc/net/netlink. Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit 7f649269c318c41030e492fc35f03d38c6e3b39b Author: Brice Goglin Date: Tue Mar 24 16:32:13 2009 -0700 myri10ge: update firmware headers to 1.4.41 Update myri10ge firmware headers to firmware version 1.4.41. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit de7927457a2e12d89f37b744fb258d2ae68cdb56 Author: vibi sreenivasan Date: Tue Mar 24 16:30:20 2009 -0700 macb: fix warning "warning: unused variable `dev' " Removed unused variable dev Signed-off-by: vibi sreenivasan Signed-off-by: Haavard Skinnemoen Signed-off-by: David S. Miller commit a9dbae78506b2099985c4ca9975f079c94cb8165 Author: Joakim Tjernlund Date: Fri Mar 20 21:09:14 2009 +0100 ucc_geth: Convert to net_device_ops Signed-off-by: David S. Miller commit fd8345f8dea93691b0ceba55146088d8c05415f6 Author: Alexander Shumakovitch Date: Sat Mar 21 00:50:16 2009 -0400 USB: qcserial: add device id for HP devices Signed-off-by: Greg Kroah-Hartman commit e6bdfe36e52f0e552b50acf49a82851eeb122fde Author: Catalin Marinas Date: Mon Mar 23 12:38:16 2009 +0000 USB: isp1760: Add a delay before reading the SKIPMAP registers in isp1760-hcd.c The data read from the SKIPMAP registers is not immediately available after writing and the driver panics when a packet is enqueued from the interrupt handler. This patch adds an ndelay(195) before these registers are read (delay value mentioned in section 15.1.1.3 of the ISP1760 data sheet). Signed-off-by: Catalin Marinas Acked-by: Sebastian Andrzej Siewior Signed-off-by: Greg Kroah-Hartman commit b7af0bb26899bb47ae16fb41d2296111b0784a56 Author: Daniel Mack Date: Fri Mar 20 19:58:57 2009 +0100 USB: allow malformed LANGID descriptors When an USB hardware does not provide a valid LANGID, fall back to value zero which is still a reasonable default for most devices. Signed-off-by: Daniel Mack Signed-off-by: Greg Kroah-Hartman commit 4c24b6d045a9d355c95ca4e6beb10ce2fd263390 Author: Vernon Sauder Date: Fri Mar 20 01:44:50 2009 -0700 USB: pxa27x_udc: typo fixes and code cleanups This patch is a merge of patches : - fix function doc and debug - cleanup loop count - optimize code to remove local variable and extra check - init 'req' before use - add missing iounmap call [dbrownell@users.sourceforge.net: capitalize IN/OUT directions in doc] Signed-off-by: Vernon Sauder [folded by Robert Jarzmik Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ab943a2e125b098489ccaa0166c2c52f8266d9ed Author: David Brownell Date: Thu Mar 19 14:16:09 2009 -0700 USB: gadget: gadget zero uses new suspend/resume hooks Use the new device-level suspend/resume hooks for Gadget Zero; always enable them with the OTG test mode; and support remote wakeup on both configurations even in non-OTG mode. This ensures that both configurations can pass the USBCV remote wakeup tests when the OTG test mode is enabled. This changes behavior by adding autoresume support to the loopback config even in non-OTG mode; the test failure was that it didn't work in OTG mode. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8942939a6c83f34615de5ae041cc9ca846923f94 Author: David Brownell Date: Thu Mar 19 14:14:17 2009 -0700 USB: gadget: composite device-level suspend/resume hooks Address one open question in the composite gadget framework: Yes, we should have device-level suspend/resume callbacks in addition to the function-level ones. We have at least one scenario (with gadget zero in OTG test mode) that's awkward to handle without it. Signed-off-by: David Brownell Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit e1e609be49c9d345e8b67a122a7cdae48ad27c7e Author: Yoshihiro Shimoda Date: Thu Mar 19 14:18:15 2009 +0900 USB: r8a66597-hcd: suspend/resume support Fix the problem that system cannot suspend. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 71d2718f2507dc17501d04e2bdca7b8e694ce365 Author: Roel Kluin Date: Fri Mar 13 12:19:18 2009 +0100 USB: more u32 conversion after transfer_buffer_length and actual_length transfer_buffer_length and actual_length have become unsigned, therefore some additional conversion of local variables, function arguments and print specifications is desired. A test for a negative urb->transfer_buffer_length became obsolete; instead we ensure that it does not exceed INT_MAX. Also, urb->actual_length is always less than urb->transfer_buffer_length. rh_string() does no longer return -EPIPE in the case of an unsupported ID. Instead its only caller, rh_call_control() does the check. Signed-off-by: Roel Kluin Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d2ad67b3fa61eed52b22491210c668a94c7bf17e Author: VomLehn Date: Thu Mar 12 14:37:42 2009 -0700 USB: Fix cp2101 USB serial device driver termios functions for console use This is really a follow up to the modifications Alan Cox made for commit 95da310e66ee8090119596c70ca8432e57f9a97f to pass a tty_struct to various interface functions, which broke the serial configuration (termios) functions when the device is being used as a console. These changes restore the configuration to proper functioning both as a tty and as a console. As Alan notes in that commit, these changes will need to be tweaked when we have a proper console abstraction. Signed-off-by: David VomLehn Signed-off-by: Greg Kroah-Hartman commit d23bac9f8b3cf1ad674d6390364d559103013213 Author: Alex Stephens Date: Tue Mar 17 00:06:19 2009 +0000 USB: CP2101 New Device ID One new device ID for CP2101 driver. Signed-off-by: Alex Stephens alex@miranova.com commit 1b8fb4141eb52f4aace9f152dad3e4c1609b76fe Author: Mark Ellis Date: Mon Mar 9 22:24:29 2009 +0000 USB: ipaq: handle 4 endpoint devices The ipaq driver currently enforces one port on all devices. This is correct for 2 and 3 endpoint devices, but with 4 endpoint devices meaningful communication occurs on the second pair. This patch allows 2 ports for 4 endpoint devices. Signed-off-by: Mark Ellis Signed-off-by: Greg Kroah-Hartman commit 49121aa14c2a372a5fd01982df900257784be63d Author: Ben Dooks Date: Sat Mar 7 11:44:21 2009 +0000 USB: S3C: Move usb-control.h to platform include The usb-control.h is needed by ohci-s3c2410.c for both S3C24XX and S3C64XX architectures, so move it to Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3ba5f38f3d5143a879de132a9df71814d1f3cff0 Author: Ben Dooks Date: Sat Mar 7 11:44:10 2009 +0000 USB: ohci-hcd: Add ARCH_S3C24XX to the ohci-s3c2410.c glue The ohci-s3c2410.c glue supports both CONFIG_ARCH_S3C2410 and CONFIG_ARCH_S3C64XX so add it to the build of ohci-s3c2410.c Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 64a3a25f440c65510cb0d15080dcd2f0032d6051 Author: D.J. Capelis Date: Wed Mar 4 10:27:52 2009 -0800 USB: pedantic: spelling correction in comment for ch9.h Just noticed this during a grep, figured I might as well send it in. From: D.J. Capelis Signed-off-by: Greg Kroah-Hartman commit a9f8ec4db1d308643e13ec7638ccb5ace4d34982 Author: Hannes Eder Date: Fri Feb 27 02:04:31 2009 +0100 USB: host: fix sparse warning: Using plain integer as NULL pointer Fix this sparse warning:  drivers/usb/host/oxu210hp-hcd.c:2687:42: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Signed-off-by: Greg Kroah-Hartman commit 2dfa319a649b9de029777994b6af201c1fe81d53 Author: Ben Dooks Date: Thu Feb 26 23:03:15 2009 +0000 USB: ohci-s3c2410: fix name of bus clock The USB bus clock is usb-bus-host, so print the correct name in the dev_err() statement if we cannot find it. Signed-off-by: Ben Dooks Acked-by: David Brownell commit 3edb8a208b5be90c829f7b19058cb63e947b1d18 Author: Ben Dooks Date: Thu Feb 26 23:02:19 2009 +0000 USB: ohci-s3c2410: remove include Remove the include of , as no definitions from it are used by the OHCI driver. Signed-off-by: Ben Dooks Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 03ee251546a9360cbb4c27c250d128dcbcfd9931 Author: Greg Kroah-Hartman Date: Wed Mar 11 11:03:49 2009 -0700 USB: serial: rename cp2101 driver to cp210x Lots of users are getting confused about the cp2101 driver. It really does support more than just the cp2101 device, so rename it to cp210x to try to prevent confusion. Cc: Craig Shelley Signed-off-by: Greg Kroah-Hartman commit 97324955c62aaa104edea2ef4370dc8882a5ab82 Author: Craig Shelley Date: Thu Feb 26 22:21:51 2009 +0000 USB: CP2101 Reduce Error Logging This patch lowers the logging priority of certain messages to prevent users from flooding the log files. Signed-off-by: Craig Shelley Signed-off-by: Greg Kroah-Hartman commit ef8b6bcb39559d956f897acf7ebe600d5105d479 Author: Craig Shelley Date: Thu Feb 26 22:19:22 2009 +0000 USB: CP2101 Support AN205 baud rates This patch adds support for the extended range of baud rates supported by CP2102 and CP2103 devices described in SiLabs AN205. An additional function cp2101_quantise_baudrate rounds the baud rate as per AN205 Table 1. A modification to the baud rate calculation removes a rounding error, allowing the full range of baud rates to be used. Signed-off-by: Craig Shelley Signed-off-by: Greg Kroah-Hartman commit 31dbb803464d75b96212cce9052dfeaeac0819de Author: Johannes Weiner Date: Wed Mar 4 12:06:15 2009 -0800 USB: use kzfree() Use kzfree() instead of memset() + kfree(). Signed-off-by: Johannes Weiner Reviewed-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d34d9721a559fd11ec682bd9ef17220de0162060 Author: Alan Stern Date: Mon Mar 9 13:44:48 2009 -0400 USB: usbfs: remove unneeded "inline" annotations This patch (as1223) removes a bunch of unnecessary "inline" annotations from the usbfs driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4fe0387afa893b44c5a21b9bfbb0888354ef4656 Author: Alan Stern Date: Thu Feb 26 10:21:02 2009 -0500 USB: don't send Set-Interface after reset This patch (as1221) changes the way usbcore reinitializes a device following a reset or a reset-resume. Currently we call usb_set_interface() for every interface in the active configuration; this is to put the interface into the same altsetting as before the reset and to make sure that the host's endpoint state matches the device's endpoint state. However, sending a Set-Interface request is a waste of time if an interface was already in altsetting 0 before the reset, since it is certainly in altsetting 0 afterward. In addition, many devices can't handle Set-Interface requests -- they crash when they receive them. So instead, the patch adds code to check each interface. If the interface wasn't in altsetting 0 before the reset, we go head with the Set-Interface request as before. But if it was then we skip sending the Set-Interface request, and we clear out the host-side endpoint state by calling usb_disable_interface() followed by usb_enable_interface(). The patch also adds a couple of new comments to explain what's going on. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 77aa2b5878f48d6ab6e0c412cc9214c845483475 Author: Greg Kroah-Hartman Date: Wed Mar 4 16:23:31 2009 -0800 USB: remove phidget drivers from kernel tree. These devices are better controlled with the LGPL userspace library found at: http://www.phidgets.com/downloads.php?os_id=3 and full documentation at: http://www.phidgets.com/documentation/web/cdoc/index.html Cc: Chester Fitchett Acked-by: Sean Young Signed-off-by: Greg Kroah-Hartman commit 8c209e6782ca0e3046803fc04a5ac01c8c10437a Author: Greg Kroah-Hartman Date: Fri Mar 6 21:31:03 2009 -0800 USB: make actual_length in struct urb field u32 actual_length should also be a u32 and not a signed value. This patch changes this field to be 'u32' to prevent any potential negative conversion and comparison errors. This triggered a few compiler warning messages when these fields were being used with the min macro, so they have also been fixed up in this patch. Cc: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 16e2e5f634f86ccda18366967c4e592eb61bc9cc Author: Greg Kroah-Hartman Date: Tue Mar 3 16:44:13 2009 -0800 USB: make transfer_buffer_lengths in struct urb field u32 Roel Kluin pointed out that transfer_buffer_lengths in struct urb was declared as an 'int'. This patch changes this field to be 'u32' to prevent any potential negative conversion and comparison errors. This triggered a few compiler warning messages when these fields were being used with the min macro, so they have also been fixed up in this patch. Cc: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 7ea0a2bcfe40b1c525e63e931b7142ab22b64269 Author: Alan Stern Date: Thu Mar 5 11:01:11 2009 -0500 USB: uhci: don't use pseudo negative values The code in uhci-q.c doesn't have to use pseudo-negative values. I did it that way because it was easy and because it would give the expected output during debugging. But it doesn't have to work that way. Here's another approach. Signed-off-by: Alan Stern Cc: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 66760169492445395c530c812443f58e2cfdb3dc Author: Jouni Hogander Date: Fri Feb 20 14:02:31 2009 +0200 USB: TWL: disable VUSB regulators when cable unplugged This patch disables USB regulators VUSB1V5, VUSB1V8, and VUSB3V1 when the USB cable is unplugged to reduce power consumption. Added a depencency from twl4030 usb driver to TWL_REGULATOR. Signed-off-by: Jouni Hogander Signed-off-by: Kalle Jokiniemi Signed-off-by: Greg Kroah-Hartman commit 471c604daf73ff549d374ee54f9e6bfd5a54d4e8 Author: Pete Zaitcev Date: Thu Feb 19 22:54:45 2009 -0700 USB: usbmon: Add binary API v1 This patch adds an extension to the binary API so it reaches parity with existing text API (so-called "1u"). The extension delivers additional data, such as ISO descriptors and the interrupt interval. Signed-Off-By: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 1ded7ea47b8829a06068c3bb5e3ebe471076617a Author: Ming Lei Date: Fri Feb 20 21:23:09 2009 +0800 USB: ch341 serial: fix port number changed after resume This patch fixes the following bug: .plug ch341 usb serial port into a hub port; .ch341 driver bound to the device and /dev/ttyUSB0 comes .open /dev/ttyUSB0 by minicom and we can use the serial successfully .suspend the ch341 usb serial device(such as: echo suspend > power/level) .resume the ch341 usb serial device (such as: echo on > power/level) .new port /dev/ttyUSB1 comes ,and the original /dev/ttyUSB0 still exists, but is no longer usable by minicom The patch adds suspend and resume callback to ch341 usb driver to prevent it from unbinding during suspend. The /dev/ttyUSB0 is not released until being closed, so /dev/ttyUSB1 comes after resume, and the original /dev/ttyUSB0 is no longer usable by minicom. It is really a mess for a minicom user. This patch also adds the reset_resume callback to make it usable after resuming from STR or hibernation, for generally STR or hibernation will make the vbus of root-hub lost. Finally enable the driver's supports_autosuspend, for the device is in working order with it. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit a227fd7db74fa05d866790a4b29ba049bb5035cc Author: David Brownell Date: Tue Feb 24 15:31:54 2009 -0800 USB: musb: partial DaVinci dm355 support Partial support for DaVinci DM355, on the EVM board; peripheral mode should work, once mainline merges DM355 support. Missing: (a) renumbering the GPIO for DRVVBUS on the DM6446 EVM, when DAVINCI_N_GPIO increases; (b) disabling DM355_DEEPSLEEP.DRVVBUS_OVERRIDE so VBUS is driven according to the ID signal, if cpu_is_..._dm355() The new PHY control bits are ignored on DM6446. Signed-off-by: David Brownell Cc: Kevin Hilman Signed-off-by: Greg Kroah-Hartman commit 743821717c611913a5a3f95010b141f0b4cb5463 Author: Ajay Kumar Gupta Date: Tue Feb 24 15:29:04 2009 -0800 USB: musb: only turn off vbus in OTG hosts Except on DaVinci, VBUS is now switched off as part of idling the USB link (after a_wait_bcon) whenever a device is disconnected from host. This is correct for OTG hosts, where either SRP or an ID interrupt could turn VBUS on again. However, for non-OTG hosts there's no way to turn VBUS on again, so the host becomes unusable. And the procfs entry which once allowed a manual workaround for this is now gone. This patch adds an is_otg_enabled() check before scheduling the switch-off timer in disconnect path, supporting a "classic host" mode where SRP is unavailable. [ dbrownell@users.sourceforge.net: tweak patch description ] Signed-off-by: Ajay Kumar Gupta Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 322337168f22e8245aae7f38e84c5711cd4c1265 Author: Giuseppe GORGOGLIONE Date: Tue Feb 24 15:27:34 2009 -0800 USB: musb: fix init oops crash with static FIFO config Correct musb_read_fifosize() and musb_configure_ep0() functions for the #ifndef BLACKFIN branch when the silicon uses static FIFO configuration. (Most current silicon configures this controller to use dynamic FIFO configuration; some parts from ST don't, like the STM STA2062.) Signed-off-by: Giuseppe GORGOGLIONE Signed-off-by: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1e0320f0d46022d12ddc84516cbdb8865e8cd744 Author: Ajay Kumar Gupta Date: Tue Feb 24 15:26:13 2009 -0800 USB: musb: NAK timeout scheme on bulk RX endpoint Fixes endpoint starvation issue when more than one bulk QH is multiplexed on the reserved bulk RX endpoint, which is normal for cases like serial and ethernet adapters. This patch sets the NAK timeout interval for such QHs, and when a timeout triggers the next QH will be scheduled. (This resembles the bulk scheduling done in hardware by EHCI, OHCI, and UHCI.) This scheme doesn't work for devices which are connected to a high to full speed tree (transaction translator) as there is no NAK timeout interrupt from the musb controller from such devices. Tested with PIO, Inventra DMA, CPPI DMA. [ dbrownell@users.sourceforge.net: fold in start_urb() update; clarify only for bulk RX; don't accidentally clear WZC bits ] Signed-off-by: Ajay Kumar Gupta Cc: Felipe Balbi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5d67a851bca63d30cde0474bfc4fc4f03db1a1b8 Author: Sergei Shtylyov Date: Tue Feb 24 15:23:34 2009 -0800 USB: musb: rewrite host periodic endpoint allocation The current MUSB host code doesn't make use of all the available FIFOs in for periodic transfers since it wrongly assumes the RX and TX sides of any given hw_ep always share one FIFO. Change: use 'in_qh' and 'out_qh' fields of the 'struct musb_hw_ep' to check the endpoint's business; get rid of the now-unused 'periodic' array in the 'struct musb'. Also optimize a loop induction variable in the endpoint lookup code. (Based on a previous patch from Ajay Kumar Gupta ) [ dbrownell@users.sourceforge.net: clarify description and origin of this fix; whitespace ] Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit b2bdf3a789162aa6ff9c6f139bee9cc7954bc5b4 Author: Felipe Balbi Date: Thu Feb 12 15:09:47 2009 +0200 USB: composite: avoid inconsistent lock state Avoid the following INFO from lock debugging: [ 369.126112] ================================= [ 369.132063] [ INFO: inconsistent lock state ] [ 369.136457] 2.6.28-maemo1 #1 [ 369.139387] --------------------------------- [ 369.143782] inconsistent {hardirq-on-W} -> {in-hardirq-W} usage. [ 369.149855] swapper/0 [HC1[1]:SC0[0]:HE0:SE1] takes: [ 369.154890] (&cdev->lock){+-..}, at: [] composite_disconnect+0x1c/0] [ 369.163404] {hardirq-on-W} state was registered at: [ 369.168348] [] __lock_acquire+0x5d0/0x7d8 [ 369.173506] [] lock_acquire+0x64/0x78 [ 369.178266] [] _spin_lock+0x4c/0x80 [ 369.182905] [] usb_function_deactivate+0x20/0x70 [g_nokia] [ 369.189527] [] 0xbf1a0a88 [ 369.193281] [] 0xbf19f450 [ 369.197004] [] 0xbf19fa3c [ 369.200758] [] 0xbf1a03a0 [ 369.204481] [] 0xbf19f254 [ 369.208204] [] 0xbf1a0158 [ 369.211927] [] 0xbf1a130c [ 369.215650] [] usb_gadget_register_driver+0x12c/0x28c [ 369.221846] [] 0xbf1a06bc [ 369.225569] [] 0xbf1a06e8 [ 369.229322] [] __exception_text_end+0x64/0x19c [ 369.234877] [] sys_init_module+0x9c/0x194 [ 369.240004] [] ret_fast_syscall+0x0/0x2c [ 369.245039] [] 0xffffffff [ 369.248793] irq event stamp: 218356 [ 369.252302] hardirqs last enabled at (218355): [] omap3_enter_idle+8 [ 369.260420] hardirqs last disabled at (218356): [] __irq_svc+0x34/0x0 [ 369.267927] softirqs last enabled at (218348): [] __do_softirq+0x134 [ 369.275892] softirqs last disabled at (218335): [] irq_exit+0x60/0xb0 [ 369.283308] [ 369.283308] other info that might help us debug this: [ 369.289930] no locks held by swapper/0. Cc: David Brownell Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 6da9c99059bf24fb1faae6b9613bae64ea50c05e Author: David Vrabel Date: Wed Feb 18 14:43:47 2009 +0000 USB: allow libusb to talk to unauthenticated WUSB devices To permit a userspace application to associate with WUSB devices using numeric association, control transfers to unauthenticated WUSB devices must be allowed. This requires that wusbcore correctly sets the device state to UNAUTHENTICATED, DEFAULT and ADDRESS and that control transfers can be performed to UNAUTHENTICATED devices. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 4246b06a33ebdd6593dccaab3aa01eb0c9f8c1c8 Author: Maciej Grela Date: Sat Feb 28 12:39:20 2009 -0800 USB: usb-storage: added missing MODULE_LICENSE("GPL") for usb-storage ums-* modules The lack of a MODULE_LICENSE macro in ums-* subdrivers prevented them from loading. Needs to be applied after Alan Stern's usb-storage subdriver separation patchset. Also added missing MODULE_DESCRIPTION and MODULE_AUTHOR entries. Signed-off-by: Maciej Grela Acked-by: Alan Stern Acked-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 9cfb95ef72c637bc9b90260e0f98a23f3f49b1bb Author: Alan Stern Date: Thu Feb 12 14:48:33 2009 -0500 usb-storage: make onetouch a separate module This patch (as1217) converts usb-storage's onetouch subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c10337846c93bd914dd3003ffb001adc583b313e Author: Alan Stern Date: Thu Feb 12 14:48:26 2009 -0500 usb-storage: make karma a separate module This patch (as1216) converts usb-storage's karma subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a74bba3bf92cb6425789ae5050bdcca1283bc6f4 Author: Alan Stern Date: Thu Feb 12 14:48:22 2009 -0500 usb-storage: make alauda a separate module This patch (as1215) converts usb-storage's alauda subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a9fb6d05d59c9e118ad8c355adfdf88c970c61bc Author: Alan Stern Date: Thu Feb 12 14:48:19 2009 -0500 usb-storage: make jumpshot a separate module This patch (as1214) converts usb-storage's jumpshot subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 2cbbf3576aa9eae9a92f2669f38a453b6cb8e956 Author: Alan Stern Date: Thu Feb 12 14:48:15 2009 -0500 usb-storage: make datafab a separate module This patch (as1213) converts usb-storage's datafab subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0d62939fab3cf28a23ac6934cec599793d3a1d9d Author: Alan Stern Date: Thu Feb 12 14:48:11 2009 -0500 usb-storage: make freecom a separate module This patch (as1212) converts usb-storage's freecom subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 26d6818f19d0ab018f28a20d699511c1efdf508b Author: Alan Stern Date: Thu Feb 12 14:48:08 2009 -0500 usb-storage: make shuttle_usbat a separate module This patch (as1211) converts usb-storage's shuttle_usbat subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fcdb51401f7f695b7fb782721b2e33372c5a06ce Author: Alan Stern Date: Thu Feb 12 14:48:04 2009 -0500 usb-storage: make cypress_atacb a separate module This patch (as1210) converts usb-storage's cypress_atacb subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 70fcc0050733a7cd1b452cfa3de3a9b376412565 Author: Alan Stern Date: Thu Feb 12 14:47:59 2009 -0500 usb-storage: make sddr55 a separate module This patch (as1209) converts usb-storage's sddr55 subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 32d5493eb83a217c3b1eba4b98cd6d19864f71a8 Author: Alan Stern Date: Thu Feb 12 14:47:54 2009 -0500 usb-storage: make isd200 a separate module This patch (as1208) converts usb-storage's isd200 subdriver into a separate module. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0ff71883b2d60136430458413c135d545c69b0c4 Author: Alan Stern Date: Thu Feb 12 14:47:49 2009 -0500 usb-storage: make sddr09 a separate module This patch (as1207) converts usb-storage's sddr09 subdriver into a separate module. An unexpected complication arises because of DPCM devices, in which one LUN uses the sddr09 transport and one uses the standard CB transport. Since these devices can be used even when USB_STORAGE_SDDR09 isn't configured, their entries in unusual_devs.h require special treatment. If SDDR09 isn't configured then the entries remain in unusual_devs.h; if it is then the entries are present in unusual_sddr09.h instead. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e6e244b6cb1f70e7109381626293cd40a8334ed3 Author: Alan Stern Date: Thu Feb 12 14:47:44 2009 -0500 usb-storage: prepare for subdriver separation This patch (as1206) is the first step in converting usb-storage's subdrivers into separate modules. It makes the following large-scale changes: Remove a bunch of unnecessary #ifdef's from usb_usual.h. Not truly necessary, but it does clean things up. Move the USB device-ID table (which is duplicated between libusual and usb-storage) into its own source file, usual-tables.c, and arrange for this to be linked with either libusual or usb-storage according to whether USB_LIBUSUAL is configured. Add to usual-tables.c a new usb_usual_ignore_device() function to detect whether a particular device needs to be managed by a subdriver and not by the standard handlers in usb-storage. Export a whole bunch of functions in usb-storage, renaming some of them because their names don't already begin with "usb_stor_". These functions will be needed by the new subdriver modules. Split usb-storage's probe routine into two functions. The subdrivers will call the probe1 routine, then fill in their transport and protocol settings, and then call the probe2 routine. Take the default cases and error checking out of get_transport() and get_protocol(), which run during probe1, and instead put a check for invalid transport or protocol values into the probe2 function. Add a new probe routine to be used for standard devices, i.e., those that don't need a subdriver. This new routine checks whether the device should be ignored (because it should be handled by ub or by a subdriver), and if not, calls the probe1 and probe2 functions. Signed-off-by: Alan Stern CC: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit e4abe6658aa17a5d7e7321dfda807d287255511b Author: Dave Young Date: Sat Feb 14 21:21:13 2009 +0800 usb-serial: fix usb_serial_register bug when boot with nousb param With "nousb" cmdline booting, built-in serial drivers (ie. airecable) will trigger kernel oops. Indeed, if nousb, usb_serial_init will failed, and the usb serial bus type will not be registerd, then usb_serial_register call driver_register which try to register the driver to a not registered bus. Here add usb_disabled() check in usb_serial_register to fix it. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit d0626808f7a6181c1c750d261da9a7a845c29e13 Author: Randy Dunlap Date: Fri Feb 13 11:22:06 2009 -0800 USB: fix ehci printk formats Fix ehci printk formats: drivers/usb/host/ehci-q.c:351: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' drivers/usb/host/ehci-q.c:351: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 551509d267905705f6d723e51ec706916f06b859 Author: Harvey Harrison Date: Wed Feb 11 14:11:36 2009 -0800 USB: replace uses of __constant_{endian} The base versions handle constant folding now. Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit a78b42824dd7c2b40d72fb01f1b1842f7e845f3a Author: Greg Kroah-Hartman Date: Tue Feb 17 22:39:56 2009 -0800 USB: serial: add qualcomm wireless modem driver Driver originally written by Qualcomm, but rewritten by me due to the totally different coding style. Cleaned up the probe logic to make a bit more sense, this is one wierd device. They could have prevented all of this by just writing sane firmware for the modem. Cc: Tamm Liu Signed-off-by: Greg Kroah-Hartman commit 3d940b7d27c5fec35de66449836ab9a01575447c Author: Greg Kroah-Hartman Date: Fri Mar 20 20:26:30 2009 -0700 USB: symbolserial: log the ioctl commands We need to figure out what userspace programs are expecting from this driver, so log them so we can try to get it right. Signed-off-by: Greg Kroah-Hartman commit 68b44eaed5def7b6490c23c3e88c6f2ccec57beb Author: Greg Kroah-Hartman Date: Fri Feb 13 17:25:46 2009 -0800 USB: serial: add symbol serial driver This is for the Symbol 6608 barcode scanner in a fake "HID" mode. Thanks to Dalibor Grgec for working with me to get this to start to work properly. Cc: Dalibor Grgec Signed-off-by: Greg Kroah-Hartman commit f7e7aa5850839faa5eb7c7c177da5fd6bca8949b Author: Catalin Marinas Date: Tue Feb 10 16:55:51 2009 +0000 USB: Add platform device support for the ISP1760 USB chip Currently, the driver only supports PCI and PPC_OF but there are boards like ARM RealView where this is a platform device. The patch adds the necessary functions and registration to the isp1760-if.c file and modifies the corresponding Makefile and Kconfig to be able to use this driver even if PCI and PPC_OF are not enabled. Signed-off-by: Catalin Marinas Cc: Sebastian Siewior Cc: Russell King Signed-off-by: Greg Kroah-Hartman commit f9031f2c4237abfe75d9ad33f5c0f0dde96f7d09 Author: Catalin Marinas Date: Tue Feb 10 16:55:45 2009 +0000 USB: Make the isp1760_register function prototype more generic The patch changes the prototype of the isp1760_register() function to use predefined types like phys_addr_t and resource_size_t rather than u64 Signed-off-by: Catalin Marinas Cc: Sebastian Siewior Cc: Russell King Signed-off-by: Greg Kroah-Hartman commit a2c2706e1043c17139c2dafd171c4a5cf008ef7e Author: Alan Stern Date: Tue Feb 10 10:16:58 2009 -0500 USB: EHCI: add software retry for transaction errors This patch (as1204) adds a software retry mechanism to ehci-hcd. It gets invoked when the driver encounters transaction errors on an asynchronous endpoint. On many systems, hardware deficiencies cause such errors to occur if one device is unplugged while the host is communicating with another device. With the patch, the failed transactions are retried and generally succeed the second or third time through. This is based on code originally written by Koichiro Saito. Signed-off-by: Alan Stern Tested by: Koichiro Saito CC: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1f4159c1620f74377e26d8a569d10ca5907ef475 Author: Boaz Harrosh Date: Wed Feb 11 09:54:31 2009 +0200 USB: fix USB_STORAGE_CYPRESS_ATACB commit 64a87b24: [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer changed the scsi_eh_prep_cmnd logic by making it clear the ->cmnd buffer. But the sat to cypress atacb translation supposed the ->cmnd buffer wasn't modified. This patch makes it set the ->cmnd buffer after scsi_eh_prep_cmnd call. The problem and a fix was reported by Matthieu CASTET It also removes all the hackery fiddling of scsi_cmnd and scsi_eh_save by requesting from scsi_eh_prep_cmnd to prepare a read into ->sense_buffer, which is much more suitable a buffer for HW transfers, then after the command execution the regs read is copied into regs buffer before actual preparation of sense_buffer. Also fix an alien comment character to my utf-8 editor. Signed-off-by: Boaz Harrosh Signed-off-by: Matthieu CASTET Cc: stable Cc: James Bottomley Cc: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit bc29847e16cb6b571157220ec9b20a7d86e58046 Author: Alan Stern Date: Wed Feb 11 14:26:38 2009 -0500 USB: EHCI: Make timer_action out-of-line This patch (as1205) moves timer_action() from ehci.h to ehci-hcd.c and makes it out-of-line. Over the years it has grown too big to be inline any more. Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b967c88ed1b48bc353ea83e0cacb2249a3bb1a51 Author: Thierry Vignaud Date: Wed Feb 11 13:31:05 2009 -0800 usb: kill prehistorical comments about USB_EHCI_HCD Remove old comments about USB_EHCI_HCD. Cc: Alan Stern Signed-off-by: Andrew Morton Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 331879fd6f584d60327ba802616d41bfa636b873 Author: James Woodcock Date: Wed Feb 11 15:06:53 2009 +0000 USB: serial: refuse to open recently removed USB Serial devices A USB-serial converter device is plugged into a system, and a process opens it's device node. If the device is physically removed whilst the process still has its device node open, then other processes can sucessfully open the now non-existent device's node. I would expect that open() on a device that has been physically removed should return ENODEV. This is manifesting itself with getty on my system. I do the following: 1. set up inittab to spawn getty on ttyUSB0, eg: T1:23:respawn:/sbin/getty -L ttyUSB0 115200 vt100 2. Plug in USB-serial converter cable 3. Wait for a login prompt on a terminal program attached to the serial cable 4. Login 5. Pull the USB-serial converter cable from the box 6. getty doesn't realise that ttyUSB0 no longer exists as /dev/ttyUSB0 can still be opened. 7. Re-insert the USB-serial converter cable 8. You should no longer get a login prompt over the serial cable, as the the USB-serial cable now shows up as /dev/ttyUSB1, and getty is trying to talk to /dev/ttyUSB0. The attached patch will cause open("/dev/ttyUSB0", O_RDONLY) to return ENODEV after the USB-serial converter has been pulled. The patch was created against 2.6.28.1. I can supply it against something else if needs be. It is fairly simple, so should be OK. I am using a pl2303 device, although I don't think that makes any difference. From: James Woodcock Signed-off-by: Greg Kroah-Hartman commit 1c27ae671e6b465e04544450276c88f4dba8de60 Author: Oliver Neukum Date: Mon Feb 9 10:03:49 2009 +0100 USB: serial: remove recourse to generic method This removes the fallback to the generic method. It is cleaner to explicitely request it. Introducing this was my mistake. This will be solved by an explicit test and the driver being allowed to request what it needs to be done upon resumption. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a5f5ea230d70f5dde4d787208855fa3c3cd7b31e Author: Matt Kraai Date: Fri Feb 6 19:38:51 2009 -0800 USB: skeleton: Use dev_info instead of info 338b67b0c1a97ca705023a8189cf41aa0828d294 removed the info macro and replaced its uses with dev_info. This patch does so for usb-skeleton.c, which was missed. Signed-off-by: Matt Kraai Signed-off-by: Greg Kroah-Hartman commit 0eb526b96ced3759e7d4445fc55204f314e33d8c Author: Borislav Petkov Date: Sat Feb 7 20:20:42 2009 +0100 usb_storage: make Kconfig note visible in the console Make lines about usb_storage depending on SCSI visible when configuring the kernel in a 80x25 console Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman commit faac64ad9c7b1aa56a10be6b5f9b813789e81dfd Author: Greg Kroah-Hartman Date: Fri Feb 6 18:31:46 2009 -0800 USB: serial: opticon: add serial line ioctls This lets userspace determine what the state of the RTS line is, which is what is needed to properly handle data flow for this device (it raises RTS when there is data to be sent from it.) Cc: Kees Stoop Signed-off-by: Greg Kroah-Hartman commit 648d4e16567eae4c643bd2125e91128f06c0d3ad Author: Greg Kroah-Hartman Date: Fri Feb 6 18:30:56 2009 -0800 USB: serial: opticon: add write support This patch allows data to be sent to the scanner. Cc: Kees Stoop Signed-off-by: Greg Kroah-Hartman commit f6d92a05c86754d62eabc84856d2035d0de3ddc3 Author: Ajay Kumar Gupta Date: Fri Feb 6 17:32:35 2009 +0530 USB: otg: adding nop usb transceiver NOP transceiver is used by all the usb transceiver which are mostly autonomous and doesn't require any programming or which are built into the usb ip itself.NOP transceiver only allocates the memory for struct xceiv and calls otg_set_transceiver() so function call to otg_get_transceiver() will return a valid transceiver. NOP transceiver device should be registered by calling usb_nop_xceiv_register() from platform files. Signed-off-by: Ajay Kumar Gupta Cc: Felipe Balbi Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5d1ca6cf7f80644b07c348d6be870ccd8e3a92ed Author: David Brownell Date: Fri Feb 6 02:39:11 2009 -0800 USB: ftdi_sio: remove pointless syslog spew Remove some pointless messages from the FTDI serial driver; I found these filling up syslog on one system. Also remove a pointless "break" after a "return" in the same area. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6f8aa65b52037123beab573432e371c0f70b7b9a Author: Frank Seidel Date: Thu Feb 5 16:16:24 2009 +0100 USB: add missing KERN_* constants to printks According to kerneljanitors todo list all printk calls (beginning a new line) should have an according KERN_* constant. Those are the missing peaces here for the usb subsystem. Signed-off-by: Frank Seidel Signed-off-by: Greg Kroah-Hartman commit c49cfa9170256295f4a0fd1668a2411fc05d6b33 Author: Oliver Neukum Date: Fri Feb 6 18:06:43 2009 +0100 USB: serial: use generic method if no alternative is provided in usb serial layer This patch makes use of the generic method if a serial driver provides no implementation. This simplifies implementing suspend/resume support in serial drivers. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 81d043c2f30b157b96cb8ef2b570d12c112e395d Author: Oliver Neukum Date: Fri Feb 6 15:37:14 2009 +0100 USB: serial: export symbol of usb_serial_generic_resume This exports a symbol for usb_serial_generic_resume, so that modules can use it. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit d55c0ae6b243bb8e247259089b3a2e47ebfabdf6 Author: Oliver Neukum Date: Fri Feb 6 15:01:54 2009 +0100 USB: serial generic resume function fix This removes an unnecessary check for autoresume from the generic resume method. The check has been obsoleted by the now delayed increase of the usage counter which makes the error this check prevented impossible. This change allows drivers which only use the bulk read URB the use of the generic method even if they support autosuspend. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit f8bece8d91f9ed9cff3c98920802f1b3046b7560 Author: Oliver Neukum Date: Thu Feb 5 16:54:25 2009 +0100 USB: serial: introduce a flag into the usb serial layer to tell drivers that their URBs are killed due to suspension This patch introduces a flag into the usb serial layer to tell drivers that their URBs are killed due to suspension. That is necessary to let drivers know whether they should report an error back. Signed-off-by: Oliver Neukum Hi Greg, this is for 2.6.30. Patches to use this in drivers are under development. Regards Oliver commit 6e14bda1b18b2e3c16258427fc43ceb43e1bc1d5 Author: Roel Kluin Date: Sat Jan 31 12:37:04 2009 +0100 USB: count reaches -1, tested 0 With a postfix decrement count will reach -1 rather than 0, so the warning will not be issued. Signed-off-by: Roel Kluin Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d1c0713daea5d1d881ecc8707458ca6746031376 Author: Oliver Neukum Date: Wed Jan 14 18:34:06 2009 +0100 USB: suspend/resume for opticon driver this does the standard support for suspend/resume for the opticon driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 4901b2c34ecb6fc45909228ad269c8126efe4401 Author: Oliver Neukum Date: Tue Jan 27 17:21:40 2009 +0100 USB: suspend/resume support for option driver This patch implements suspend and resume methods for the option driver. With my hardware I can even suspend the system and keep up a connection for a short time. Signed-off-by: Oliver Neukum Signed-Off-By: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit b633d28e2c5fbe1c8d163892644f57df04aa1421 Author: Darius Augulis Date: Wed Jan 21 15:19:19 2009 +0200 USB: imx_udc: Fix IMX UDC gadget general irq handling Workaround of hw bug in IMX UDC. This bug causes wrong handling of CFG_CHG interrupt. Workaround is documented inline source code. Signed-off-by: Darius Augulis Signed-off-by: Greg Kroah-Hartman commit d24921a36df31332c32e1bb539671284d9e36bfa Author: Darius Augulis Date: Wed Jan 21 15:18:33 2009 +0200 USB: imx_udc: Fix IMX UDC gadget ep0 irq handling Fix ep0 interrupt handling in IMX UDC Gadget. Signed-off-by: Darius Augulis Signed-off-by: Greg Kroah-Hartman commit 593bef6c75e11d2edb5396bd9775cf49a4cda659 Author: Darius Augulis Date: Wed Jan 21 15:17:55 2009 +0200 USB: imx_udc: Fix IMX UDC gadget code style Fix code style errors in IMX UDC Gadget. Signed-off-by: Darius Augulis Signed-off-by: Greg Kroah-Hartman commit 8f182e5ddc84a30d7014a753ae359d85b1238e7f Author: Darius Augulis Date: Wed Jan 21 15:17:25 2009 +0200 USB: imx_udc: Fix IMX UDC gadget bugs Fix small bugs and add some omptimization in IMX UDC Gadget. Signed-off-by: Darius Augulis Signed-off-by: Greg Kroah-Hartman commit 664d5df92e88b6ef091048a802b3750f4e989180 Author: Werner Cornelius Date: Fri Jan 16 21:02:41 2009 +0100 USB: usb-serial ch341: support for DTR/RTS/CTS Fixup of Werner Cornelius patch to the ch341 USB-serial driver, which adds: - support all baudrates, not just a hard-coded set - support for controlling DTR, RTS and CTS Features still missing: - character length other than 8 bits - parity settings - break control I adapted his patch for the new usb_serial API introduced in 2.6.25-git8 by Alan Cox on 22 July 2008. Non-compliance to the new API was a reason for refusing a similar patch from Tollef Fog Heen. Usage example by Tollef Fog Heen : TEMPer USB thermometer Signed-off-by: Werner Cornelius Signed-off-by: Boris Hajduk Signed-off-by: Greg Kroah-Hartman commit bcbbbfc169e837f0bf54dd4a6ef0a6494fb14925 Author: Huang Weiyi Date: Sun Jan 11 17:25:13 2009 +0800 USB: gadget: remove duplicated #include Removed duplicated #include in drivers/usb/gadget/ci13xxx_udc.c Signed-off-by: Huang Weiyi Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2e0fe709687470637a0709b930ccc9e993d2dad5 Author: Julia Lawall Date: Mon Dec 29 11:22:14 2008 +0100 USB: drivers: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 00185a60c37549531b9eee562d3eba19020875d5 Author: Julia Lawall Date: Sun Dec 21 16:41:36 2008 +0100 USB: Remove redundant test in pxa27x_udc and ftdi_sio priv is checked not to be NULL near the beginning of the function and not changed subsequently, making the test redundant. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x@p1 == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( x@p2 == NULL | x@p2 != NULL ) // another path to the test that is not through p1? @s exists@ local idexpression r.x; position r.p1,r.p2; @@ ... when != x@p1 ( x@p2 == NULL | x@p2 != NULL ) @fix depends on !s@ position r.p1,r.p2; expression x,E; statement S1,S2; @@ ( - if ((x@p2 != NULL) || ...) S1 | - if ((x@p2 == NULL) && ...) S1 | - BUG_ON(x@p2 == NULL); ) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit db5e6df172309c382982790aafa8cd87dc0b6292 Author: Julia Lawall Date: Mon Dec 29 11:19:10 2008 +0100 USB: ub: use USB API functions rather than constants This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include @depends on !inc && (r1||r5)@ @@ + #include #include // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 4d6914b72966862f37de634299a80ca2a4b1829f Author: Julia Lawall Date: Mon Dec 29 22:48:19 2008 +0100 USB: Move definitions from usb.h to usb/ch9.h The functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_is_isoc_in(epd) usb_endpoint_is_isoc_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) are moved from include/linux/usb.h to include/linux/usb/ch9.h. include/linux/usb/ch9.h makes more sense for these functions because they only depend on constants that are defined in this file. Signed-off-by: Julia Lawall Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ee069fb1185895e725ad942c7a529f947e25166d Author: Robert Jarzmik Date: Sat Jan 24 23:59:38 2009 -0800 USB: pxa27x_udc: add vbus_draw callback Add the vbus_draw() callback to inform the transceiver, if it exists, how much current may be drawn. The decision is taken on gadget driver side using the configuration chosen by the host and its bMaxPower field. Some systems can use the host's VBUS supply to augment or recharge a battery. (There's also a default of 100 mA for unconfigured devices, or 8 mA if they're OTG devices.) Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7fec3c25b773883bd50c4078bcccdd23d3dadeac Author: Robert Jarzmik Date: Sat Jan 24 23:57:30 2009 -0800 USB: pxa27x_udc: add otg transceiver support When a transceiver driver is used, no automatic udc enable is done. The transceiver (OTG or not) should : - take care of VBus sensing - call usb_gadget_vbus_connect() - call usb_gadget_vbus_disconnect() The pullup should remain within this driver's management, either by gpio_pullup of udc_command() fields. Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b799a7eb68082af620b7e37b6f41c98802e831f6 Author: Robert Jarzmik Date: Sat Jan 24 23:56:42 2009 -0800 USB: pxa27x_udc: add vbus session handling On vbus_session() call, optionally activate D+ pullup resistor and enable the udc, or deactivate D+ pullup resistor and disable the udc. It is intentional to not handle any VBus sense related irq. An external transceiver driver (like gpio_vbus) should catch VBus sense signal, and call usb_gadget_vbus_connect() or usb_gadget_vbus_disconnect(). Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit eb50702539f9be3765127d927d3e9ccfeb65f26e Author: Robert Jarzmik Date: Sat Jan 24 23:55:34 2009 -0800 USB: pxa27x_udc: factor pullup code to prepare otg transceiver Prepare pxa27x_udc to handle usb D+ pullup properly : it should connect the pullup resistor and disconnect it only if no external transceiver is handling it. [ dbrownell@users.sourceforge.net: kerneldoc and gpio fixes ] Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c2344f13b59e007d782a3e591ebc551bc583a8b7 Author: Robert Jarzmik Date: Sat Jan 24 23:54:31 2009 -0800 USB: gpio_vbus: add delayed vbus_session calls Call usb_gadget_vbus_connect() and ...disconnect() from a workqueue rather than from an irq handler, allowing msleep() calls in vbus_session. Update kerneldoc to match. [ dbrownell@users.sourceforge.net: more kerneldoc updates ] Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dd44be6b17ac52238aa6c7f46b906d9fb76e7052 Author: Pete Zaitcev Date: Tue Jan 6 17:20:42 2009 -0700 usblp: continuously poll for status The usblp in 2.6.18 polled for status regardless if we actually needed it. At some point I dropped it, to save the batteries if nothing else. As it turned out, printers exist (e.g. Canon BJC-3000) that need prodding this way or else they stop. This patch restores the old behaviour. If you want to save battery, don't leave jobs in the print queue. I tested this on my printers by printing and examining usbmon traces to make sure status is being requested and printers continue to print. Tuomas Jäntti verified the fix on BJC-3000. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 5c16034d73da2c1b663aa25dedadbc533b3d811c Author: Alan Stern Date: Mon Mar 23 09:51:02 2009 -0400 USB: usb-storage: increase max_sectors for tape drives This patch (as1203) increases the max_sector limit for USB tape drives. By default usb-storage sets max_sectors to 240 (i.e., 120 KB) for all devices. But tape drives need a higher limit, since tapes can and do have very large block sizes. Without the ability to transfer an entire large block in a single command, such tapes can't be used. This fixes Bugzilla #12207. Signed-off-by: Alan Stern Reported-and-tested-by: Phil Mitchell Cc: stable Signed-off-by: Greg Kroah-Hartman commit 090b90118207e786d2990310d063fda5d52cce6e Author: David Brownell Date: Fri Mar 20 01:08:20 2009 -0700 USB: gadget: fix rndis regression Restore some code that was wrongly dropped from the RNDIS driver, and caused interop problems observed with OpenMoko. The issue is with hardware which needs help conforming to part of the USB 2.0 spec (section 8.5.3.2); some can automagically send a ZLP in response to an unexpected IN, but not all chips will do that. We don't need to check the packet length ourselves the way earlier code did, since the UDC must already check it. But we do need to tell the UDC when it must force a short packet termination of the data stage. (Based on a patch from Aric D. Blumer ) Signed-off-by: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1662e3a7f076e51e3073faf9ce77157b529c475b Author: Alan Stern Date: Wed Mar 18 14:28:53 2009 -0400 USB: add quirk to avoid config and interface strings Apparently the Configuration and Interface strings aren't used as often as the Vendor, Product, and Serial strings. In at least one device (a Saitek Cyborg Gold 3D joystick), attempts to read the Configuration string cause the device to stop responding to Control requests. This patch (as1226) adds a quirks flag, telling the kernel not to read a device's Configuration or Interface strings, together with a new quirk for the offending joystick. Reported-by: Melchior FRANZ Tested-by: Melchior FRANZ Signed-off-by: Alan Stern Cc: stable [2.6.28 and 2.6.29, nothing earlier] Signed-off-by: Greg Kroah-Hartman commit 803c78e4da28d7d7cb0642caf643b9289ae7838a Author: Alan Cox Date: Mon Mar 23 10:43:54 2009 +0000 [ARM] twl4030 - leak fix Trivial error path leak fix. Problem found by Daniel Marjamäki using cppcheck Signed-off-by: Alan Cox Acked-by: Tony Lindgren Signed-off-by: Russell King commit b23c7a427e4b3764ad686a46de89ab652811c50a Author: Alan Cox Date: Mon Mar 23 10:44:07 2009 +0000 [ARM] fix leak in iop13xx/pci Another leak found by Daniel Marjamäki Signed-off-by: Alan Cox Signed-off-by: Russell King commit ecbf61e7357d5c7047c813edd6983902d158688c Author: Alan Cox Date: Mon Mar 23 10:37:57 2009 +0000 [ARM] cumana: Fix a long standing bogon Should be using strncmp as the data from user space may be unterminated (Bug #8004) Signed-off-by: Alan Cox commit fbf2b1f9cfdb4e4b5d042839142ed19ff5d46679 Merge: 9a38e98... 053a96c... Author: Russell King Date: Tue Mar 24 22:47:45 2009 +0000 Merge branch 'highmem' into devel commit b9d2fceecb6afd9dead4fd2488a543b302a3272e Author: Andrew H. Richter Date: Tue Mar 24 03:27:51 2009 +0000 claw: fix minor findings from code analysis tool This patch fixes two problems in the claw driver identified by static code analysis: o Change in case differentiation of received sense codes o Use correct data length in claw hard_start_xmit routine Signed-off-by: Andrew H. Richter Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit e2fc8cb4fedf57a63c05cd1e0f6e4f0e0238614a Author: Joel A. Fowler Date: Tue Mar 24 03:27:49 2009 +0000 ctcm: fix minor findings from code analysis tool From: Ursula Braun This patch fixes problems in the ctcm driver identified by static code analysis: o remove an unnecessary always true condition in ctcm_unpack_skb o remove duplicate assignment in ctc_mpc_alloc_channel o remove an unnecessary always true condition in ctcmpc_send_sweep_resp o remove duplicate initialization in ctcmpc_unpack_skb o shorten if condition in mpc_action_go_inop o remove INOP event if mpc group is undefined in mpc_action_doxid7 Signed-off-by: Joel A. Fowler Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit fb8585fc3f9b39153e0bdaf03f00a02dde9c03c6 Author: Roel Kluin Date: Tue Mar 24 03:27:48 2009 +0000 ctcm: avoid wraparound in length of incoming data Since the receive code should tolerate any incoming garbage, it should be protected against a potential wraparound when manipulating length values within incoming data. block_len is unsigned, so a too large subtraction will cause a wraparound. Signed-off-by: Roel Kluin Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 3a05d1404d91efd63f0654a4bf59b8803c32efdd Author: Ursula Braun Date: Tue Mar 24 03:27:47 2009 +0000 ctcm: invalid return code from hard_start_xmit Avoid kernel warning by using the correct hard_start_xmit return code NETDEV_TX_BUSY for skb requeuing. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 8f0c40d4b6a6207ef2105d94544a9d1c0835c4ab Author: Ursula Braun Date: Tue Mar 24 03:27:46 2009 +0000 claw: invalid return codes from hard_start_xmit Avoid kernel warnings by using the correct hard_start_xmit return code NETDEV_TX_BUSY for skb requeuing. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 4e584d66ea60cf3d921aea78372f4e4d48a9155d Author: Ursula Braun Date: Tue Mar 24 03:27:45 2009 +0000 netiucv: invalid return code from hard_start_xmit Avoid kernel warning by using the correct hard_start_xmit return code NETDEV_TX_BUSY for skb requeuing. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 9e669d327a873bbab51e7e95ee9f9c3c49755594 Author: Klaus-Dieter Wacker Date: Tue Mar 24 03:27:44 2009 +0000 lcs: invalid return codes from hard_start_xmit. Lcs hard_start_xmit routine issued return codes other than defined for this interface. Now lcs returns only either NETDEV_TX_OK or NETDEV_TX_BUSY. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit e5b5719b06d3c614e904bc817177bd3c49c52edb Author: Klaus-Dieter Wacker Date: Tue Mar 24 03:27:43 2009 +0000 Use kthread instead of kernel_thread Lcs uses low-level kernel_thread implementation. All drivers should use API instead. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 2ebe1d9efed5f232afc8d00901d0959c9814bce3 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:59 2009 +0100 ide: use try_to_identify() in ide_driveid_update() * Pass pointer to buffer for IDENTIFY data to do_identify() and try_to_identify(). * Un-static try_to_identify() and use it in ide_driveid_update(). * Rename try_to_identify() to ide_dev_read_id(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ff18b89bef76d291db594af3e27b6c91e6600b57 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:58 2009 +0100 ide: clear drive IRQ after re-enabling local IRQs in ide_driveid_update() Clear drive IRQ after re-enabling local IRQs in ide_driveid_update() to match try_to_identify(). Also remove superfluous local_irq_enable() call while at it. Signed-off-by: Bartlomiej Zolnierkiewicz commit f323b80dceaca858f8e240ca098681fcfe7fd3c4 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:58 2009 +0100 ide: sanitize SELECT_MASK() usage in ide_driveid_update() Call SELECT_MASK() after ide_fix_driveid(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 1bd4c1f4fe6607a0253d1318847b618a2a598612 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:58 2009 +0100 ide: classify device type in do_probe() Defer classifying device type from do_identify() to do_probe(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 552d3a99bdce8a0d7f9abe3766fb3655ef5757dc Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:58 2009 +0100 ide: remove broken EXABYTENEST support do_identify() marks EXABYTENEST device as non-present and frees drive->id so enable_nest() has absolutely no chance of working. The code was like this since at least 2.6.12-rc2 and nobody has noticed so just remove broken EXABYTENEST support. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4cda15a0995f2da5727514f84ec26d8b7420e1f9 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:57 2009 +0100 ide: shorten timeout value in ide_driveid_update() Shorten timeout value in ide_driveid_update() (30s -> 15s) to match try_to_identify(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 62bd0441a60b0499db339b3dc1be039f8ed9fd35 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:55 2009 +0100 ide: propagate AltStatus workarounds to ide_driveid_update() Propagate AltStatus workarounds from try_to_identify() to ide_driveid_update(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 2f40c9b0b65b5635e2e13dfa068bd56fe7a8ff98 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:54 2009 +0100 ide: fix kmalloc() failure handling in ide_driveid_update() * Doing kmalloc() in the middle of command execution is not only ugly but leaves drive waiting to send data on kmalloc() failure. Fix it. While at it: * Unify error code paths. * Fixup error message to be more useful and add missing KERN_ERR level. * Rename 'stat' variable to 's'. Signed-off-by: Bartlomiej Zolnierkiewicz commit d45b70ab9bbf1a46ae52972d532f9e267b8d39d9 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:54 2009 +0100 mn10300: remove * Remove superfluous include. * Remove no longer used SUPPORT_SLOW_DATA_PORTS define. * Move defining SUPPORT_VLB_SYNC to . * Use __ide_mm_*() macros from (MN10300 uses only memory-mapped I/O). * Remove . While at it: * Remove superfluous SPARC64 #ifdef from . Cc: David Howells Signed-off-by: Bartlomiej Zolnierkiewicz commit 662641d98b4396b48f513726d141c5f646c08259 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:54 2009 +0100 frv: remove * Remove superfluous includes. * Remove . Cc: David Howells Signed-off-by: Bartlomiej Zolnierkiewicz commit 86ccf37c6acd74cf7e4b7751ee045de19943c5a0 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:53 2009 +0100 ide: remove pciirq argument from ide_pci_setup_ports() * Set ->irq explicitly in cs5520.c. * Remove irq argument from ide_hw_configure(). * Remove pciirq argument from ide_pci_setup_ports(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2ed0ef543ae3f3ea4f8bd0433fb1fed22625a309 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:53 2009 +0100 ide: fix ->init_chipset method to return 'int' value * Return 0 instead of dev->irq in ->init_chipset implementations. * Fix ->init_chipset method to return 'int' value instead of 'unsigned int' one. This fixes ->init_chipset handling for host drivers (cs5530, hpt366 and pdc202xx_new) for which it is possible for this method to fail. Signed-off-by: Bartlomiej Zolnierkiewicz commit a182807a89946bd531122bb2da60fa9ceee90343 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:53 2009 +0100 ide: remove try_to_identify() wrapper There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f77e03c68f11f54509cd660ddb5a0badfdfc61cb Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:53 2009 +0100 ide: remove no longer needed IRQ auto-probing from try_to_identify() (v2) v2: Update actual_try_to_identify() documentation. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8b07ed26f8eb73d4f55a9d852712cd588c45ff51 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:52 2009 +0100 ide: remove no longer needed IRQ fallback code from hwif_init() Then remove no longer used __ide_default_irq(). Signed-off-by: Bartlomiej Zolnierkiewicz commit bd0c08470fcded75d3904734ee22ae5b363737db Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:52 2009 +0100 amd74xx: remove no longer needed ->init_hwif method This is now handled by core IDE PCI code. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2467922a560bb7e6eb4635435760ad0a2197ffcc Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:52 2009 +0100 ide: remove no longer needed IDE_HFLAG[_FORCE]_LEGACY_IRQS There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f65dedfd7b75f19bde42bafbe84fddce18c42499 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:51 2009 +0100 ide: use ide_pci_is_in_compatibility_mode() in ide_pci_init_{one,two}() Signed-off-by: Bartlomiej Zolnierkiewicz commit 5bae8bf4508004d46487b3a18769d0ccff01c532 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:49 2009 +0100 ide: use pci_get_legacy_ide_irq() in ide_pci_init_{one,two}() Signed-off-by: Bartlomiej Zolnierkiewicz commit 80d15a607ae95dd0514ab1ab5ea1058a3a585f2b Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:49 2009 +0100 ide: handle IDE_HFLAG[_FORCE]_LEGACY_IRQS in ide_pci_init_{one,two}() Move handling of IDE_HFLAG[_FORCE]_LEGACY_IRQS from ide_init_port() to ide_pci_init_{one,two}(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1b166ae7bb9610cdd3c4c66b960aa04004054e41 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:49 2009 +0100 trm290: small ->init_hwif cleanup Core IDE PCI code takes care of assigning hwif->irq for both ports. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 49727e3d20ba10921572e35bc99b2c2e1b8c1dba Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:49 2009 +0100 ns87415: small ->init_hwif cleanup Core IDE PCI code takes care of assigning hwif->irq for both ports. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 973d9e743979d4d3f06d8071c22187b2bdc0ef24 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:48 2009 +0100 ns87415: use pci_get_legacy_ide_irq() Fix ->init_hwif to use pci_get_legacy_ide_irq() instead of __ide_default_irq(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 213e4b0a3483b8cc99c4578923b9899e84e086e0 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:48 2009 +0100 amd74xx: use ide_pci_is_in_compatibility_mode() Fix ->init_hwif to check if IDE PCI controller is in compatibility mode instead of checking for hwif->irq == 0. Signed-off-by: Bartlomiej Zolnierkiewicz commit b75aa122edd91599e0cf2ae57a5de1e84d9895c2 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:48 2009 +0100 mn10300: add pci_get_legacy_ide_irq() to Add missing pci_get_legacy_ide_irq() implementation before it becomes required by core IDE PCI code. Cc: David Howells Signed-off-by: Bartlomiej Zolnierkiewicz commit 327fa1c29466b8fe471a91fc11e9c6171163c81a Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:47 2009 +0100 ide: move error handling code to ide-eh.c (v2) Do some CodingStyle fixups in while at it. v2: Add missing include (reported by Stephen Rothwell). Signed-off-by: Bartlomiej Zolnierkiewicz commit 122f06f8bce406169d61242a3eb667027e27cca7 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:47 2009 +0100 ide: checkpatch.pl fixes for ide-iops.c Fix following checkpatch.pl warnings/errors: - WARNING: space prohibited between function name and open parenthesis '(' - WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable - WARNING: line over 80 characters - ERROR: trailing whitespace - ERROR: space required before the open parenthesis '(' Signed-off-by: Bartlomiej Zolnierkiewicz commit ee1b1cc974816b59af2ba0be1912e1c2a200ae11 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:47 2009 +0100 ide: fix comments in ide_config_drive_speed() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d7bb471ce0283f586817abea81254b67598aae6 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:47 2009 +0100 ide: fix printk() levels in [atapi_]reset_pollfunc() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1574cf6cb4800525be769ee6023c567113fa2d18 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:46 2009 +0100 ide: move standard I/O code to ide-io-std.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d6a9754c06e173552b0ad5fad45f69786b6de99 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:46 2009 +0100 ide: move ide_read_bcount_and_ireason() to ide-atapi.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 7eeaaaa52285d5e6cb79f515e99c591dcb9d04fe Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:46 2009 +0100 ide: move xfer mode tuning code to ide-xfer-mode.c * Move xfer mode tuning code to ide-xfer-mode.c. * Add CONFIG_IDE_XFER_MODE config option to be selected by host drivers that support xfer mode tuning. * Add CONFIG_IDE_XFER_MODE=n static inline versions of ide_set_pio() and ide_set_xfer_rate(). * Make IDE_TIMINGS and BLK_DEV_IDEDMA config options select IDE_XFER_MODE, also add explicit selects for few host drivers that need it. * Build/link ide-xfer-mode.o and ide-pio-blacklist.o (it is needed only by ide-xfer-mode.o) only if CONFIG_IDE_XFER_MODE=y. Signed-off-by: Bartlomiej Zolnierkiewicz commit 11938c929022bb92b1a42f5e1289524a1e465dc0 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:44 2009 +0100 ide: move device settings code to ide-devsets.c Remove stale comment from ide.c while at it. Signed-off-by: Bartlomiej Zolnierkiewicz commit c4e66c36cce3f23d68013c4112013123ffe80bdb Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:44 2009 +0100 ide: move ide_do_park_unpark() to ide-park.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1bc6daae4aba9194f8ff6801af8367a1a4718965 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:44 2009 +0100 ide: factor out processing of special commands from ide_special_rq() Factor out processing of special commands from ide_special_rq() to ide_do_devset() and ide_do_park_unpark(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1866082339597930c5b77aad8de34ab4fbb5724f Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:44 2009 +0100 ide: remove ide_do_drive_cmd() * Use elv_add_request() instead of __elv_add_request() in ide_do_drive_cmd(). * ide_do_drive_cmd() is used only in ide-{atapi,cd}.c so inline it there. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 65ca5377322c7543163066f373ae9e6b0ad8de8a Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:43 2009 +0100 ide: move ide_dma_timeout_retry() to ide-dma.c Move ide_dma_timeout_retry() to ide-dma.c and add static inline version for CONFIG_BLK_DEV_IDEDMA=n. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b6a45a0b1e9a358b81201659cf87b023e3ec73e0 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:43 2009 +0100 ide: move drive_is_ready() to ide-io.c Move drive_is_ready() to ide-io.c, then make it static. Also make some minor CodingStyle fixups while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 75a0cff4e8ed47584dd15fbde2172ebc4c051bb2 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:43 2009 +0100 ide: unexport ide_devset_execute() There are no modular ide_devset_execute() users left so unexport it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2b9ae4608ffbdb57c1d5fe9db440810a995a91fa Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:42 2009 +0100 ide: remove stale comments from drive_is_ready() Signed-off-by: Bartlomiej Zolnierkiewicz commit b0b391430bea405ced6038e4cf4d8cf831511935 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:42 2009 +0100 ide-acpi: remove taskfile_load_raw() * taskfile_load_raw() is used only by do_drive_set_taskfiles() so inline it there. While at it: - rename 'args' variable to 'task' - remove struct taskfile_array - do ide_acpigtf check early - use REGS_PER_GTF Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f5892a5d21c905b1614cbd6bd8c5ad2cfbc106f Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:42 2009 +0100 ide-acpi: cleanup do_drive_set_taskfiles() * ide_noacpi is already checked by ide_acpi_exec_tfs() which is the only user of do_drive_set_taskfiles(). * ide_acpi_exec_tfs() prints sufficient debug info about the device so no need to do it again. * do_drive_get_GTF() + ide_acpi_exec_tfs() make sure that this function will never be called with incorrect gtf_length argument or if device is not present. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2f0d0fd2a605666d38e290c5c0d2907484352dc4 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:42 2009 +0100 ide-acpi: cleanup do_drive_get_GTF() * ide_noacpi is already checked by ide_acpi_exec_tfs() which is the only user of do_drive_get_GTF(). * ide_acpi_exec_tfs() prints sufficient debug info about the device so no need to have excessive data about port/host. * It is sufficient to check for drive->acpidata->obj_handle as it will be NULL if dev == NULL or hwif->acpidata == NULL or device is not present. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8b803bd184e3f6892284d4b50801b9ec85cd9b96 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:41 2009 +0100 ide: sanitize ACPI initialization * ide_acpi_init() -> ide_acpi_init_port() * ide_acpi_blacklist() -> ide_acpi_init() * Call ide_acpi_init() only once (do it during IDE core initialization) and cleanup the function accordingly. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ed5b157d9dff55bf477b4c8b4708d5d45476677 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:41 2009 +0100 ide: add ide_for_each_present_dev() iterator * Add ide_for_each_present_dev() iterator and convert IDE code to use it. * Do some drive-by CodingStyle fixups in ide-acpi.c while at it. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8cd3c605624035b7f57deb8894e17c5ba6d05b2e Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:41 2009 +0100 ide-acpi: init ACPI handles early for devices Init ACPI handles for devices in ide_acpi_port_init_devices() and remove no longer needed ide_acpi_drive_get_handle(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 94635d3ecfd478ada7cedcffd9d53709074444fc Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:41 2009 +0100 ide-acpi: no need to zero ->acpidata for devices ide_acpi_init() takes care of it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1902a253e4b14378405de761cb444dfeef15e500 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:40 2009 +0100 ide: remove superfluous check from ide_proc_port_register_devices() Signed-off-by: Bartlomiej Zolnierkiewicz commit 0688d3a6ba9bf4e1df62ce627ad1daa0e2bf9148 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:39 2009 +0100 ide: init_irq() doesn't need to hold ide_cfg_mtx Signed-off-by: Bartlomiej Zolnierkiewicz commit 7362951b4818763b6abaecd3f870739125145cc1 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:39 2009 +0100 ide: move ->lock and ->timer init from init_irq() to ide_init_port_data() Signed-off-by: Bartlomiej Zolnierkiewicz commit d336ae3cf567185fb8fc03c10e9394920f7d5ab1 Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:39 2009 +0100 ide: no need to touch local IRQs in ide_probe_port() Remove superfluous local_save_flags() local_irq_enable_in_hardirq() ... local_irq_restore() combo. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a254df007b3db88bd430474030fec92e7bab22a Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:39 2009 +0100 ide: move ide_pktcmd_tf_load() to ide-atapi.c Then make it static and remove 'dma' argument. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7610c4f5efc495d8e15ef608c4a66932f895379a Author: Bartlomiej Zolnierkiewicz Date: Tue Mar 24 23:22:38 2009 +0100 ide: fix IDE_DFLAG_NO_IO_32BIT handling * IDE_DFLAG_NO_IO_32BIT may be set by cmd640's ->init_dev method so don't clear it in ide_port_tune_devices() (+ no need to do it). * Move IDE_DFLAG_NO_IO_32BIT handling to ide_port_init_devices(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 67aa0f767af488a7f1e41cccb4f7a4893f24a1ab Author: Luis Henriques Date: Tue Mar 24 22:10:02 2009 +0000 sched: remove unused fields from struct rq Impact: cleanup, new schedstat ABI Since they are used on in statistics and are always set to zero, the following fields from struct rq have been removed: yld_exp_empty, yld_act_empty and yld_both_empty. Both Sched Debug and SCHEDSTAT_VERSION versions has also been incremented since ABIs have been changed. The schedtop tool has been updated to properly handle new version of schedstat: http://rt.wiki.kernel.org/index.php/Schedtop_utility Signed-off-by: Luis Henriques Acked-by: Gregory Haskins Acked-by: Peter Zijlstra LKML-Reference: <20090324221002.GA10061@hades.domain.com> Signed-off-by: Ingo Molnar commit 9a38e989b8ce04923f919fc2a8a24eb07fb484e2 Merge: 7d83f8f... 5fa82eb... Author: root Date: Tue Mar 24 22:04:25 2009 +0000 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit 0a5d649018b151cb9331c213a843ac4a3e7e44ab Author: Jody McIntyre Date: Tue Mar 24 16:00:28 2009 -0400 tracing: Documentation / sample code fixes for tracepoints Fix the tracepoint documentation to refer to "tracepoint-sample" instead of "tracepoint-example" to match what actually exists; fix the directory, and clarify how to compile. Change every instance of "example" in the sample tracepoint code to "sample" for consistency. Signed-off-by: Jody McIntyre Acked-by: Mathieu Desnoyers Cc: torvalds@linux-foundation.org LKML-Reference: <20090324200027.GH8294@clouds> Signed-off-by: Ingo Molnar commit f56e5034121c4911a155ba907076ab920754626d Author: Yinghai Lu Date: Tue Mar 24 14:16:30 2009 -0700 x86: use default_cpu_mask_to_apicid for 64bit Impact: cleanup Use online_mask directly on 64bit too. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49C94DAE.9070300@kernel.org> Signed-off-by: Ingo Molnar commit 5393f3162d3a85317e1e22c33539905fa5258e5f Author: Josh Stone Date: Tue Mar 24 09:44:28 2009 +0000 net: Add dependent headers to trace/skb.h The tracing header needs to include definitions for the macros used and the types referenced. This lets automated tracing tools like SystemTap make use of the tracepoint without any specific knowledge of its meaning (leaving that to the user). Signed-off-by: Josh Stone CC: Neil Horman Signed-off-by: David S. Miller commit 35c7f6de7339f40a591a8aeccacdc429b1953674 Author: Eric Dumazet Date: Tue Mar 24 14:15:22 2009 -0700 arp_tables: ifname_compare() can assume 16bit alignment Arches without efficient unaligned access can still perform a loop assuming 16bit alignment in ifname_compare() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fa74c9073370e57fa28e02aff13f4d7b1806505c Author: Yinghai Lu Date: Tue Mar 24 13:23:16 2009 -0700 x86: fix set_extra_move_desc calling Impact: fix bug with irq-descriptor moving when logical flat Rusty observed: > The effect of setting desc->affinity (ie. from userspace via sysfs) has varied > over time. In 2.6.27, the 32-bit code anded the value with cpu_online_map, > and both 32 and 64-bit did that anding whenever a cpu was unplugged. > > 2.6.29 consolidated this into one routine (and fixed hotplug) but introduced > another variation: anding the affinity with cfg->domain. Is this right, or > should we just set it to what the user said? Or as now, indicate that we're > restricting it. Eric pointed out that desc->affinity should be what the user requested, if it is at all possible to honor the user space request. This bug got introduced by commit 22f65d31b "x86: Update io_apic.c to use new cpumask API". Fix it by moving the masking to before the descriptor moving ... Reported-by: Rusty Russell Reported-by: Eric W. Biederman LKML-Reference: <49C94134.4000408@kernel.org> Signed-off-by: Ingo Molnar commit 8dd1d0471bcf634f2cd6a6cf4b6531bb61f0af47 Author: Jan Engelhardt Date: Tue Mar 24 13:35:27 2009 -0700 netfilter: trivial Kconfig spelling fixes Supplements commit 67c0d57930ff9a24c6c34abee1b01f7716a9b0e2. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 32ab83a56fdf42f543b86c349143c2a86ead9707 Author: Hans-Christian Egtvedt Date: Tue Mar 24 11:06:06 2009 +0100 atmel-mci: fix sdc_reg typo This fixes a bug when setting the sdc_reg for 4-bit bus width transactions. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit d719f9006e0591196fe9c7181e1d1cb4d5ee1edf Author: Pierre Ossman Date: Tue Mar 24 21:06:09 2009 +0100 tmio_mmc: add maintainer This is Ian's baby, so make a note of it in MAINTAINERS. Signed-off-by: Pierre Ossman commit 3085e9c1b24ab2322230d35efac72147b8213865 Author: Anton Vorontsov Date: Tue Mar 17 00:14:05 2009 +0300 mmc: Add OpenFirmware bindings for SDHCI driver This patch adds a new driver: sdhci-of. The driver is similar to the sdhci-pci, it contains common probe code, and controller-specific ops and quirks. So far there are only Freescale eSDHC ops and quirks. Signed-off-by: Anton Vorontsov Acked-by: Arnd Bergmann Signed-off-by: Pierre Ossman commit 0633f654241483edc8a235ab87264ff6bbcd08d5 Author: Anton Vorontsov Date: Tue Mar 17 00:14:03 2009 +0300 sdhci: Add quirk for forcing maximum block size to 2048 bytes FSL eSDHC controllers can support maximum block size up to 4096 bytes, the MBL (Maximum Block Length) field in the capabilities register extended by one bit, and is set to 0x3. But the SDHCI core doesn't support blocks of 4096 bytes, and thus forces blksz to the lowest value -- 512 bytes. With this patch we can pin up the blksz to the maximum supported block size, i.e. 2048 bytes. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 063a9dbbce5559770b7e2e2f51bd29adf3ab9b1e Author: Anton Vorontsov Date: Tue Mar 17 00:14:02 2009 +0300 sdhci: Add quirk for controllers that need IRQ re-init after reset FSL eSDHC controllers losing signal/interrupt enable states after reset, so we should re-enable them. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 3e3bf20756aeee57a40fd37b923263c9a51b8c68 Author: Anton Vorontsov Date: Tue Mar 17 00:14:00 2009 +0300 sdhci: Add quirk for controllers that need small delays for PIO Small udelay is needed to make eSDHC work in PIO mode. Without the delay reading causes endless interrupt storm, and writing corrupts data. The first guess would be that we must wait for some bit in some register, but I didn't find any reliable bits that change before and after the delay. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 8114634ccb54d67a8c01e5825d95bff4e7f7b357 Author: Anton Vorontsov Date: Tue Mar 17 00:13:59 2009 +0300 sdhci: Add set_clock callback and a quirk for nonstandard clocks FSL eSDHC hosts have incompatible register map to manage the SDCLK. This patch adds set_clock callback so that drivers could overwrite set_clock behaviour. Similar patch[1] was posted by Ben Dooks, though in Ben's version the callback is named change_clock, plus the patch has some unrelated bits that makes the patch difficult to reuse. [1] http://lkml.org/lkml/2008/12/2/160 Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 4240ff0a02cb52f7d10dc1df6d82ba9c27dba07b Author: Ben Dooks Date: Tue Mar 17 00:13:57 2009 +0300 sdhci: Add get_{max,timeout}_clock callbacks Some controllers do not provide clock information in their capabilities (in the Samsung case, it is because there are multiple clock sources available to the controller). Add hooks to allow the system to supply clock information. p.s. In the original Ben's patch there was a bug that makes sdhci_add_host() return -ENODEV even if callbacks were specified. This is fixed now. Signed-off-by: Ben Dooks Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit c5075a1089e808d8f471ce21b02810cc98ab2692 Author: Anton Vorontsov Date: Tue Mar 17 00:13:54 2009 +0300 sdhci: Add support for hosts reporting inverted write-protect state This patch adds SDHCI_QUIRK_INVERTED_WRITE_PROTECT quirk. When specified, the sdhci driver will invert WP state. p.s. Actually, the quirk is more board-specific than controller-specific. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 68d1fb7e229c6f95be4fbbe3eb46b24e41184924 Author: Anton Vorontsov Date: Tue Mar 17 00:13:52 2009 +0300 sdhci: Add support for card-detection polling This patch adds SDHCI_QUIRK_BROKEN_CARD_DETECTION quirk. When specified, sdhci driver will set MMC_CAP_NEEDS_POLL MMC host capability, and won't enable card insert/remove interrupts. This is needed for hosts with unreliable card detection, such as FSL eSDHC. The original eSDHC driver was tring to "debounce" card-detection IRQs by reading present state and disabling particular interrupts. But with this debouncing scheme I noticed that sometimes we miss card insertion/removal events. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 6aa943ab8994fe6e4ccba22c5bc8150a84268bdd Author: Anton Vorontsov Date: Tue Mar 17 00:13:50 2009 +0300 sdhci: Enable only relevant (DMA/PIO) interrupts during transfers Some hosts (that is, FSL eSDHC) throw PIO interrupts during DMA transfers, this causes tons of unneeded interrupts, and thus highly degraded speed. This patch modifies the driver so that now we only enable relevant (DMA or PIO) interrupts during transfers. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 7260cf5e12393536ce61d184c3fc750fb2ba635a Author: Anton Vorontsov Date: Tue Mar 17 00:13:48 2009 +0300 sdhci: Split card-detection IRQs management from sdhci_init() Card detection interrupts should be handled separately as they should not be enabled before mmc_add_host() returns and should be disabled before calling mmc_remove_host(). The same is for suspend and resume routines. sdhci_init() no longer enables card-detection irqs. Instead, two new functions implemented: sdhci_enable_card_detection() and sdhci_disable_card_detection(). New sdhci_reinit() call implemented to behave the same way as the old sdhci_init(). Also, this patch implements and uses few new helpers to manage IRQs in a more conveinient way, that is: - sdhci_clear_set_irqs() - sdhci_unmask_irqs() - sdhci_mask_irqs() - SDHCI_INT_ALL_MASK constant sdhci_enable_sdio_irq() converted to these new helpers, plus the helpers will be used by the subsequent patches. Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit 4e4141a526dd7f5ac3ce1458ae79ea6e5a515b06 Author: Anton Vorontsov Date: Tue Mar 17 00:13:46 2009 +0300 sdhci: Add support for bus-specific IO memory accessors Currently the SDHCI driver works with PCI accessors (write{l,b,w} and read{l,b,w}). With this patch drivers may change memory accessors, so that we can support hosts with "weird" IO memory access requirments. For example, in "FSL eSDHC" SDHCI hardware all registers are 32 bit width, with big-endian addressing. That is, readb(0x2f) should turn into readb(0x2c), and readw(0x2c) should be translated to le16_to_cpu(readw(0x2e)). Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman commit f079a8fc61e3dc35830f6abc58c21ae815ab4297 Author: Wolfgang Muees Date: Mon Mar 16 12:23:03 2009 +0100 mmc_spi: adjust for delayed data token response Some cards are not able to send the data token in time, but miss the time frame for some bits(!). So synchronize to the start of the token. Signed-off-by: Wolfgang Muees Acked-by: David Brownell Signed-off-by: Pierre Ossman commit e13bb3003a33df8f82cd027f8abfa5cd73f2eec0 Author: Adrian Hunter Date: Thu Mar 12 17:08:26 2009 +0200 omap_hsmmc: Wait for SDBP It is necessary to wait for bus power before sending any commands. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit f3e2f1dd3bbe9352654eec8223495d35e1f52af2 Author: Grazvydas Ignotas Date: Sat Jan 3 10:36:13 2009 +0000 omap_hsmmc: Fix MMC3 dma Data transfers on third OMAP3 MMC controller don't work because DMA line numbers are only defined for MMC1 and MMC2. Fix that and store line numbers in mmc_omap_host structure to reduce code size. Tested on OMAP3 pandora board. Signed-off-by: Grazvydas Ignotas Signed-off-by: Pierre Ossman commit 0683af4887bf61b5285c4e08cad5c7d110fbd605 Author: Jarkko Lavinen Date: Thu Mar 12 15:30:58 2009 +0200 omap_hsmmc: Disable SDBP at suspend Turn off the bus power at suspend. Signed-off-by: Jarkko Lavinen Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit e68fdabc0d27f25428d53d43caae8bc79ed63d32 Author: Adrian Hunter Date: Fri Jan 30 10:59:31 2009 +0200 omap_hsmmc: Do not prefix slot name Allow slot_name to be the same as the other OMAP driver, by removing the redundant "slot:" prefix. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit e1a55f5eeae90de3f1113dea8cd40d54e1562abf Author: Adrian Hunter Date: Mon Jan 26 13:17:25 2009 +0200 omap_hsmmc: Allow cover switch to cause rescan Allow a cover switch to be used to cause a rescan of the MMC slot. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit 731530104afa6310660455ad86353dbe9e226740 Author: Jarkko Lavinen Date: Fri Nov 21 16:49:54 2008 +0200 omap_hsmmc: Add 8-bit bus width mode support Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 0ccd76d4c236a0cf71efe51848f15c3f5d951da7 Author: Juha Yrjola Date: Fri Nov 14 15:22:00 2008 +0200 omap_hsmmc: Implement scatter-gather emulation Instead of using the bounce buffer, using scatter-gather emulation (as in the OMAP1/2 MMC driver) removes the need of one extra memory copy and improves performance. Signed-off-by: Juha Yrjola Signed-off-by: Pierre Ossman commit 4a694dc915c9a223044ce21fc0d99e63facd1d64 Author: Adrian Hunter Date: Mon Jan 12 16:13:08 2009 +0200 omap_hsmmc: Fix response type for busy after response Some MMC commands result in the card becoming busy after the response is received. This needs to be specified for the omap_hsmmc host controller, which is what this patch does. However, the effect is that some commands with no data will cause a Transfer Complete (TC) interrupt in addition to the Command Complete (CC) interrupt. In order to deal with that, the irq handler has needed a few changes also. The benefit of this change is that the omap_hsmmc host controller driver now waits for the TC interrupt while the card is busy, so the mmc_block driver needs to poll the card status just once instead of repeatedly. i.e. the net result is more sleep and less cpu. The command sequence for open-ended multi-block write with DMA is now: Issue write command CMD25 Receive CC interrupt Data is sent Receive TC interrupt (DMA is done) Issue stop command CMD12 Receive CC interrupt Card is busy Receive TC interrupt Card is now ready for next transfer Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit 82788ff532f75ecd23166e677c970139ff61c363 Author: Jarkko Lavinen Date: Fri Dec 5 12:31:46 2008 +0200 omap_hsmmc: Do dma cleanup also with data CRC errors Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 2a69567b875b0650ffe29a0f2441e2068e4e8294 Author: Pierre Ossman Date: Mon Mar 16 19:52:26 2009 +0100 mmc: add maintainer for mvsdio driver Nicolas Pitre accepted to look after the mvsdio driver. Signed-off-by: Pierre Ossman commit 236caa7cc351f885874a2776b7dd1b5667359dc8 Author: Maen Suleiman Date: Sat Feb 14 03:07:26 2009 -0500 mmc: SDIO driver for Marvell SoCs This supports MMC/SD/SDIO currently found on the Kirkwood 88F6281 and 88F6192 SoC controllers. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 4cb32906e47987fee3fbfd79145d2348a2e8c5f3 Author: Alexander Beregalov Date: Sat Mar 14 12:37:47 2009 +0300 MMC: tmio_mmc.h: fix build problem drivers/mmc/host/tmio_mmc.h: In function 'tmio_mmc_kmap_atomic': drivers/mmc/host/tmio_mmc.h:147: error: implicit declaration of function 'kmap_atomic' drivers/mmc/host/tmio_mmc.h:147: error: 'KM_BIO_SRC_IRQ' undeclared (first use in this function) drivers/mmc/host/tmio_mmc.h: In function 'tmio_mmc_kunmap_atomic': drivers/mmc/host/tmio_mmc.h:153: error: implicit declaration of function 'kunmap_atomic' drivers/mmc/host/tmio_mmc.h:153: error: 'KM_BIO_SRC_IRQ' undeclared (first use in this function) Signed-off-by: Alexander Beregalov Signed-off-by: Pierre Ossman commit bedcc45c2e5d72b1c4b087b725c391441a93eee6 Author: Magnus Damm Date: Wed Mar 11 21:59:03 2009 +0900 tmio_mmc: Fix use after free in remove() Update the tmio_mmc code to call mmc_free_host() when done using the private data. Without this fix the driver frees memory and then keeps on using it as private data. Signed-off-by: Magnus Damm Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit bc6772a023ceab8df404b18b31c27f764dcf5b3f Author: Magnus Damm Date: Wed Mar 11 21:58:54 2009 +0900 tmio_mmc: Fix one off, use resource_size() in probe() Update the tmio_mmc code to use resource_size(). With this patch applied the correct resource size is passed to ioremap(). Signed-off-by: Magnus Damm Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit c0c88871574ccb4ee53dde1bbb678931b38ed47b Author: Wolfgang Muees Date: Wed Mar 11 14:28:39 2009 +0100 mmc_spi: allow higher timeouts for SPI mode Some SD cards have very high timeouts in SPI mode. So adjust the timeouts from theory to practice. Signed-off-by: Wolfgang Muees Acked-by: David Brownell Signed-off-by: Pierre Ossman commit ea15ba5cd7bb370902cd9f6a73c2d288bfba6b2c Author: Wolfgang Muees Date: Wed Mar 11 14:17:43 2009 +0100 mmc_spi: wait more bytes for card response Some cards are slower than the standard allows and need more time to respond to a command. Max. observed number of bytes was 12. Signed-off-by: Wolfgang Muees Acked-by: David Brownell Signed-off-by: Pierre Ossman commit 48881caec426786cd451383ee53943cc5d3bfdeb Author: Wolfgang Muees Date: Wed Mar 11 14:13:15 2009 +0100 mmc_spi: allow setting of spi mode 3 Allow the platform data structures to specify spi mode 3 (if there is a pullup on the clock line or the spi hardware is not able to serve spi mode 0). Signed-off-by: Wolfgang Muees Acked-by: David Brownell Signed-off-by: Pierre Ossman commit b8e2006d5b17e58a18b38fc5a38769aad5f78d98 Author: Pierre Ossman Date: Sat Mar 14 21:17:32 2009 +0100 sdhci: change list address Domain change of the sdhci development list. Signed-off-by: Pierre Ossman commit d3096f88ac4596a509fc5fbe6fa7e7a5497eb399 Author: Balaji Rao Date: Wed Feb 25 15:28:09 2009 +0530 mmc: During unsafe resume, select the right volatge for the card During mmc unsafe resume, choose the right voltage for the card after powerup. Although this has not seen to cause trouble, it's the wrong behaviour. Signed-off-by: Balaji Rao Signed-off-by: Pierre Ossman commit be6f19fc24c937112d251232b3dae7e05e96aad1 Author: Pierre Ossman Date: Thu Mar 5 19:40:27 2009 +0100 sdio: check that addresses are within the address space Signed-off-by: Pierre Ossman commit c8d718f1037950107f13607ff0b696ffe63df76a Author: Pierre Ossman Date: Thu Mar 5 19:38:38 2009 +0100 sdio: handle null tuples Signed-off-by: Pierre Ossman commit 0d6132ba0b006dd2bea9ba0c7b6b2f690cd95c40 Author: Pierre Ossman Date: Thu Mar 5 19:37:28 2009 +0100 sdio: handle cis end marker in link field Signed-off-by: Pierre Ossman commit 1b331e69a2313f6e857890c7c2c40e3e2a74367a Author: Kim Kyuwon Date: Fri Feb 20 13:10:08 2009 +0100 omap_hsmmc: Initialize hsmmc controller registers when resuming Most registers lose its state when the processor wakes up from sleep state. Thus registers should be initialized, when the processor wakes up. However the current hsmmc 'resume' function doesn't consider this issue and finally makes deadlock. So this patch fixes this problem. Signed-off-by: Kim Kyuwon Signed-off-by: Adrian Hunter Acked-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 9e57d60829f5c00ebf44df65a4b709359e285c20 Author: Adrian Hunter Date: Tue Feb 24 14:48:16 2009 +0200 omap_hsmmc: do not re-power when powering off MMC Remove code that turns MMC1 power back on after it has been powered off (when the voltage is 1.8V). The offending code is not necessary because the host controller bus voltage is initialized to 3V when probing or resuming. Note that MMC powers up with the highest voltage available (see mmc_power_up()) which will be 3V also. Signed-off-by: Adrian Hunter Acked-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 736bb6bb01a2a180b6f062e792bd03658d57ab7e Author: Adrian Hunter Date: Wed Feb 11 14:52:20 2009 +0200 mmc: Add Extended CSD register to debugfs Extended CSD is a MMC card register. As increasingly interesting fields are being added to Extended CSD, it is helpful to see its value. Note that SD cards do not have an Extended CSD register, so it is MMC only. Signed-off-by: Adrian Hunter Signed-off-by: Pierre Ossman commit 6b0b62853b2553be375033776902640320970846 Author: Andy Whitcroft Date: Mon Feb 23 12:38:41 2009 +0000 mmc: add MODALIAS linkage for MMC/SD devices Currently we are using an explicit udev rule to trigger loading of the mmc-block module when an MMC or SD card is detected: SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -Qba mmc-block" It makes much more sense for the mmc bus driver and the mmc-block module to share MODALIAS information so that they are linked automatically. There is no real information of use in the MMC system at the current time. All devices inserted require us to load the mmc-block device. Until such time as useful parameters exist simply reflect the module linkage via the module alias below: mmc:block Signed-off-by: Andy Whitcroft Signed-off-by: Pierre Ossman commit 7de427d088a967d2173739e21e744921d5496a8b Author: Jorg Schummer Date: Thu Feb 19 13:17:03 2009 +0200 mmc: delayed_work was never cancelled The delayed work item mmc_host.detect is now cancelled before flushing the work queue. This takes care of cases when delayed_work was scheduled for mmc_host.detect, but not yet placed in the work queue. Signed-off-by: Jorg Schummer Signed-off-by: Pierre Ossman commit 89c8aa203e71f05afdc978700cbc767d310e3d70 Author: Kay Sievers Date: Mon Feb 2 21:08:30 2009 +0100 mmc: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Pierre Ossman commit b5bb14386eabcb4229ade2bc0a2b237ca166d37d Merge: bb4f92b... 1d45209... Author: David S. Miller Date: Tue Mar 24 13:24:36 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 142071b83426674ef2dab98cf2a6627328d0988e Author: Geert Uytterhoeven Date: Tue Mar 24 13:19:50 2009 -0700 dnet: drivers/net/dnet.c needs On m68k: | drivers/net/dnet.c: In function 'dnet_readw_mac': | drivers/net/dnet.c:36: error: implicit declaration of function 'writel' | drivers/net/dnet.c:43: error: implicit declaration of function 'readl' | drivers/net/dnet.c: In function 'dnet_probe': | drivers/net/dnet.c:873: error: implicit declaration of function 'ioremap' | drivers/net/dnet.c:873: warning: assignment makes pointer from integer without a cast | drivers/net/dnet.c:939: error: implicit declaration of function 'iounmap' Signed-off-by: Geert Uytterhoeven Signed-off-by: David S. Miller commit af4176b49c5ee15a9c9b10720c92456b28e7aac7 Author: Chris Mason Date: Tue Mar 24 10:24:31 2009 -0400 Btrfs: optimize fsyncs on old files The fsync log has code to make sure all of the parents of a file are in the log along with the file. It uses a minimal log of the parent directory inodes, just enough to get the parent directory on disk. If the transaction that originally created a file is fully on disk, and the file hasn't been renamed or linked into other directories, we can safely skip the parent directory walk. We know the file is on disk somewhere and we can go ahead and just log that single file. This is more important now because unrelated unlinks in the parent directory might make us force a commit if we try to log the parent. Signed-off-by: Chris Mason commit 12fcfd22fe5bf4fe74710232098bc101af497995 Author: Chris Mason Date: Tue Mar 24 10:24:20 2009 -0400 Btrfs: tree logging unlink/rename fixes The tree logging code allows individual files or directories to be logged without including operations on other files and directories in the FS. It tries to commit the minimal set of changes to disk in order to fsync the single file or directory that was sent to fsync or O_SYNC. The tree logging code was allowing files and directories to be unlinked if they were part of a rename operation where only one directory in the rename was in the fsync log. This patch adds a few new rules to the tree logging. 1) on rename or unlink, if the inode being unlinked isn't in the fsync log, we must force a full commit before doing an fsync of the directory where the unlink was done. The commit isn't done during the unlink, but it is forced the next time we try to log the parent directory. Solution: record transid of last unlink/rename per directory when the directory wasn't already logged. For renames this is only done when renaming to a different directory. mkdir foo/some_dir normal commit rename foo/some_dir foo2/some_dir mkdir foo/some_dir fsync foo/some_dir/some_file The fsync above will unlink the original some_dir without recording it in its new location (foo2). After a crash, some_dir will be gone unless the fsync of some_file forces a full commit 2) we must log any new names for any file or dir that is in the fsync log. This way we make sure not to lose files that are unlinked during the same transaction. 2a) we must log any new names for any file or dir during rename when the directory they are being removed from was logged. 2a is actually the more important variant. Without the extra logging a crash might unlink the old name without recreating the new one 3) after a crash, we must go through any directories with a link count of zero and redo the rm -rf mkdir f1/foo normal commit rm -rf f1/foo fsync(f1) The directory f1 was fully removed from the FS, but fsync was never called on f1, only its parent dir. After a crash the rm -rf must be replayed. This must be able to recurse down the entire directory tree. The inode link count fixup code takes care of the ugly details. Signed-off-by: Chris Mason commit a74ac3220774d33db967088906dc3351829e2d3a Author: Chris Mason Date: Tue Mar 24 10:24:13 2009 -0400 Btrfs: Make sure i_nlink doesn't hit zero too soon during log replay During log replay, inodes are copied from the log to the main filesystem btrees. Sometimes they have a zero link count in the log but they actually gain links during the replay or have some in the main btree. This patch updates the link count to be at least one after copying the inode out of the log. This makes sure the inode is deleted during an iput while the rest of the replay code is still working on it. The log replay has fixup code to make sure that link counts are correct at the end of the replay, so we could use any non-zero number here and it would work fine. Signed-off-by: Chris Mason commit a4b6e07d1a8a9b907e82b9acbf51a026fbb9301c Author: Chris Mason Date: Mon Mar 16 10:59:57 2009 -0400 Btrfs: limit balancing work while flushing delayed refs The delayed reference mechanism is responsible for all updates to the extent allocation trees, including those updates created while processing the delayed references. This commit tries to limit the amount of work that gets created during the final run of delayed refs before a commit. It avoids cowing new blocks unless it is required to finish the commit, and so it avoids new allocations that were not really required. The goal is to avoid infinite loops where we are always making more work on the final run of delayed refs. Over the long term we'll make a special log for the last delayed ref updates as well. Signed-off-by: Chris Mason commit 5d13a98f3bf5afc1113f7db184c627a44659bc29 Author: Chris Mason Date: Fri Mar 13 11:41:46 2009 -0400 Btrfs: readahead checksums during btrfs_finish_ordered_io This reads in blocks in the checksum btree before starting the transaction in btrfs_finish_ordered_io. It makes it much more likely we'll be able to do operations inside the transaction without needing any btree reads, which limits transaction latencies overall. Signed-off-by: Chris Mason commit b9473439d3e84d9fc1a0a83faca69cc1b7566341 Author: Chris Mason Date: Fri Mar 13 11:00:37 2009 -0400 Btrfs: leave btree locks spinning more often btrfs_mark_buffer dirty would set dirty bits in the extent_io tree for the buffers it was dirtying. This may require a kmalloc and it was not atomic. So, anyone who called btrfs_mark_buffer_dirty had to set any btree locks they were holding to blocking first. This commit changes dirty tracking for extent buffers to just use a flag in the extent buffer. Now that we have one and only one extent buffer per page, this can be safely done without losing dirty bits along the way. This also introduces a path->leave_spinning flag that callers of btrfs_search_slot can use to indicate they will properly deal with a path returned where all the locks are spinning instead of blocking. Many of the btree search callers now expect spinning paths, resulting in better btree concurrency overall. Signed-off-by: Chris Mason commit 89573b9c516b24af8a3b9958dd5afca8fa874e3d Author: Chris Mason Date: Thu Mar 12 20:12:45 2009 -0400 Btrfs: Only let very young transactions grow during commit Commits are fairly expensive, and so btrfs has code to sit around for a while during the commit and let new writers come in. But, while we're sitting there, new delayed refs might be added, and those can be expensive to process as well. Unless the transaction is very very young, it makes sense to go ahead and let the commit finish without hanging around. The commit grow loop isn't as important as it used to be, the fsync logging code handles most performance critical syncs now. Signed-off-by: Chris Mason commit 66d7e85ea7c3628189d19b265495358f756cb463 Author: Chris Mason Date: Thu Mar 12 20:12:45 2009 -0400 Btrfs: Check for a blocking lock before taking the spin This reduces contention on the extent buffer spin locks by testing for a blocking lock before trying to take the spinlock. Signed-off-by: Chris Mason commit 7f366cfecfc126731f8ac505d72026d691dac79a Author: Chris Mason Date: Thu Mar 12 20:12:45 2009 -0400 Btrfs: reduce stack in cow_file_range The fs/btrfs/inode.c code to run delayed allocation during writout needed some stack usage optimization. This is the first pass, it does the check for compression earlier on, which allows us to do the common (no compression) case higher up in the call chain. Signed-off-by: Chris Mason commit b7ec40d7845bffca8bb3af2ea3f192d6257bbe21 Author: Chris Mason Date: Thu Mar 12 20:12:45 2009 -0400 Btrfs: reduce stalls during transaction commit To avoid deadlocks and reduce latencies during some critical operations, some transaction writers are allowed to jump into the running transaction and make it run a little longer, while others sit around and wait for the commit to finish. This is a bit unfair, especially when the callers that jump in do a bunch of IO that makes all the others procs on the box wait. This commit reduces the stalls this produces by pre-reading file extent pointers during btrfs_finish_ordered_io before the transaction is joined. It also tunes the drop_snapshot code to politely wait for transactions that have started writing out their delayed refs to finish. This avoids new delayed refs being flooded into the queue while we're trying to close off the transaction. Signed-off-by: Chris Mason commit c3e69d58e86c3917ae4e9e31b4acf490a7cafe60 Author: Chris Mason Date: Fri Mar 13 10:17:05 2009 -0400 Btrfs: process the delayed reference queue in clusters The delayed reference queue maintains pending operations that need to be done to the extent allocation tree. These are processed by finding records in the tree that are not currently being processed one at a time. This is slow because it uses lots of time searching through the rbtree and because it creates lock contention on the extent allocation tree when lots of different procs are running delayed refs at the same time. This commit changes things to grab a cluster of refs for processing, using a cursor into the rbtree as the starting point of the next search. This way we walk smoothly through the rbtree. Signed-off-by: Chris Mason commit 1887be66dcc3140a81d1299958a41fc0eedfa64f Author: Chris Mason Date: Fri Mar 13 10:11:24 2009 -0400 Btrfs: try to cleanup delayed refs while freeing extents When extents are freed, it is likely that we've removed the last delayed reference update for the extent. This checks the delayed ref tree when things are freed, and if no ref updates area left it immediately processes the delayed ref. Signed-off-by: Chris Mason commit 44871b1b24b593996db43495cf4484cc580bdc10 Author: Chris Mason Date: Fri Mar 13 10:04:31 2009 -0400 Btrfs: reduce stack usage in some crucial tree balancing functions Many of the tree balancing functions follow the same pattern. 1) cow a block 2) do something to the result This commit breaks them up into two functions so the variables and code required for part two don't suck down stack during part one. Signed-off-by: Chris Mason commit 56bec294dea971335d4466b30f2d959f28f6e36d Author: Chris Mason Date: Fri Mar 13 10:10:06 2009 -0400 Btrfs: do extent allocation and reference count updates in the background The extent allocation tree maintains a reference count and full back reference information for every extent allocated in the filesystem. For subvolume and snapshot trees, every time a block goes through COW, the new copy of the block adds a reference on every block it points to. If a btree node points to 150 leaves, then the COW code needs to go and add backrefs on 150 different extents, which might be spread all over the extent allocation tree. These updates currently happen during btrfs_cow_block, and most COWs happen during btrfs_search_slot. btrfs_search_slot has locks held on both the parent and the node we are COWing, and so we really want to avoid IO during the COW if we can. This commit adds an rbtree of pending reference count updates and extent allocations. The tree is ordered by byte number of the extent and byte number of the parent for the back reference. The tree allows us to: 1) Modify back references in something close to disk order, reducing seeks 2) Significantly reduce the number of modifications made as block pointers are balanced around 3) Do all of the extent insertion and back reference modifications outside of the performance critical btrfs_search_slot code. #3 has the added benefit of greatly reducing the btrfs stack footprint. The extent allocation tree modifications are done without the deep (and somewhat recursive) call chains used in the past. These delayed back reference updates must be done before the transaction commits, and so the rbtree is tied to the transaction. Throttling is implemented to help keep the queue of backrefs at a reasonable size. Since there was a similar mechanism in place for the extent tree extents, that is removed and replaced by the delayed reference tree. Yan Zheng helped review and fixup this code. Signed-off-by: Chris Mason commit 9fa8cfe706f9c20067c042a064999d5825a35330 Author: Chris Mason Date: Fri Mar 13 10:24:59 2009 -0400 Btrfs: don't preallocate metadata blocks during btrfs_search_slot In order to avoid doing expensive extent management with tree locks held, btrfs_search_slot will preallocate tree blocks for use by COW without any tree locks held. A later commit moves all of the extent allocation work for COW into a delayed update mechanism, and this preallocation will no longer be required. Signed-off-by: Chris Mason commit 40cf65d149053889c8876c6c2b4ce204fde55baa Author: Stefan Richter Date: Thu Mar 5 19:13:43 2009 +0100 DVB: firedtv: fix printk format mismatch Eliminate drivers/media/dvb/firewire/firedtv-avc.c: In function 'debug_fcp': drivers/media/dvb/firewire/firedtv-avc.c:156: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' Acked-by: Mauro Carvalho Chehab Signed-off-by: Stefan Richter commit c64094684dad4a903099f1ff83b7db9b62782adc Author: Stefan Richter Date: Sun Feb 15 23:11:38 2009 +0100 ieee1394: constify device ID tables Signed-off-by: Stefan Richter commit 421696887b0da241401710e83b0dffcc195bc484 Author: Stefan Richter Date: Sun Feb 15 22:49:24 2009 +0100 ieee1394: raw1394: add sparse annotations to raw1394_compat_write Eliminate the following warnings in raw1394_compat_write()'s error return path, seen on x86-64 with CONFIG_COMPAT=y: drivers/ieee1394/raw1394.c:381:17: warning: incorrect type in return expression (different address spaces) drivers/ieee1394/raw1394.c:381:17: expected char const [noderef] * drivers/ieee1394/raw1394.c:381:17: got void * drivers/ieee1394/raw1394.c:2252:14: warning: incorrect type in argument 1 (different address spaces) drivers/ieee1394/raw1394.c:2252:14: expected void const *ptr drivers/ieee1394/raw1394.c:2252:14: got char const [noderef] *[assigned] buffer drivers/ieee1394/raw1394.c:2253:19: warning: incorrect type in argument 1 (different address spaces) drivers/ieee1394/raw1394.c:2253:19: expected void const *ptr drivers/ieee1394/raw1394.c:2253:19: got char const [noderef] *[assigned] buffer Signed-off-by: Stefan Richter commit 1c4fb577aa5aeeace026d8295936947f0f0743f0 Author: Tobias Klauser Date: Mon Feb 9 22:05:06 2009 +0100 ieee1394: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Stefan Richter commit e90874f64c89d8a3a8b287f67c5655141720c28d Author: Stefan Richter Date: Sat Jan 24 19:41:46 2009 +0100 ieee1394: sbp2: follow up on "ieee1394: inherit ud vendor_id from node vendor_id" Signed-off-by: Stefan Richter commit 7889b60ee71eafaf50699a154a2455424bb92daa Author: Stefan Richter Date: Tue Mar 10 21:09:28 2009 +0100 firewire: core: optimize propagation of BROADCAST_CHANNEL Cache the test result of whether a device implements BROADCAST_CHANNEL. This minimizes traffic on the bus after each bus reset. A majority of devices does not implement BROADCAST_CHANNEL. Remove busy retries; just rely on the hardware to retry requests to busy responders. Remove unnecessary log messages. Rename the flag is_irm to broadcast_channel_allocated to better reflect its meaning. Reset the flag earlier in fw_core_handle_bus_reset. Pass the generation down as a call parameter; that way generation can't be newer than card->broadcast_channel_allocated and device->node_id. Signed-off-by: Stefan Richter commit cbae787c0f288c3ad385ad4165ae30b5500a1f23 Author: Stefan Richter Date: Tue Mar 10 21:08:37 2009 +0100 firewire: core: simplify broadcast channel allocation fw-iso.c has channel allocation code now, use it. Signed-off-by: Stefan Richter commit e1dc7cab43619a2fbc90fd4cd712bd3fff703768 Author: Stefan Richter Date: Tue Mar 10 21:07:46 2009 +0100 firewire: core: increase bus manager grace period Per IEEE 1394 clause 8.4.2.5, bus manager capable nodes which are not incumbent shall wait at least 125ms before trying to establish themselves as bus manager. Signed-off-by: Stefan Richter commit a38a00fdef98a8eda23a25e54490b32865bc7c33 Author: Stefan Richter Date: Tue Mar 10 21:07:06 2009 +0100 firewire: core: drop unused call parameters of close_transaction All callers inserted NULL and 0 here. Signed-off-by: Stefan Richter commit 18e9b10fcdc090d3a38606958167d5923c7099b7 Author: Stefan Richter Date: Tue Mar 10 21:02:21 2009 +0100 firewire: cdev: add closure to async stream ioctl This changes the as yet unreleased FW_CDEV_IOC_SEND_STREAM_PACKET ioctl to generate an fw_cdev_event_response event just like the other two ioctls for asynchronous request transmission do. This way, clients get feedback on successful or unsuccessful transmission. This also adds input validation for length, tag, channel, sy, speed. Signed-off-by: Stefan Richter commit 664d8010b170ae8b3ce9268b4f4da934d27b0491 Author: Stefan Richter Date: Tue Mar 10 21:01:54 2009 +0100 firewire: cdev: simplify FW_CDEV_IOC_SEND_REQUEST return value This changes the ioctl() return value of FW_CDEV_IOC_SEND_REQUEST and of the as yet unreleased FW_CDEV_IOC_SEND_BROADCAST_REQUEST. They used to return sizeof(struct fw_cdev_send_request *) + data_length which is obviously a failed attempt to emulate the return value of raw1394's respective interface which uses write() instead of ioctl(). However, the first summand, as size of a kernel pointer, is entirely meaningless to clients and the second summand is already known to clients. And the result does not resemble raw1394's write() return code anyway. So simplify it to a constant non-negative value, i.e. 0. The only dangers here would be that future client implementations check for error by ret != 0 instead of ret < 0 when running on top of an old kernel; or that current clients interpret ret = 0 or more as failure. But both are hypothetical cases which don't justify to return irritating values. While we touch this code, also remove "& 0x1f" from tcode in the call of fw_send_request. The tcode cannot be bigger than 0x1f at this point. Signed-off-by: Stefan Richter commit 207fbefb18de9bc6f871e4008da29879c90cb67e Author: Stefan Richter Date: Tue Mar 10 21:01:08 2009 +0100 firewire: cdev: fix race of ioctl_send_request with bus reset The bus reset handler concurrently frees client->device->node. Use device->node_id instead. This is equivalent to device->node->node_id while device->generation is current. Signed-off-by: Stefan Richter commit de487da8ca5839d057e1f4b57ee3f387e180b800 Author: Stefan Richter Date: Tue Mar 10 21:00:23 2009 +0100 firewire: cdev: secure add_descriptor ioctl The access permissions and ownership or ACL of /dev/fw* character device files will typically be set based on the device type of the respective nodes, as obtained by firewire-core from descriptors in the device's configuration ROM. An example policy is to deny write permission by default but grant write permission to files of AV/C video and audio devices and IIDC video devices. The FW_CDEV_IOC_ADD_DESCRIPTOR ioctl could be used to partly subvert such a policy: Find a device file with relaxed permissions, use the ioctl to add a descriptor with AV/C marker to the local node's ROM, thus gain access to the local node's character device file. (This is only possible if there are udev scripts installed which actively relax permissions for known device types and if there is a device of such a type connected.) Accessibility of the local node's device file is relevant to host security if the host contains two or more IEEE 1394 link layer controllers which are plugged into a single bus. Therefore change the ABI to deny FW_CDEV_IOC_ADD_DESCRIPTOR if the file belongs to a remote node. (This change has no impact on known implementers of the ABI: None of them uses the ioctl yet.) Also clarify the documentation: The ioctl affects all local nodes, not just one local node. Cc: stable@kernel.org Signed-off-by: Stefan Richter commit c8a25900f35e575938c791507894c036c0f2ca7d Author: Stefan Richter Date: Tue Mar 10 20:59:16 2009 +0100 firewire: cdev: amendment to "add ioctl to query maximum transmission speed" The as yet unreleased FW_CDEV_IOC_GET_SPEED ioctl puts only a single integer into the parameter buffer. We can use ioctl()'s return value instead. (Also: Some whitespace change in firewire-cdev.h.) Signed-off-by: Stefan Richter commit 6104ee92d62ea3638b67494fcf061cb4b9b9d518 Author: Jay Fenlason Date: Mon Feb 23 15:59:34 2009 -0500 firewire: broadcast channel support This patch adds the ISO broadcast channel support that is required of a 1394a IRM. In specific, if the local device the IRM, it allocates ISO channel 31 and sets the broadcast channel register of all devices on the local bus to BROADCAST_CHANNEL_INITIAL | BROADCAST_CHANNEL_VALID to indicate that channel 31 can be use for broadcast messages. One minor complication is that on startup the local device may become IRM before all the devices on the bus have been enumerated by the stack. Therefore we have to keep a "the local device is IRM" flag and possibly set the broadcast channel register of new devices at enumeration time. Signed-off-by: Jay Fenlason Signed-off-by: Stefan Richter commit f8c2287c65f8f72000102fc058232669e4540bc4 Author: Jay Fenlason Date: Thu Mar 5 19:08:40 2009 +0100 firewire: implement asynchronous stream transmission Allow userspace and other firewire drivers (fw-ipv4 I'm looking at you!) to send Asynchronous Transmit Streams as described in 7.8.3 of release 1.1 of the 1394 Open Host Controller Interface Specification. Signed-off-by: Jay Fenlason Signed-off-by: Stefan Richter (tweaks) commit ba27e1f7bf220799cd3d7503f82bda71b8ebe8c5 Author: Stefan Richter Date: Thu Mar 5 19:07:00 2009 +0100 firewire: core: normalize a function argument name It's called "payload" rather than "data" almost everywhere in fw-transaction.c. Signed-off-by: Stefan Richter commit e1eff7a393d4a4e3ad1cf65fcba899146840bfd2 Author: Stefan Richter Date: Tue Feb 3 17:55:19 2009 +0100 firewire: normalize a variable name Standardize on if (err) handle_error; and if (ret < 0) handle_error; Don't call a variable err if we store values in it which mean success. Also, offset some return statements by a blank line since this how we do it in drivers/firewire. Signed-off-by: Stefan Richter commit d01b01787680a1156ff6a554e40baa460bb88efb Author: Stefan Richter Date: Sat Jan 17 22:45:54 2009 +0100 firewire: core: remove condition which is always false reread_bus_info_block() only gets to see devices whose config_rom_length is at least 6 (ROM header, bus info block, root directory header). Signed-off-by: Stefan Richter commit aed808927410d0b1d80378492059f22a46974267 Author: Stefan Richter Date: Sat Jan 17 22:45:54 2009 +0100 firewire: core: move some functions Signed-off-by: Stefan Richter commit 41f321c2ecf416f9dcf76de989e9059fd699c8c1 Author: Stefan Richter Date: Sat Jan 17 22:45:54 2009 +0100 firewire: core: clean up includes Signed-off-by: Stefan Richter commit 81610b8fbfc027a67707ff567d490819a3d55844 Author: Stefan Richter Date: Sun Jan 11 13:44:46 2009 +0100 firewire: cdev: simplify a schedule_delayed_work wrapper The kernel API documentation says that queue_delayed_work() returns 0 (only) if the work was already queued. The return codes of schedule_delayed_work() are not documented but the same. In init_iso_resource(), the work has never been queued yet, hence we can assume schedule_delayed_work() to be a guaranteed success there. Signed-off-by: Stefan Richter commit 5d9cb7d276a9c465fef5a771792eac2cf1929f2b Author: Stefan Richter Date: Thu Jan 8 23:07:40 2009 +0100 firewire: cdev: add ioctls for iso resource management, amendment Some fixes: - Remove stale documentation. - Fix a != vs. == thinko that got in the way of channel management. - Try bandwidth deallocation even if channel deallocation failed. A simplification: - fw_cdev_allocate_iso_resource.channels is now ordered like libdc1394's dc1394_iso_allocate_channel() channels_allowed argument. By the way, I looked closer at cards from NEC, TI, and VIA, and noticed that they all don't implement IEEE 1394a behaviour which is meant to deviate from IEEE 1212's notion of lock compare-swap. This means that we have to do two lock transactions instead of one in many cases where one transaction would already succeed on a fully 1394a compliant IRM. Signed-off-by: Stefan Richter commit 77258da403be4cfce84b6abcdb515ad0bd1f92f1 Author: Stefan Richter Date: Wed Jan 7 20:14:53 2009 +0100 firewire: cdev: increment fw_cdev_version, update documentation Necessary due to Date: Tue, 22 Jul 2008 23:23:40 -0700 From: David Moore Subject: firewire: Include iso timestamp in headers when header_size > 4 Side note: The lack of upwards compatibility sounds worse than it is. All existing client implementations, libraw1394 and libdc1394, set header_size = 4. And since the ABI v1 behaviour does not offer any advantages over the new behaviour, we deliberately do not provide the old behaviour anymore. Also add documentation about the format of fw_cdev_get_cycle_timer which may be used in conjunction with the timestamp of iso packets but has a different format. Signed-off-by: Stefan Richter commit 36a755cfc398fc50abc74055d4478c1b067dac55 Author: Stefan Richter Date: Mon Jan 5 20:28:10 2009 +0100 firewire: cdev: shut down iso context before freeing the buffer DMA must be halted before we DMA-unmap and free the DMA buffer. Since we cannot rely on the client to stop the context before it closes the fd, we have to reorder fw_iso_buffer_destroy vs. fw_iso_context_destroy. Signed-off-by: Stefan Richter commit 3ba949868a6dc082b24cba5c3bf3f50de7391433 Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: replace some spin_lock_irqsave by spin_lock_irq All of these functions are entered with IRQs enabled. Hence the unconditional spin_unlock_irq can be used. Function: Caller context: dequeue_event() client process, via read(2) fill_bus_reset_event() fw-device.c update worqueue job release_client_resource() client process, via ioctl(2) fw_device_op_release() client process, via close(2) Signed-off-by: Stefan Richter commit 5d3fd692a7196a9045fb606f891f5987959b65a0 Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: extend transaction payload size check Make the size check of ioctl_send_request and ioctl_send_broadcast_request speed dependent. Also change the error return code from -EINVAL to -EIO to distinguish this from other errors concerning the ioctl parameters. Another payload size limit for which we don't check here though is the remote node's Bus_Info_Block.max_rec. Signed-off-by: Stefan Richter commit 1566f3dc3e5986a16c7bbb3bb95bb691251a8d25 Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: restrict broadcast write requests to Units Space We don't want random users write to Memory Space (e.g. PCs with physical DMA filters down) or to core CSRs like Reset_Start. This does not protect SBP-2 target CSRs. But properly behaving SBP-2 targets ignore broadcast write requests to these registers, and the maximum damage which can happen with laxer targets is DOS. But there are ways to create DOS situations anyway if there are devices with weak device file permissions (like audio/video devices) present at the same bus as an SBP-2 target. Signed-off-by: Stefan Richter commit acfe8333572cad5dc70fce18ac966be0446548d7 Author: Jay Fenlason, Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: add ioctl for broadcast write requests Write transactions to the broadcast node ID are a convenient way to trigger functions of multiple nodes at once. IIDC is a protocol which can make use of this if multiple cameras with same command_regs_base are connected at the same bus. Based on Date: Wed, 10 Sep 2008 11:32:16 -0400 From: Jay Fenlason Subject: [patch] SEND_BROADCAST_REQUEST Changes: ioctl_send_request() and ioctl_send_broadcast_request() now share code. Broadcast speed corrected to S100. Check for proper tcode. Signed-off-by: Stefan Richter commit 33580a3ef5ba3bc0ee1b520df82a24bb37ce28f0 Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: add ioctl to query maximum transmission speed While the speed of asynchronous transactions is automatically chosen by the kernel, the speed of isochronous streams has to be chosen by the initiating client. In case of 1394a bus topologies, the maximum possible speed could be figured out with some effort by evaluation of the remote node's link speed field in the config ROM, the local node's link speed field, and the PHY speeds and topologic information in the local node's or IRM's topology map CSR. However, this does not work in case of 1394b buses. Hence add an ioctl to export the maximum speed which the kernel already determined. Signed-off-by: Stefan Richter commit 1ec3c0269d7196118cc7c403654ca5f19ef4d584 Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: add ioctls for manual iso resource management This adds ioctls for allocation and deallocation of a channel or/and bandwidth without auto-reallocation and without auto-deallocation. The benefit of these ioctls is that libraw1394-style isochronous resource management can be implemented without write access to the IRM's character device file. Signed-off-by: Stefan Richter commit b1bda4cdc2037447bd66753bf5ccab66d91b0b59 Author: Jay Fenlason, Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: add ioctls for isochronous resource management Based on Date: Tue, 18 Nov 2008 11:41:27 -0500 From: Jay Fenlason Subject: [Patch V4] Add ISO resource management support with several changes to the ABI and implementation. Only the part of the ABI which enables auto-reallocation and auto-deallocation is included here. This implements ioctls for kernel-assisted allocation of isochronous channels and isochronous bandwidth. The benefits are: - The client does not have to have write access to the /dev/fw* device corresponding to the IRM. - The client does not have to perform reallocation after bus resets. - Channel and bandwidth are deallocated by the kernel if the file is closed before the client deallocated the resources. Thus resources are released even if the client crashes. It is anticipated that future in-kernel code (firewire-core IRM code; the firewire port of firedtv), will use the fw-iso.c portions of this code too. Signed-off-by: Stefan Richter Tested-by: David Moore commit b769bd17656f991c5588c676376e5ec77d25997a Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: core: topology header fix Signed-off-by: Stefan Richter commit be5bbd6756b44602a3f281af05c2f416fa9bd1c6 Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: sort includes Signed-off-by: Stefan Richter commit 97c18b7fd6df4ae0d32509f292a2eb0d4b26d623 Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: unify names of struct types and of their instances to indicate that they are specializations of struct event or of struct client_resource, respectively. struct response was both an event and a client_resource; it is now split into struct outbound_transaction_resource and ~_event in order to document more explicitly which types of client resources exist. struct request and struct_request_event are renamed to struct inbound_transaction_resource and ~_event because requests and responses occur in outbound and in inbound transactions. Signed-off-by: Stefan Richter commit fb4430367b0bbee2420132faf16c7c762a39c0bb Author: Stefan Richter Date: Sun Jan 4 16:23:29 2009 +0100 firewire: cdev: reference-count client instances The lifetime of struct client instances must be longer than the lifetime of any client resource. This fixes a possible race between fw_device_op_release and transaction completions. It also prepares for new ioctls for isochronous resource management which will involve delayed processing of client resources. Signed-off-by: Stefan Richter Reviewed-by: David Moore commit 632321ecd99bf85c982a75f8329b4ecbb95b3a8f Author: Stefan Richter Date: Fri Jan 2 12:47:13 2009 +0100 firewire: cdev: fix documentation of FW_CDEV_IOC_GET_INFO The FW_CDEV_IOC_GET_INFO ioctl looks at client->device->config_rom, not at the local node's config ROM. We could fix the implementation or the documentation. I believe the way how it is currently implemented is more useful than the way how it is currently documented. In fact, libdc1394 uses the ABI already as implemented, not as documented. Hence let's change the documentation. Signed-off-by: Stefan Richter commit 4817ed240232e89583b0506c2d8e426739af5da3 Author: Stefan Richter Date: Sun Dec 21 16:39:46 2008 +0100 firewire: prevent creation of multiple IR DMA contexts for the same channel OHCI-1394 1.1 clause 10.4.3 says: "If more than one IR DMA context specifies receives for packets from the same isochronous channel, the context destination for that channel's packets is undefined." Any userspace client and in the future also kernelspace clients can allocate IR DMA contexts for any channel. We don't want them to interfere with each other, hence it is preferable to return -EBUSY if allocation of a second context for a channel is attempted. Notes: - This limitation is OHCI-1394 specific, therefore its proper place of implementation is down in the low-level driver. - Since the ABI simply maps one userspace iso client context to one hardware iso context, this OHCI-1394 limitation alas requires userspace to implement its own multiplexing of iso reception from the same channel and card to multiple clients when needed. - The limitation is independent of channel allocation at the IRM; the latter is really only important for the initiation of iso transmission but not of iso reception. - We don't need to do the same for IT DMA because OHCI-1394 does not have any ties between IT contexts and channels. Only the voluntary channel allocation protocol via the IRM, globally to the FireWire bus, can ensure proper isochronous transmit behaviour anyway. Signed-off-by: Stefan Richter commit a459b8ab9c176143fecef8ace4b70d6dbd7a8113 Author: Stefan Richter Date: Sun Dec 21 16:49:57 2008 +0100 firewire: cdev: use list_first_entry Signed-off-by: Stefan Richter commit da62df141e3f879445e3daef36bd3a12c90841e2 Author: Stefan Richter Date: Sun Dec 14 21:47:36 2008 +0100 firewire: core: remove unused definitions Signed-off-by: Stefan Richter commit 53dca51175cc2f66d21aeb1e70146cca65c53dad Author: Stefan Richter Date: Sun Dec 14 21:47:04 2008 +0100 firewire: remove line breaks before function names type function_name(parameters); is nice to look at but was not used consistently. Signed-off-by: Stefan Richter commit 2dbd7d7e2327b0c2cc4e2de903e1cfa19980a504 Author: Stefan Richter Date: Sun Dec 14 21:45:45 2008 +0100 firewire: standardize a variable name "ret" is the new "retval". Signed-off-by: Stefan Richter commit c490a6dec6cc1b7f0eab56b9fbd565129b3dea2e Author: Stefan Richter Date: Sun Dec 14 21:45:14 2008 +0100 firewire: core: remove obsolete assertions This code never changes. Signed-off-by: Stefan Richter commit 44be21b63e0c551df21253540b7f216f0d18928e Author: Stefan Richter Date: Sun Dec 14 19:21:31 2008 +0100 firewire: core: remove outdated comment Signed-off-by: Stefan Richter commit 3e0b5f0d7cb5fef402517e41eebff5a0f0e65a13 Author: Stefan Richter Date: Sun Dec 14 19:21:01 2008 +0100 firewire: cdev: address handler input validation Like before my commit 1415d9189e8c59aa9c77a3bba419dcea062c145f, fw_core_add_address_handler() does not align the address region now. Instead the caller is required to pass valid parameters. Since one of the callers of fw_core_add_address_handler() is the cdev userspace interface, we now check for valid input. If the client is buggy, we give it a hint with -EINVAL. Signed-off-by: Stefan Richter commit 45ee3199eb3e4233b755a9bb353a0527a4c58b5f Author: Jay Fenlason Date: Sun Dec 21 16:47:17 2008 +0100 firewire: cdev: use an idr rather than a linked list for resources The current code uses a linked list and a counter for storing resources and the corresponding handle numbers. By changing to an idr we can be safe from counter wrap-around giving two resources the same handle. Furthermore, the deallocation ioctls now check whether the resource to be freed is of the intended type. Signed-off-by: Jay Fenlason Some rework by Stefan R: - The idr API documentation says we get an ID within 0...0x7fffffff. Hence we can rest assured that idr handles fit into cdev handles. - Fix some races. Add a client->in_shutdown flag for this purpose. - Add allocation retry to add_client_resource(). - It is possible to use idr_for_each() in fw_device_op_release(). - Fix ioctl_send_response() regression. - Small style changes. Signed-off-by: Stefan Richter commit 97811e347310766030a648fdf0e407b2c91a39c1 Author: Stefan Richter Date: Sun Dec 14 19:19:23 2008 +0100 firewire: cdev: fix race of fw_device_op_release with bus reset Unlink the client from the fw_device earlier in order to prevent bus reset events being added to client->event_list during shutdown. Signed-off-by: Stefan Richter commit 1f3125af8ed7410cc0ebcc0acd59bbfc1ae0057a Author: Stefan Richter Date: Fri Dec 5 22:44:42 2008 +0100 firewire: cdev: tcodes input validation The behaviour of fw-transaction.c::fw_send_request is ill-defined for any other tcodes than read/ write/ lock request tcodes. Therefore prevent requests with wrong tcodes from entering the transaction layer. Maybe fw_send_request should check them itself, but I am not inclined to change it and fw_fill_request from void-valued functions to ones which return error codes and pass those up. Besides, maybe fw_send_request is going to support one more tcode than ioctl_send_request in the future (TCODE_STREAM_DATA). Signed-off-by: Stefan Richter commit bf8e3355ec8f4e472f9841e94203cd759b45226e Author: Stefan Richter Date: Fri Dec 5 22:43:41 2008 +0100 firewire: cdev: documentation fixlet Reported-by: Jay Fenlason Signed-off-by: Stefan Richter commit d67cfb9613f373d76daa2c8d209629601424ca12 Author: Stefan Richter Date: Sun Oct 5 10:37:11 2008 +0200 firewire: convert client_list_lock to mutex So far it is only taken in non-atomic contexts. Signed-off-by: Stefan Richter commit cf417e5494582453c033d8cac9e1352e74215435 Author: Jay Fenlason Date: Fri Oct 3 11:19:09 2008 -0400 firewire: add a client_list_lock This adds a client_list_lock, which only protects the device's client_list, so that future versions of the driver can call code that takes the card->lock while holding the client_list_lock. Adding this lock is much simpler than adding __ versions of all the functions that the future version may need. The one ordering issue is to make sure code never takes the client_list_lock with card->lock held. Since client_list_lock is only used in three places, that isn't hard. Signed-off-by: Jay Fenlason Update fill_bus_reset_event() accordingly. Include linux/spinlock.h. Signed-off-by: Stefan Richter commit 1aa292bb1c53500e3ab570b955d03afa97a9404d Author: David Moore Date: Tue Jul 22 23:23:40 2008 -0700 firewire: Include iso timestamp in headers when header_size > 4 Previously, when an iso context had header_size > 4, the iso header (len/tag/channel/tcode/sy) was passed to userspace followed by quadlets stripped from the payload. This patch changes the behavior: header_size = 8 now passes the header quadlet followed by the timestamp quadlet. When header_size > 8, quadlets are stripped from the payload. The header_size = 4 case remains identical. Since this alters the semantics of the API, the firewire API version needs to be bumped concurrently with this change. This change also refactors the header copying code slightly to be much easier to read. Signed-off-by: David Moore Signed-off-by: Stefan Richter commit 61454f33389ecfac68846e07d29c8d18af342c43 Merge: 4740cd8... 8e0ee43... Author: Felix Blyakher Date: Tue Mar 24 14:25:34 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit bb4f92b3a33bfc31f55098da85be44702bea2d16 Author: Anton Vorontsov Date: Tue Mar 24 12:06:46 2009 -0700 ucc_geth: Fix build breakage caused by a merge This patch fixes following build error: CC ucc_geth.o ucc_geth.c: In function 'ucc_geth_probe': ucc_geth.c:3644: error: implicit declaration of function 'uec_mdio_bus_name' make[2]: *** [ucc_geth.o] Error 1 Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit ee000b7f9fe429d2470c674ccec8d344f6789e0d Author: Lai Jiangshan Date: Tue Mar 24 13:38:06 2009 +0800 tracing: use union for multi-usages field Impact: cleanup struct dyn_ftrace::ip has different usages in his lifecycle, we use union for it. And also for struct dyn_ftrace::flags. Signed-off-by: Lai Jiangshan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49C871BE.3080405@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit cc59c9e8d0165c632fd056c4a23e36f917507fb4 Author: Lai Jiangshan Date: Tue Mar 24 11:03:01 2009 +0800 ftrace: show virtual PID Impact: fix PID output under namespaces When current namespace is not the global namespace, pid read from set_ftrace_pid is no correct. # ~/newpid_namespace_run bash # echo $$ 1 # echo 1 > set_ftrace_pid # cat set_ftrace_pid 3756 Since we write virtual PID to set_ftrace_pid, we need get virtual PID when we read it. Signed-off-by: Lai Jiangshan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49C84D65.9050606@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit be6f164a02f394675e2ac2077dd354cebef5b4c0 Author: Steven Rostedt Date: Tue Mar 24 11:06:24 2009 -0400 function-graph: add option for include sleep times Impact: give user a choice to show times spent while sleeping The user may want to see the time a function spent sleeping. This patch adds the trace option "sleep-time" to allow that. The "sleep-time" option is default on. echo sleep-time > /debug/tracing/trace_options produces: ------------------------------------------ 2) avahi-d-3428 => -0 ------------------------------------------ 2) | finish_task_switch() { 2) 0.621 us | _spin_unlock_irq(); 2) 2.202 us | } 2) ! 1002.197 us | } 2) ! 1003.521 us | } where as, echo nosleep-time > /debug/tracing/trace_options produces: 0) -0 => yum-upd-3416 ------------------------------------------ 0) | finish_task_switch() { 0) 0.643 us | _spin_unlock_irq(); 0) 2.342 us | } 0) + 41.302 us | } 0) + 42.453 us | } Signed-off-by: Steven Rostedt commit a6ecb7e96cb0c8db92af2c312df3df78d88b1f58 Author: Kumar Gala Date: Tue Mar 24 08:23:13 2009 -0500 powerpc/83xx: Update ranges in gianfar node to match other dts The gianfar@25000 node was missing its ranges prop for the mdio bus and provided an explicit ranges property on gianfar@24000 to match change from commit: commit 70b3adbba056f5d9081f1ec9b4a629e3c7502072 Author: Anton Vorontsov Date: Thu Mar 19 21:01:45 2009 +0300 powerpc/83xx: Move gianfar mdio nodes under the ethernet nodes Signed-off-by: Kumar Gala commit 5c8cd82ed7e4af45a1fff81e6762c1d078c03d93 Merge: 2921968... ba63903... Author: Ingo Molnar Date: Tue Mar 24 15:20:51 2009 +0100 Merge branch 'x86/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tiptop into x86/cleanups commit 29219683c46cb89edf5c58418b5305b14646d030 Merge: 04c93ce... 1cc1852... 45c7b28... 9cdec04... c8608d6... 14fc9fb... 8e0ee43... Author: Ingo Molnar Date: Tue Mar 24 15:19:45 2009 +0100 Merge branches 'x86/apic', 'x86/cleanups', 'x86/mm', 'x86/pat', 'x86/setup' and 'x86/signal'; commit 'v2.6.29' into x86/core commit 4b08e149c0e02e97ec49c2a31d14a0d3a02f8074 Author: Benjamin Krill Date: Fri Jan 23 17:18:05 2009 +0100 [MTD] ofpart: Check name property to determine partition nodes. SLOF has a further node which could not be evaluated by the current routine. The current routine returns because the node hasn't the required reg property. As fix this patch adds a check to determine the partition child nodes. If the node is not a partition the number of total partitions will be decreased and loop continues with the next nodes. Signed-off-by: Benjamin Krill Signed-off-by: David Woodhouse commit d8bc55fb334e1124b72684e2d0a2e599aab21ae4 Author: Anton Vorontsov Date: Thu Mar 19 21:01:51 2009 +0300 powerpc/86xx: Move gianfar mdio nodes under the ethernet nodes Currently it doesn't matter where the mdio nodes are placed, but with power management support (i.e. when sleep = <> properties will take effect), mdio nodes placement will become important: mdio controller is a part of the ethernet block, so the mdio nodes should be placed correctly. Otherwise we may wrongly assume that MDIO controllers are available during sleep. Suggested-by: Scott Wood Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 84ba4a5899e613a396c5bea5feadba923534801b Author: Anton Vorontsov Date: Thu Mar 19 21:01:48 2009 +0300 powerpc/85xx: Move gianfar mdio nodes under the ethernet nodes Currently it doesn't matter where the mdio nodes are placed, but with power management support (i.e. when sleep = <> properties will take effect), mdio nodes placement will become important: mdio controller is a part of the ethernet block, so the mdio nodes should be placed correctly. Otherwise we may wrongly assume that MDIO controllers are available during sleep. Suggested-by: Scott Wood Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 70b3adbba056f5d9081f1ec9b4a629e3c7502072 Author: Anton Vorontsov Date: Thu Mar 19 21:01:45 2009 +0300 powerpc/83xx: Move gianfar mdio nodes under the ethernet nodes Currently it doesn't matter where the mdio nodes are placed, but with power management support (i.e. when sleep = <> properties will take effect), mdio nodes placement will become important: mdio controller is a part of the ethernet block, so the mdio nodes should be placed correctly. Otherwise we may wrongly assume that MDIO controllers are available during sleep. Suggested-by: Scott Wood Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 125a00d74ea57a901fd4cc3d84baf2e825704b68 Author: Anton Vorontsov Date: Thu Mar 19 21:01:42 2009 +0300 powerpc/83xx: Add power management support for MPC837x boards This patch adds pmc nodes to the device tree files so that the boards will able to use standby capability of MPC837x processors. The MPC837x PMC controllers are compatible with MPC8349 ones (i.e. no deep sleep). sleep = <> properties are used to specify SCCR masks as described in "Specifying Device Power Management Information (sleep property)" chapter in Documentation/powerpc/booting-without-of.txt. Since I2C1 and eSDHC controllers share the same clock source, they are now placed under sleep-nexus nodes. A processor is able to wakeup the boards on LAN events (Wake-On-Lan), console events (with no_console_suspend kernel command line), GPIO events and external IRQs (IRQ1 and IRQ2). The processor can also wakeup the boards by the fourth general purpose timer in GTM1 block, but the GTM wakeup support isn't yet implemented (it's tested to work, but it's unclear how can we use the quite short GTM timers, and how do we want to expose the GTM to userspace). Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 8aef2d2856158a36c295a8d1288281e4839bff13 Author: Steven Rostedt Date: Tue Mar 24 01:10:15 2009 -0400 function-graph: ignore times across schedule Impact: more accurate timings The current method of function graph tracing does not take into account the time spent when a task is not running. This shows functions that call schedule have increased costs: 3) + 18.664 us | } ------------------------------------------ 3) -0 => kblockd-123 ------------------------------------------ 3) | finish_task_switch() { 3) 1.441 us | _spin_unlock_irq(); 3) 3.966 us | } 3) ! 2959.433 us | } 3) ! 2961.465 us | } This patch uses the tracepoint in the scheduling context switch to account for time that has elapsed while a task is scheduled out. Now we see: ------------------------------------------ 3) -0 => edac-po-1067 ------------------------------------------ 3) | finish_task_switch() { 3) 0.685 us | _spin_unlock_irq(); 3) 2.331 us | } 3) + 41.439 us | } 3) + 42.663 us | } Signed-off-by: Steven Rostedt commit 05ce5818adee8f8efd0a5ca0d900a6789012516b Author: Steven Rostedt Date: Tue Mar 24 00:18:31 2009 -0400 function-graph: prevent more than one tracer registering Impact: prevent crash due to multiple function graph tracers The function graph tracer can currently only handle a single tracer being registered. If another tracer registers with the function graph tracer it can crash the system. Signed-off-by: Steven Rostedt commit 5d1a03dc541dc6672e60e57249ed22f40654ca47 Author: Steven Rostedt Date: Mon Mar 23 23:38:49 2009 -0400 function-graph: moved the timestamp from arch to generic code This patch move the timestamp from happening in the arch specific code into the general code. This allows for better control by the tracer to time manipulation. Signed-off-by: Steven Rostedt commit 1d45209d89e647e9f27e4afa1f47338df73bc112 Author: Eric Dumazet Date: Tue Mar 24 14:26:50 2009 +0100 netfilter: nf_conntrack: Reduce conntrack count in nf_conntrack_free() We use RCU to defer freeing of conntrack structures. In DOS situation, RCU might accumulate about 10.000 elements per CPU in its internal queues. To get accurate conntrack counts (at the expense of slightly more RAM used), we might consider conntrack counter not taking into account "about to be freed elements, waiting in RCU queues". We thus decrement it in nf_conntrack_free(), not in the RCU callback. Signed-off-by: Eric Dumazet Tested-by: Joakim Tjernlund Signed-off-by: Patrick McHardy commit 9d1d4f9eabbca276a2a618a94ed3149d5971063e Author: Nicolas Pitre Date: Mon Mar 23 20:42:29 2009 -0400 [ARM] Kirkwood: fail the probe if internal RTC does not work Having a RTC that doesn't maintain proper time across a reboot is one thing. But a RTC that doesn't work at all and only causes timeouts is another. Tested-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 098335215a4921a8a54193829eaed602dca24df5 Author: Steven Rostedt Date: Sat Mar 21 02:44:50 2009 -0400 tracing: fix memory leak in trace_stat If the function profiler does not have any items recorded and one were to cat the function stat file, the kernel would take a BUG with a NULL pointer dereference. Looking further into this, I found that returning NULL from stat_start did not stop the stat logic, and would later call stat_next. This breaks from the way seq_file works, so I looked into fixing the stat code. This is where I noticed that the last next_entry is never freed. It is allocated, and if the stat_next returns NULL, the code breaks out of the loop, unlocks the mutex and exits. We never link the next_entry nor do we free it. Thus it is a real memory leak. This patch rearranges the code a bit to not only fix the memory leak, but also to act more like seq_file where nothing is printed if there is nothing to print. That is, stat_start returns NULL. Signed-off-by: Steven Rostedt commit 093419971e03362a00f499960557c119982ea09f Author: Li Zefan Date: Tue Mar 24 17:43:30 2009 +0800 blktrace: print human-readable act_mask Impact: new feature, allow symbolic values in /debug/tracing/act_mask Print stringified act_mask instead of hex value: # cat act_mask read,write,barrier,sync,queue,requeue,issue,complete,fs,pc,ahead,meta, discard,drv_data # echo "meta,write" > act_mask # cat act_mask write,meta Also: - make act_mask accept "ahead", "meta", "discard" and "drv_data" - use strsep() instead of strchr() to parse user input - return -EINVAL if a token is not found in the mask map - fix a bug that 'value' is unsigned, so it can < 0 - propagate error value of blk_trace_mask2str() to userspace, but not always return -ENXIO. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <49C8AB42.1000802@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e0dc81bec0927fa0c8aabc521793161909eef7a5 Author: Li Zefan Date: Tue Mar 24 16:05:51 2009 +0800 blktrace: fix t_error() Impact: fix error flag output t_error() should return t->error but not t->sector. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <49C8945F.5020802@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 65796348e09880e12b97267d39b8857c758440a6 Author: Li Zefan Date: Tue Mar 24 16:05:06 2009 +0800 blktrace: fix wrong calculation of RWBS Impact: fix the output of IO type category characters Trace categories are the upper 16 bits, not the lower 16 bits. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <49C89432.8010805@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e4955c9986a27bb47ddeb6cd55803053f547e2e9 Author: Li Zefan Date: Tue Mar 24 16:04:37 2009 +0800 blktrace: mark ddir_act[] const Impact: cleanup ddir_act and what2act always stay immutable. Signed-off-by: Li Zefan Acked-by: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo LKML-Reference: <49C89415.5080503@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 68db1961bbf4e16c220ccec4a780e966bc1fece3 Author: Nikanth Karthikesan Date: Tue Mar 24 12:29:54 2009 +0100 loop: support barrier writes Honour barrier requests in the loop back block device driver. In case of barrier bios, flush the backing file once before processing the barrier and once after to guarantee ordering. In case of filesystems that does not support fsync, barrier bios would be failed with -EOPNOTSUPP. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit 05378940caf979a8655c18b18a17213dcfa52412 Author: Boaz Harrosh Date: Tue Mar 24 12:23:40 2009 +0100 bsg: add support for tail queuing Currently inherited from sg.c bsg will submit asynchronous request at the head-of-the-queue, (using "at_head" set in the call to blk_execute_rq_nowait()). This is bad in situation where the queues are full, requests will execute out of order, and can cause starvation of the first submitted requests. The sg_io_v4->flags member is used and a bit is allocated to denote the Q_AT_TAIL. Zero is to queue at_head as before, to be compatible with old code at the write/read path. SG_IO code path behavior was changed so to be the same as write/read behavior. SG_IO was very rarely used and breaking compatibility with it is OK at this stage. sg_io_hdr at sg.h also has a flags member and uses 3 bits from the first nibble and one bit from the last nibble. Even though none of these bits are supported by bsg, The second nibble is allocated for use by bsg. Just in case. Signed-off-by: Boaz Harrosh CC: Douglas Gilbert Signed-off-by: Jens Axboe commit 0061d38642244892e17156f005bd7055fe744644 Author: Dave Jones Date: Mon Mar 16 10:06:05 2009 +0100 cpqarray: enable bus mastering We've been carrying this patch for the last 3 years in Fedora, long past time we got it upstream... Call pci_set_master to enable bus-mastering if the BIOS hasn't done it already. Signed-off-by: Kyle McMartin Signed-off-by: Dave Jones Signed-off-by: Jens Axboe commit d399228646e26db315d6233bed65ec9d08c57f57 Author: Petros Koutoupis Date: Wed Mar 11 10:49:35 2009 +0100 block: genhd.h cleanup patch In include/linux/genhd.h: Line 335 has a comment that needs to be updated from: /* drivers/block/ll_rw_blk.c */ to /* block/blk-core.c */. Also as of kernel 2.6.16, the function definition for get_blkdev_list was removed from block/genhd.c but the function declaration is still present on line 339. This patch addresses both those fixes, by updating the comment and removing the declaration. Signed-off-by: Petros Koutoupis Signed-off-by: Jens Axboe commit 6d2a78e783416ba99e36beb1d4395b785b34e867 Author: Martin K. Petersen Date: Tue Mar 10 08:27:39 2009 +0100 block: add private bio_set for bio integrity allocations The integrity bio allocation needs its own bio_set to avoid violating the mempool allocation rules and risking deadlocks. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 32ca163c9cdb33151d79e95a7cf244f62b5d4418 Author: Petros Koutoupis Date: Tue Mar 10 08:25:54 2009 +0100 block: genhd.h comment needs updating The include/linux/genhd.h file, on line 338-352 declares some function prototypes in which the comment on line 338 states that the definition of these prototypes are to be found at drivers/block/genhd.c. The problem is that genhd.c has been relocated to block/genhd.c. See attached patch to correct this minor cosmetic typo. Signed-off-by: Petros Koutoupis Signed-off-by: Jens Axboe commit 50e174931051bf4849cd7931667bb0a4d681ff60 Author: Jens Axboe Date: Fri Mar 6 11:12:17 2009 +0100 block: get rid of unused blkdev_free_rq() define Signed-off-by: Jens Axboe commit f3b144aa7f2861e1024682af3bf3dbf1c29184b9 Author: Jens Axboe Date: Fri Mar 6 08:48:33 2009 +0100 block: remove various blk_queue_*() setting functions in blk_init_queue_node() It calls blk_queue_make_request(), which sets the identical set of limits. Signed-off-by: Jens Axboe commit 10cbda97e73c7d537d7174eadb2d098484f8f1da Author: Jens Axboe Date: Fri Feb 27 20:14:20 2009 +0100 cciss: add BUILD_BUG_ON() for catching bad CommandList_struct alignment The hardware requires 64-bit alignment of commands, so add a build bug check for that. The recent commit 8a3173de4ab4cdacc43675dc5c077f9a5bf17f5f didn't change the size of the command, but other additions/changes may and thus break badly at runtime. Signed-off-by: Jens Axboe commit a7fcd37cdcb47806fb8a9070f006ee34061defa6 Author: Jens Axboe Date: Fri Dec 5 16:10:29 2008 +0100 block: don't create bio_vec slabs of less than the inline number If we don't have CONFIG_BLK_DEV_INTEGRITY set, then we don't have any external dependencies on the bio_vec slabs. So don't create the ones that we will inline anyway. Signed-off-by: Jens Axboe commit 34053979fb1d923217685cf166349f1899980581 Author: Ingo Molnar Date: Sat Feb 21 11:16:36 2009 +0100 block: cleanup bio_alloc_bioset() this warning (which got fixed by commit b2bf968): fs/bio.c: In function ‘bio_alloc_bioset’: fs/bio.c:305: warning: ‘p’ may be used uninitialized in this function Triggered because the code flow in bio_alloc_bioset() is correct but a bit complex for the compiler to see through. Streamline it a bit - this also makes the code a tiny bit more compact: text data bss dec hex filename 7540 256 40 7836 1e9c bio.o.before 7539 256 40 7835 1e9b bio.o.after Also remove an older compiler-warnings annotation from this function, it's not needed. Signed-off-by: Ingo Molnar Signed-off-by: Jens Axboe commit df3647b24510e23523f81a77bb179cd9ae3d613b Author: Steven Whitehouse Date: Mon Mar 23 11:38:55 2009 +0000 GFS2: Fix freeze issue This removes some old code that was causing issues during filesystem freeze. Reported-by: Andrew Price Tested-by: Andrew Price Signed-off-by: Steven Whitehouse commit 9c538837d844574787c95bd5665f684559fb7065 Author: Steven Whitehouse Date: Thu Mar 19 13:15:44 2009 +0000 Fix a minor bug in the previous patch The logic requires that we mark the glock dirty in page_mkwrite otherwise we might not flush correctly in the case that no allocation was required in the process of dirying the page. Also we need to set the shared write flag early for the same reason. Signed-off-by: Steven Whitehouse commit 6bac243f0793499782267342eba852a8a6cc7ac4 Author: Steven Whitehouse Date: Mon Mar 9 09:03:51 2009 +0000 GFS2: Clean up of glops.c This cleans up a number of bits of code mostly based in glops.c. A couple of simple functions have been merged into the callers to make it more obvious what is going on, the mysterious raising of i_writecount around the truncate_inode_pages() call has been removed. The meta_go_* operations have been renamed rgrp_go_* since that is the only lock type that they are used with. The unused argument of gfs2_read_sb has been removed. Also a bug has been fixed where a check for the rindex inode was in the wrong callback. More comments are added, and the debugging code is improved too. Signed-off-by: Steven Whitehouse commit 02ffad08e838997fad3de05c85560a57e5fd92de Author: Benjamin Marzinski Date: Fri Mar 6 10:03:20 2009 -0600 GFS2: Fix locking bug in failed shared to exclusive conversion After calling out to the dlm, GFS2 sets the new state of a glock to gl_target in gdlm_ast(). However, gl_target is not always the lock state that was requested. If a conversion from shared to exclusive fails, finish_xmote() will call do_xmote() with LM_ST_UNLOCKED, instead of gl->gl_target, so that it can reacquire the lock in exlusive the next time around. In this case, setting the lock to gl_target in gdlm_ast() will make GFS2 think that it has the glock in exclusive mode, when really, it doesn't have the glock locked at all. This patch adds a new field to the gfs2_glock structure, gl_req, to track the mode that was requested. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 229615def3f573fc448d20f62c6ec1bc9340cefb Author: Hisashi Hifumi Date: Tue Mar 3 11:45:20 2009 +0900 GFS2: Pagecache usage optimization on GFS2 I introduced "is_partially_uptodate" aops for GFS2. A page can have multiple buffers and even if a page is not uptodate, some buffers can be uptodate on pagesize != blocksize environment. This aops checks that all buffers which correspond to a part of a file that we want to read are uptodate. If so, we do not have to issue actual read IO to HDD even if a page is not uptodate because the portion we want to read are uptodate. "block_is_partially_uptodate" function is already used by ext2/3/4. With the following patch random read/write mixed workloads or random read after random write workloads can be optimized and we can get performance improvement. I did a performance test using the sysbench. #sysbench --num-threads=16 --max-requests=200000 --test=fileio --file-num=1 --file-block-size=8K --file-total-size=2G --file-test-mode=rndrw --file-fsync-freq=0 --file-rw-ratio=1 run -2.6.29-rc6 Test execution summary: total time: 202.6389s total number of events: 200000 total time taken by event execution: 2580.0480 per-request statistics: min: 0.0000s avg: 0.0129s max: 49.5852s approx. 95 percentile: 0.0462s -2.6.29-rc6-patched Test execution summary: total time: 177.8639s total number of events: 200000 total time taken by event execution: 2419.0199 per-request statistics: min: 0.0000s avg: 0.0121s max: 52.4306s approx. 95 percentile: 0.0444s arch: ia64 pagesize: 16k blocksize: 4k Signed-off-by: Hisashi Hifumi Signed-off-by: Steven Whitehouse commit 02ab1721591f7ac1f632fc74b301513bd6f5849f Author: Hannes Eder Date: Sat Feb 21 02:12:05 2009 +0100 GFS2: fix sparse warning: Should it be static? Impact: Make symbol static. Fix this sparse warning: fs/gfs2/rgrp.c:188:5: warning: symbol 'gfs2_bitfit' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Steven Whitehouse commit 075ac44875323941210335b3b0abc1895356d919 Author: Hannes Eder Date: Sat Feb 21 02:11:42 2009 +0100 GFS2: fix sparse warnings: constant is so big it is ... Fix this sparse warnings: fs/gfs2/rgrp.c:156:23: warning: constant 0xffffffffffffffff is so big it is unsigned long long fs/gfs2/rgrp.c:157:23: warning: constant 0xaaaaaaaaaaaaaaaa is so big it is unsigned long long fs/gfs2/rgrp.c:158:23: warning: constant 0x5555555555555555 is so big it is long long fs/gfs2/rgrp.c:194:20: warning: constant 0x5555555555555555 is so big it is long long fs/gfs2/rgrp.c:204:44: warning: constant 0x5555555555555555 is so big it is long long Signed-off-by: Hannes Eder Signed-off-by: Steven Whitehouse commit b9a9694570756e689068f0450cf3c570f74b2b01 Author: Steven Whitehouse Date: Thu Feb 19 10:32:35 2009 +0000 GFS2: Support quota/noquota mount arguments This adds support for "quota" and "noquota" mount options in addition to the existing "quota=on/off/account" so that we are compatible with the names by which these options are more generally known. Signed-off-by: Steven Whitehouse commit 223b2b889f379dcea9cef722336a57e8b398bc95 Author: Steven Whitehouse Date: Tue Feb 17 14:13:35 2009 +0000 GFS2: Fix alignment issue and tidy gfs2_bitfit An alignment issue with the existing bitfit algorithm was reported on IA64. This patch attempts to fix that, and also to tidy up the code a bit. There is now more documentation about how this works and it has survived a number of different tests. Signed-off-by: Steven Whitehouse commit 64d576ba23bfd9b770cbb0279200f479272eb859 Author: Steven Whitehouse Date: Thu Feb 12 13:31:58 2009 +0000 GFS2: Add a "demote a glock" interface to sysfs This adds a sysfs file called demote_rq to GFS2's per filesystem directory. Its possible to use this file to demote arbitrary glocks in exactly the same way as if a request had come in from a remote node. This is intended for testing issues relating to caching of data under glocks. Despite that, the interface is generic enough to send requests to any type of glock, but be careful as its not always safe to send an arbitrary message to an arbitrary glock. For that reason and to prevent DoS, this interface is restricted to root only. The messages look like this: : Example: echo -n "2:13324 EX" >/sys/fs/gfs2/unity:myfs/demote_rq Which means "please demote inode glock (type 2) number 13324 so that I can get an EX (exclusive) lock". The lock modes are those which would normally be sent by a remote node in its callback so if you want to unlock a glock, you use EX, to demote to shared, use SH or PR (depending on whether you like GFS2 or DLM lock modes better!). If the glock doesn't exist, you'll get -ENOENT returned. If the arguments don't make sense, you'll get -EINVAL returned. The plan is that this interface will be used in combination with the blktrace patch which I recently posted for comments although it is, of course, still useful in its own right. Signed-off-by: Steven Whitehouse commit 02e3cc70ecbd4352ae4d26459929f43ab1547251 Author: Steven Whitehouse Date: Tue Feb 10 13:48:30 2009 +0000 GFS2: Expose UUID via sysfs/uevent Since we have a UUID, we ought to expose it to the user via sysfs and uevents. We already have the fs name in both of these places (a combination of the lock proto and lock table name) so if we add the UUID as well, we have a full set. For older filesystems (i.e. those created before mkfs.gfs2 was writing UUIDs by default) the sysfs file will appear zero length, and no UUID env var will be added to the uevents. Signed-off-by: Steven Whitehouse commit f15ab5619d8068a321094f4705147764d689e88e Author: Steven Whitehouse Date: Mon Feb 9 09:25:01 2009 +0000 GFS2: Support generation of discard requests This patch allows GFS2 to generate discard requests for blocks which are no longer useful to the filesystem (i.e. those which have been freed as the result of an unlink operation). The requests are generated at the time which those blocks become available for reuse in the filesystem. In order to use this new feature, you have to specify the "discard" mount option. The code coalesces adjacent blocks into a single extent when generating the discard requests, thus generating the minimum number. If an error occurs when the request has been sent to the block device, then it will print a message and turn off the requests for that filesystem. If the problem is temporary, then you can use remount to turn the option back on again. There is also a nodiscard mount option so that you can use remount to turn discard requests off, if required. Signed-off-by: Steven Whitehouse commit d8348de06f704fc34d24ec068546ecb1045fc11a Author: Steven Whitehouse Date: Thu Feb 5 10:12:38 2009 +0000 GFS2: Fix deadlock on journal flush This patch fixes a deadlock when the journal is flushed and there are dirty inodes other than the one which caused the journal flush. Originally the journal flushing code was trying to obtain the transaction glock while running the flush code for an inode glock. We no longer require the transaction glock at this point in time since we know that any attempt to get the transaction glock from another node will result in a journal flush. So if we are flushing the journal, we can be sure that the transaction lock is still cached from when the transaction was started. By inlining a version of gfs2_trans_begin() (minus the bit which gets the transaction glock) we can avoid the deadlock problems caused if there is a demote request queued up on the transaction glock. In addition I've also moved the umount rwsem so that it covers the glock workqueue, since it all demotions are done by this workqueue now. That fixes a bug on umount which I came across while fixing the original problem. Reported-by: David Teigland Signed-off-by: Steven Whitehouse commit e7c8707ea2b9106f0f78c43348ff5d5e82ba7961 Author: Steven Whitehouse Date: Tue Jan 20 16:39:23 2009 +0000 GFS2: Fix error path ref counting for root inode We were keeping hold of an extra ref to the root inode in one of the error paths, that resulted in a hang. Reported-by: Nate Straz Signed-off-by: Steven Whitehouse Tested-by: Robert Peterson commit ac2425e7d319dec0523e52ee120a158ce6668cbd Author: Steven Whitehouse Date: Tue Jan 13 09:53:43 2009 +0000 GFS2: Remove unused field from glock The time stamp field is unused in the glock now that we are using a shrinker, so that we can remove it and save sizeof(unsigned long) bytes in each glock. Signed-off-by: Steven Whitehouse commit f057f6cdf64175db1151b1f5d110e29904f119a1 Author: Steven Whitehouse Date: Mon Jan 12 10:43:39 2009 +0000 GFS2: Merge lock_dlm module into GFS2 This is the big patch that I've been working on for some time now. There are many reasons for wanting to make this change such as: o Reducing overhead by eliminating duplicated fields between structures o Simplifcation of the code (reduces the code size by a fair bit) o The locking interface is now the DLM interface itself as proposed some time ago. o Fewer lookups of glocks when processing replies from the DLM o Fewer memory allocations/deallocations for each glock o Scope to do further optimisations in the future (but this patch is more than big enough for now!) Please note that (a) this patch relates to the lock_dlm module and not the DLM itself, that is still a separate module; and (b) that we retain the ability to build GFS2 as a standalone single node filesystem with out requiring the DLM. This patch needs a lot of testing, hence my keeping it I restarted my -git tree after the last merge window. That way, this has the maximum exposure before its merged. This is (modulo a few minor bug fixes) the same patch that I've been posting on and off the the last three months and its passed a number of different tests so far. Signed-off-by: Steven Whitehouse commit 22077f57dec8fcbeb1112b35313961c0902ff038 Author: Steven Whitehouse Date: Thu Jan 8 14:28:42 2009 +0000 GFS2: Remove "double" locking in quota We only really need a single spin lock for the quota data, so lets just use the lru lock for now. Signed-off-by: Steven Whitehouse Cc: Abhijith Das commit 0a7ab79c5b5a16035e09b466c9013c8afc3b4bff Author: Abhijith Das Date: Wed Jan 7 16:03:37 2009 -0600 GFS2: change gfs2_quota_scan into a shrinker Deallocation of gfs2_quota_data objects now happens on-demand through a shrinker instead of routinely deallocating through the quotad daemon. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 2db2aac255c38e75ad17c0b24feb589ccfccc0ae Author: Abhijith Das Date: Wed Jan 7 10:21:34 2009 -0600 GFS2: Bring back lvb-related stuff to lock_nolock to support quotas The quota code uses lvbs and this is currently not implemented in lock_nolock, thereby causing panics when quota is enabled with lock_nolock. This patch adds the relevant bits. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 6f04c1c7fe9566d777fb7961391690866839e722 Author: Steven Whitehouse Date: Tue Jan 6 11:52:25 2009 +0000 GFS2: Fix remount argument parsing The following patch fixes an issue relating to remount and argument parsing. After this fix is applied, remount becomes atomic in that it either succeeds changing the mount to the new state, or it fails and leaves it in the old state. Previously it was possible for the parsing of options to fail part way though and for the fs to be left in a state where some of the new arguments had been applied, but some had not. Signed-off-by: Steven Whitehouse commit 9cf0669746be19a4906a6c48920060bcf54c708b Author: Sheng Yang Date: Wed Mar 18 15:33:07 2009 +0800 intel-iommu: VT-d page table to support snooping control bit The user can request to enable snooping control through VT-d page table. Signed-off-by: Sheng Yang Signed-off-by: David Woodhouse commit dbb9fd8630e95b6155aff658a2b5f80e95ca2bc6 Author: Sheng Yang Date: Wed Mar 18 15:33:06 2009 +0800 iommu: Add domain_has_cap iommu_ops This iommu_op can tell if domain have a specific capability, like snooping control for Intel IOMMU, which can be used by other components of kernel to adjust the behaviour. Signed-off-by: Sheng Yang Signed-off-by: David Woodhouse commit 58c610bd1a3f50820e45a7c09ec0e44d2cda15dd Author: Sheng Yang Date: Wed Mar 18 15:33:05 2009 +0800 intel-iommu: Snooping control support Snooping control enabled IOMMU to guarantee DMA cache coherency and thus reduce software effort (VMM) in maintaining effective memory type. Signed-off-by: Sheng Yang Signed-off-by: David Woodhouse commit 9cdec049389ce2c324fd1ec508a71528a27d4a07 Author: Pallipadi, Venkatesh Date: Mon Mar 23 12:07:20 2009 -0700 x86, PAT, PCI: Change vma prot in pci_mmap to reflect inherited prot While looking at the issue in the thread: http://marc.info/?l=dri-devel&m=123606627824556&w=2 noticed a bug in pci PAT code and memory type setting. PCI mmap code did not set the proper protection in vma, when it inherited protection in reserve_memtype. This bug only affects the case where there exists a WC mapping before X does an mmap with /proc or /sys pci interface. This will cause X userlevel mmap from /proc or /sysfs to fail on fork. Reported-by: Kevin Winchester Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Cc: Jesse Barnes Cc: Dave Airlie Cc: LKML-Reference: <20090323190720.GA16831@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit c0e6616ae69774f42fda7a8cc5dc699aff311b40 Author: Yoshihiro Shimoda Date: Tue Mar 24 18:27:24 2009 +0900 [MTD] [NAND] sh_flctl: fix hardware ecc handling for 2048 byte page Signed-off-by: Jeremy Baker Signed-off-by: Yoshihiro Shimoda Signed-off-by: David Woodhouse commit 16175a796d061833aacfbd9672235f2d2725df65 Author: Avi Kivity Date: Mon Mar 23 22:13:44 2009 +0200 KVM: VMX: Don't allow uninhibited access to EFER on i386 vmx_set_msr() does not allow i386 guests to touch EFER, but they can still do so through the default: label in the switch. If they set EFER_LME, they can oops the host. Fix by having EFER access through the normal channel (which will check for EFER_LME) even on i386. Reported-and-tested-by: Benjamin Gilbert Cc: stable@kernel.org Signed-off-by: Avi Kivity commit bc7a8660df62da3fb5cad025322eda75fbee8731 Author: Sheng Yang Date: Tue Mar 17 19:27:19 2009 +0800 KVM: Correct deassign device ioctl to IOW It's IOR by mistake, so fix it before release. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 046a48b35baa7c66d0d0331256ba12ca51665411 Author: Liu Yu Date: Tue Mar 17 16:57:46 2009 +0800 KVM: ppc: e500: Fix the bug that KVM is unstable in SMP TLB entry should enable memory coherence in SMP. And like commit 631fba9dd3aca519355322cef035730609e91593, remove guard attribute to enable the prefetch of guest memory. Signed-off-by: Liu Yu Signed-off-by: Avi Kivity commit bc35cbc85cd78213590761618a13da6a9707652c Author: Liu Yu Date: Tue Mar 17 16:57:45 2009 +0800 KVM: ppc: e500: Fix the bug that mas0 update to wrong value when read TLB entry Should clear and then update the next victim area here. Guest kernel only read TLB1 when startup kernel, this bug result in an extra 4K TLB1 mapping in guest from 0x0 to 0x0. As the problem has no impact to bootup a guest, we didn't notice it before. Signed-off-by: Liu Yu Signed-off-by: Avi Kivity commit 4539b35881ae9664b0e2953438dd83f5ee02c0b4 Author: Andrea Arcangeli Date: Thu Mar 12 18:18:43 2009 +0100 KVM: Fix missing smp tlb flush in invlpg When kvm emulates an invlpg instruction, it can drop a shadow pte, but leaves the guest tlbs intact. This can cause memory corruption when swapping out. Without this the other cpu can still write to a freed host physical page. tlb smp flush must happen if rmap_remove is called always before mmu_lock is released because the VM will take the mmu_lock before it can finally add the page to the freelist after swapout. mmu notifier makes it safe to flush the tlb after freeing the page (otherwise it would never be safe) so we can do a single flush for multiple sptes invalidated. Cc: stable@kernel.org Signed-off-by: Andrea Arcangeli Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 36463146ffb7eee4582ed785a8c8be213b8ed110 Author: Sheng Yang Date: Mon Mar 16 16:33:43 2009 +0800 KVM: Get support IRQ routing entry counts In capability probing ioctl. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit cded19f396bc3c9d299331709d0a9fbc6ecc148a Author: Hannes Eder Date: Sat Feb 21 02:19:13 2009 +0100 KVM: fix sparse warnings: Should it be static? Impact: Make symbols static. Fix this sparse warnings: arch/x86/kvm/mmu.c:992:5: warning: symbol 'mmu_pages_add' was not declared. Should it be static? arch/x86/kvm/mmu.c:1124:5: warning: symbol 'mmu_pages_next' was not declared. Should it be static? arch/x86/kvm/mmu.c:1144:6: warning: symbol 'mmu_pages_clear_parents' was not declared. Should it be static? arch/x86/kvm/x86.c:2037:5: warning: symbol 'kvm_read_guest_virt' was not declared. Should it be static? arch/x86/kvm/x86.c:2067:5: warning: symbol 'kvm_write_guest_virt' was not declared. Should it be static? virt/kvm/irq_comm.c:220:5: warning: symbol 'setup_routing_entry' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit d7364a29b305862cbc92b3f8b6ad9968270d068c Author: Hannes Eder Date: Sat Feb 21 02:18:13 2009 +0100 KVM: fix sparse warnings: context imbalance Impact: Attribute function with __acquires(...) resp. __releases(...). Fix this sparse warnings: arch/x86/kvm/i8259.c:34:13: warning: context imbalance in 'pic_lock' - wrong count at exit arch/x86/kvm/i8259.c:39:13: warning: context imbalance in 'pic_unlock' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit 41d6af119206e98764b4ae6d264d63acefcf851e Author: Amit Shah Date: Thu Feb 28 16:06:15 2008 +0530 KVM: is_long_mode() should check for EFER.LMA is_long_mode currently checks the LongModeEnable bit in EFER instead of the LongModeActive bit. This is wrong, but we survived this till now since it wasn't triggered. This breaks guests that go from long mode to compatibility mode. This is noticed on a solaris guest and fixes bug #1842160 Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 401d10dee083bda281f2fdcdf654080313ba30ec Author: Amit Shah Date: Fri Feb 20 22:53:37 2009 +0530 KVM: VMX: Update necessary state when guest enters long mode setup_msrs() should be called when entering long mode to save the shadow state for the 64-bit guest state. Using vmx_set_efer() in enter_lmode() removes some duplicated code and also ensures we call setup_msrs(). We can safely pass the value of shadow_efer to vmx_set_efer() as no other bits in the efer change while enabling long mode (guest first sets EFER.LME, then sets CR0.PG which causes a vmexit where we activate long mode). With this fix, is_long_mode() can check for EFER.LMA set instead of EFER.LME and 5e23049e86dd298b72e206b420513dbc3a240cd9 can be reverted. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 6b08035f3e64d8e474be166d682b52c95941662e Author: Xiantao Zhang Date: Mon Feb 16 15:24:05 2009 +0800 KVM: ia64: Fix the build errors due to lack of macros related to MSI. Include the newly introduced msidef.h to solve the build issues. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 2fa8937f3af8873e006ce324e7b2d3f9b2077b87 Author: Xiantao Zhang Date: Mon Feb 16 15:14:48 2009 +0800 ia64: Move the macro definitions related to MSI to one header file. For kvm's MSI support, it needs these macros defined in ia64_msi.c, and to avoid duplicate them, move them to one header file and share with kvm. Signed-off-by: Xiantao Zhang Acked-by: Tony Luck Signed-off-by: Avi Kivity commit 4a906e49f103c2e544148a209ba1db316510799f Author: Weidong Han Date: Fri Feb 13 17:27:51 2009 +0800 KVM: fix kvm_vm_ioctl_deassign_device only need to set assigned_dev_id for deassignment, use match->flags to judge and deassign it. Acked-by: Mark McLoughlin Signed-off-by: Weidong Han Signed-off-by: Avi Kivity commit 2df8a40bccf5999261d0d3a82eac5a77678e61bd Author: Weidong Han Date: Fri Feb 13 10:50:56 2009 +0800 KVM: define KVM_CAP_DEVICE_DEASSIGNMENT define KVM_CAP_DEVICE_DEASSIGNMENT and KVM_DEASSIGN_PCI_DEVICE for device deassignment. the ioctl has been already implemented in the commit: 0a920356748df4fb06e86c21c23d2ed6d31d37ad Acked-by: Mark McLoughlin Signed-off-by: Weidong Han Signed-off-by: Avi Kivity commit b0a1835d53c57bc38b36867c04436b60454cb610 Author: Liu Yu Date: Tue Feb 17 16:52:08 2009 +0800 KVM: ppc: Add emulation of E500 register mmucsr0 Latest kernel flushes TLB via mmucsr0. Signed-off-by: Liu Yu Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 71450f78853b82d55cda4e182c9db6e26b631485 Author: Gleb Natapov Date: Mon Feb 23 12:57:11 2009 +0200 KVM: Report IRQ injection status for MSI delivered interrupts Return number of CPUs interrupt was successfully injected into or -1 if none. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c5bc22424021cabda862727fb3f5098b866f074d Author: Joerg Roedel Date: Thu Feb 19 12:18:56 2009 +0100 KVM: MMU: Fix another largepage memory leak In the paging_fetch function rmap_remove is called after setting a large pte to non-present. This causes rmap_remove to not drop the reference to the large page. The result is a memory leak of that page. Cc: stable@kernel.org Signed-off-by: Joerg Roedel Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1fbdc7a58512a6283e10fd27108197679db95ffa Author: Andre Przywara Date: Sun Jan 11 22:39:44 2009 +0100 KVM: SVM: set accessed bit for VMCB segment selectors In the segment descriptor _cache_ the accessed bit is always set (although it can be cleared in the descriptor itself). Since Intel checks for this condition on a VMENTRY, set this bit in the AMD path to enable cross vendor migration. Cc: stable@kernel.org Signed-off-by: Andre Przywara Acked-By: Amit Shah Signed-off-by: Avi Kivity commit 4925663a079c77d95d8685228ad6675fc5639c8e Author: Gleb Natapov Date: Wed Feb 4 17:28:14 2009 +0200 KVM: Report IRQ injection status to userspace. IRQ injection status is either -1 (if there was no CPU found that should except the interrupt because IRQ was masked or ioapic was misconfigured or ...) or >= 0 in that case the number indicates to how many CPUs interrupt was injected. If the value is 0 it means that the interrupt was coalesced and probably should be reinjected. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 452425dbaa1974e9fc489e64a8de46a47b4c2754 Author: Joerg Roedel Date: Wed Feb 18 14:54:37 2009 +0100 KVM: MMU: remove assertion in kvm_mmu_alloc_page The assertion no longer makes sense since we don't clear page tables on allocation; instead we clear them during prefetch. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 6bed6b9e84bf5e6b468847a50c0751389fdd01d4 Author: Joerg Roedel Date: Wed Feb 18 14:08:59 2009 +0100 KVM: MMU: remove redundant check in mmu_set_spte The following code flow is unnecessary: if (largepage) was_rmapped = is_large_pte(*shadow_pte); else was_rmapped = 1; The is_large_pte() function will always evaluate to one here because the (largepage && !is_large_pte) case is already handled in the first if-clause. So we can remove this check and set was_rmapped to one always here. Signed-off-by: Joerg Roedel Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit fc5659c8c6b6c4e02ac354b369017c1bf231f347 Author: Joerg Roedel Date: Wed Feb 18 14:08:58 2009 +0100 KVM: MMU: handle compound pages in kvm_is_mmio_pfn The function kvm_is_mmio_pfn is called before put_page is called on a page by KVM. This is a problem when when this function is called on some struct page which is part of a compund page. It does not test the reserved flag of the compound page but of the struct page within the compount page. This is a problem when KVM works with hugepages allocated at boot time. These pages have the reserved bit set in all tail pages. Only the flag in the compount head is cleared. KVM would not put such a page which results in a memory leak. Signed-off-by: Joerg Roedel Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit c807660407a695f390034e402edfe544a1d2e40c Author: Gerd Hoffmann Date: Wed Feb 4 17:52:04 2009 +0100 KVM: Fix kvmclock on !constant_tsc boxes kvmclock currently falls apart on machines without constant tsc. This patch fixes it. Changes: * keep tsc frequency in a per-cpu variable. * handle kvmclock update using a new request flag, thus checking whenever we need an update each time we enter guest context. * use a cpufreq notifier to track frequency changes and force kvmclock updates. * send ipis to kick cpu out of guest context if needed to make sure the guest doesn't see stale values. Signed-off-by: Gerd Hoffmann Signed-off-by: Avi Kivity commit 49cd7d2238e44f7ee4269481cd8a1261cc8f93a5 Author: Sheng Yang Date: Wed Feb 11 13:50:40 2009 +0800 KVM: VMX: Use kvm_mmu_page_fault() handle EPT violation mmio Removed duplicated code. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 79950e1073150909619b7c0f9a39a2fea83a42d8 Author: Sheng Yang Date: Tue Feb 10 13:57:06 2009 +0800 KVM: Use irq routing API for MSI Merge MSI userspace interface with IRQ routing table. Notice the API have been changed, and using IRQ routing table would be the only interface kvm-userspace supported. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 34c33d163fe509da8414a736c6328855f8c164e5 Author: Jan Kiszka Date: Sun Feb 8 13:28:15 2009 +0100 KVM: Drop unused evaluations from string pio handlers Looks like neither the direction nor the rep prefix are used anymore. Drop related evaluations from SVM's and VMX's I/O exit handlers. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 1b2fd70c4eddef53f32639296818c0253e7ca48d Author: Alexander Graf Date: Mon Feb 2 16:23:51 2009 +0100 KVM: Add FFXSR support AMD K10 CPUs implement the FFXSR feature that gets enabled using EFER. Let's check if the virtual CPU description includes that CPUID feature bit and allow enabling it then. This is required for Windows Server 2008 in Hyper-V mode. v2 adds CPUID capability exposure Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit d20626936dd6aa783760e780dae5abb127564316 Author: Alexander Graf Date: Mon Feb 2 16:23:50 2009 +0100 x86: Add EFER descriptions for FFXSR AMD k10 includes support for the FFXSR feature, which leaves out XMM registers on FXSAVE/FXSAVE when the EFER_FFXSR bit is set in EFER. The CPUID feature bit exists already, but the EFER bit is missing currently, so this patch adds it to the list of known EFER bits. Signed-off-by: Alexander Graf CC: Joerg Roedel Signed-off-by: Avi Kivity commit 44882eed2ebe7f75f8cdae5671ab1d6e0fa40dbc Author: Marcelo Tosatti Date: Tue Jan 27 15:12:38 2009 -0200 KVM: make irq ack notifications aware of routing table IRQ ack notifications assume an identity mapping between pin->gsi, which might not be the case with, for example, HPET. Translate before acking. Signed-off-by: Marcelo Tosatti Acked-by: Gleb Natapov commit 934d534f8a5a39e20d5682b3a3a45ff351706b59 Author: Jes Sorensen Date: Wed Jan 21 15:16:43 2009 +0100 KVM: ia64: dynamic nr online cpus Account for number of online cpus and use that in loops iterating over the list of vpus instead of scanning the full array unconditionally. This patch is a building block to facilitate allowing to bump up the size of MAX_VCPUS significantly. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit b7e6e4d3602c738b8f61225d9f4514945df52f07 Author: Christian Borntraeger Date: Thu Jan 22 10:29:08 2009 +0100 KVM: s390: Fix SIGP set prefix ioctl This patch fixes the SET PREFIX interrupt if triggered by userspace. Until now, it was not necessary, but life migration will need it. In addition, it helped me creating SMP support for my kvm_crashme tool (lets kvm execute random guest memory content). Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 70455a36a073cbb83ca17f92d135a6128c73cb3c Author: Christian Borntraeger Date: Thu Jan 22 10:28:29 2009 +0100 KVM: s390: Fix problem state check for b2 intercepts The kernel handles some priviledged instruction exits. While I was unable to trigger such an exit from guest userspace, the code should check for supervisor state before emulating a priviledged instruction. I also renamed kvm_s390_handle_priv to kvm_s390_handle_b2. After all there are non priviledged b2 instructions like stck (store clock). Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 2c411b48af3e3c534b9cfb6a79be1df384d1ca1a Author: Christian Borntraeger Date: Thu Jan 22 14:20:27 2009 +0100 KVM: s390: Fix printk on SIGP set arch KVM on s390 does not support the ESA/390 architecture. We refuse to change the architecture mode and print a warning. This patch removes the printk for several reasons: o A malicious guest can flood host dmesg o The old message had no newline o there is no connection between the message and the failing guest This patch simply removes the printk. We already set the condition code to 3 - the guest knows that something went wrong. Reported-by: Heiko Carstens Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 7d656bd996b68737d5d07643bc57311059038d67 Author: Xiantao Zhang Date: Wed Jan 21 11:21:27 2009 +0800 KVM: ia64: Implement some pal calls needed for windows 2008 For windows 2008, it needs more pal calls to implement for booting. In addition, also changes the name of set_{sal, pal}_call_result to get_{sal,pal}_call_result for readability. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 4b7bb626e3133eab131328a0770864b322c1bfe6 Author: Xiantao Zhang Date: Thu Jan 15 18:08:36 2009 +0800 KVM: ia64: Add the support for translating PAL Call's pointer args Add the support to translate PAL Call's pointer args. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 27d146449ccaad16480888129bb32a000ee33717 Author: Xiantao Zhang Date: Thu Jan 15 17:58:19 2009 +0800 KVM: ia64: vTLB change for enabling windows 2008 boot Simply the logic of hash vTLB, and export kvm_gpa_to_mpa. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 91b2ae773d3b168b763237fac33f75b13d891f20 Author: Avi Kivity Date: Mon Jan 19 14:57:52 2009 +0200 KVM: Avoid using CONFIG_ in userspace visible headers Kconfig symbols are not available in userspace, and are not stripped by headers-install. Avoid their use by adding #defines in to suit each architecture. Signed-off-by: Avi Kivity commit 399ec807ddc38ecccf8c06dbde04531cbdc63e11 Author: Avi Kivity Date: Wed Nov 19 13:58:46 2008 +0200 KVM: Userspace controlled irq routing Currently KVM has a static routing from GSI numbers to interrupts (namely, 0-15 are mapped 1:1 to both PIC and IOAPIC, and 16:23 are mapped 1:1 to the IOAPIC). This is insufficient for several reasons: - HPET requires non 1:1 mapping for the timer interrupt - MSIs need a new method to assign interrupt numbers and dispatch them - ACPI APIC mode needs to be able to reassign the PCI LINK interrupts to the ioapics This patch implements an interrupt routing table (as a linked list, but this can be easily changed) and a userspace interface to replace the table. The routing table is initialized according to the current hardwired mapping. Signed-off-by: Avi Kivity commit 193554750441d91e127dd5066b8aebe0f769101c Author: Amit Shah Date: Wed Jan 14 16:56:00 2009 +0000 KVM: x86: Fix typos and whitespace errors Some typos, comments, whitespace errors corrected in the cpuid code Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 9aa4dd5e5f47a5feb96fc394fccf0265ab7d85a4 Author: Liu Yu Date: Wed Jan 14 10:47:38 2009 -0600 KVM: ppc: Move to new TLB invalidate interface Commit 2a4aca1144394653269720ffbb5a325a77abd5fa removed old method _tlbia(). Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit fb2838d446f6ee7e13e4149e08ec138753c5c450 Author: Liu Yu Date: Wed Jan 14 10:47:37 2009 -0600 KVM: ppc: Fix e500 warnings and some spelling problems Signed-off-by: Avi Kivity commit 87c656b4147cd08c6efba95d8d70c12cba181255 Author: Liu Yu Date: Wed Jan 14 10:47:36 2009 -0600 powerpc/fsl-booke: declare tlbcam_index for use in c So, KVM needs to read tlbcam_index to know exactly which TLB1 entry is unused by host. Signed-off-by: Liu Yu Acked-by: Kumar Gala Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5a41accd3f69c6ef1d58f0c148980bae70515937 Author: Avi Kivity Date: Sun Jan 11 17:19:35 2009 +0200 KVM: MMU: Only enable cr4_pge role in shadow mode Two dimensional paging is only confused by it. Signed-off-by: Avi Kivity commit f6e2c02b6d28ddabe99377c5640a833407a62632 Author: Avi Kivity Date: Sun Jan 11 13:02:10 2009 +0200 KVM: MMU: Rename "metaphysical" attribute to "direct" This actually describes what is going on, rather than alerting the reader that something strange is going on. Signed-off-by: Avi Kivity commit 9903a927a4aea4b1ea42356a8453fca664df0b18 Author: Marcelo Tosatti Date: Thu Jan 8 17:44:19 2009 -0200 KVM: MMU: drop zeroing on mmu_memory_cache_alloc Zeroing on mmu_memory_cache_alloc is unnecessary since: - Smaller areas are pre-allocated with kmem_cache_zalloc. - Page pointed by ->spt is overwritten with prefetch_page and entries in page pointed by ->gfns are initialized before reading. [avi: zeroing pages is unnecessary] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ff81ff10b4417952919dcc0bd67effa9ceb411c0 Author: Joe Perches Date: Thu Jan 8 11:05:17 2009 -0800 KVM: SVM: Fix typo in has_svm() Signed-off-by: Joe Perches Acked-by: Joerg Roedel Signed-off-by: Avi Kivity commit a26b73ad5e763db1b01cca6965ac3b65fe36e82a Author: Jes Sorensen Date: Thu Jan 8 13:58:48 2009 +0100 KVM: ia64: expose registers in struct kvm_regs Provide register layout for struct kvm_regs exposed to userland. Signed-off-by: Jes Sorensen Signed-off-by: Avi Kivity commit 4780c65904f0fc4e312ee2da9383eacbe04e61ea Author: Avi Kivity Date: Sun Jan 4 18:06:06 2009 +0200 KVM: Reset PIT irq injection logic when the PIT IRQ is unmasked While the PIT is masked the guest cannot ack the irq, so the reinject logic will never allow the interrupt to be injected. Fix by resetting the reinjection counters on unmask. Unbreaks Xen. Signed-off-by: Avi Kivity commit 75858a84a6207f5e60196f6bbd18fde4250e5759 Author: Avi Kivity Date: Sun Jan 4 17:10:50 2009 +0200 KVM: Interrupt mask notifiers for ioapic Allow clients to request notifications when the guest masks or unmasks a particular irq line. This complements irq ack notifications, as the guest will not ack an irq line that is masked. Currently implemented for the ioapic only. Signed-off-by: Avi Kivity commit 5d9b8e30f543a9f21a968a4cda71e8f6d1c66a61 Author: Avi Kivity Date: Sun Jan 4 18:04:18 2009 +0200 KVM: Add CONFIG_HAVE_KVM_IRQCHIP Two KVM archs support irqchips and two don't. Add a Kconfig item to make selecting between the two models easier. Signed-off-by: Avi Kivity commit 4677a3b693e035f186e2875259b9a0bb94c42fbe Author: Avi Kivity Date: Tue Jan 6 13:00:27 2009 +0200 KVM: MMU: Optimize page unshadowing Using kvm_mmu_lookup_page() will result in multiple scans of the hash chains; use hlist_for_each_entry_safe() to achieve a single scan instead. Signed-off-by: Avi Kivity commit c8a73f186bf62235b6fb5dd52601d641917dd50b Author: Alexander Graf Date: Mon Jan 5 16:02:47 2009 +0100 KVM: SVM: Add microcode patch level dummy VMware ESX checks if the microcode level is correct when using a barcelona CPU, in order to see if it actually can use SVM. Let's tell it we're on the safe side... Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 17071fe74fe0fbfdb03cd9b82f2490447cf1f986 Author: Sheng Yang Date: Tue Jan 6 16:25:11 2009 +0800 KVM: Add support to disable MSI for assigned device MSI is always enabled by default for msi2intx=1. But if msi2intx=0, we have to disable MSI if guest require to do so. The patch also discard unnecessary msi2intx judgment if guest want to update MSI state. Notice KVM_DEV_IRQ_ASSIGN_MSI_ACTION is a mask which should cover all MSI related operations, though we only got one for now. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 67346440e83d2a2f2e9801f370b6240317c7d9bd Author: Sheng Yang Date: Tue Jan 6 10:03:01 2009 +0800 KVM: Remove duplicated prototype of kvm_arch_destroy_vm Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit f5d0906b5bafd7faea553ed1cc92bd06755b66b9 Author: Hollis Blanchard Date: Sun Jan 4 13:51:09 2009 -0600 KVM: ppc: remove debug support broken by KVM debug rewrite After the rewrite of KVM's debug support, this code doesn't even build any more. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 269e05e48502f1cc06802e9fba90f5100dd6bb0d Author: Avi Kivity Date: Mon Jan 5 15:21:42 2009 +0200 KVM: Properly lock PIT creation Otherwise, two threads can create a PIT in parallel and cause a memory leak. Signed-off-by: Avi Kivity commit a77ab5ead5c1fef2c6c5a9b3cf3765e52643a2aa Author: Avi Kivity Date: Mon Jan 5 13:27:34 2009 +0200 KVM: x86 emulator: implement 'ret far' instruction (opcode 0xcb) Signed-off-by: Avi Kivity commit 8b3079a5c0c031de07c8390aa160a4229088274f Author: Avi Kivity Date: Mon Jan 5 12:10:54 2009 +0200 KVM: VMX: When emulating on invalid vmx state, don't return to userspace unnecessarily If we aren't doing mmio there's no need to exit to userspace (which will just be confused). Signed-off-by: Avi Kivity commit 350f69dcd169d536307aa4a8c38c480e3a51c0db Author: Avi Kivity Date: Mon Jan 5 11:12:40 2009 +0200 KVM: x86 emulator: Make emulate_pop() a little more generic Allow emulate_pop() to read into arbitrary memory rather than just the source operand. Needed for complicated instructions like far returns. Signed-off-by: Avi Kivity commit 10f32d84c750ccf8c0afb3a4ea9d4059aa3e9ffc Author: Avi Kivity Date: Mon Jan 5 00:53:19 2009 +0200 KVM: VMX: Prevent exit handler from running if emulating due to invalid state If we've just emulated an instruction, we won't have any valid exit reason and associated information. Fix by moving the clearing of the emulation_required flag to the exit handler. This way the exit handler can notice that we've been emulating and abort early. Signed-off-by: Avi Kivity commit 9fd4a3b7a412f983696b23121413a79d2132fed6 Author: Avi Kivity Date: Sun Jan 4 23:43:42 2009 +0200 KVM: VMX: don't clobber segment AR if emulating invalid state The ususable bit is important for determining state validity; don't clobber it. Signed-off-by: Avi Kivity commit 158772c2d4178525365dd46b8223184a861df58f Author: Bernd Schmidt Date: Thu Feb 12 10:40:15 2009 +0000 [MTD] Fix a bad dependency in the Blackfin code Fix a bad dependency in the Blackfin code on a RomFS config symbol that doesn't exist upstream. Signed-off-by: Bernd Schmidt Signed-off-by: David Howells Tested-by: Bernd Schmidt Signed-off-by: David Woodhouse commit 1872a3f411ffe95c8e92300e0986a3532db55ce9 Author: Avi Kivity Date: Sun Jan 4 23:26:52 2009 +0200 KVM: VMX: Fix guest state validity checks The vmx guest state validity checks are full of bugs. Make them conform to the manual. Signed-off-by: Avi Kivity commit bb3a8a178dec1e46df3138a30f76acf67fe12397 Author: Hollis Blanchard Date: Sat Jan 3 16:23:13 2009 -0600 KVM: ppc: Add extra E500 exceptions e500 has additional interrupt vectors (and corresponding IVORs) for SPE and performance monitoring interrupts. Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit bdc89f13ec955c14777d5caf02dfca3f51d639bd Author: Hollis Blanchard Date: Sat Jan 3 16:23:12 2009 -0600 KVM: ppc: distinguish between interrupts and priorities Although BOOKE_MAX_INTERRUPT has the right value, the meaning is not match. Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit b52a638c391c5c7b013180f5374274698b8535c8 Author: Hollis Blanchard Date: Sat Jan 3 16:23:11 2009 -0600 KVM: ppc: Add kvmppc_mmu_dtlb/itlb_miss for booke When itlb or dtlb miss happens, E500 needs to update some mmu registers. So that the auto-load mechanism can work on E500 when write a tlb entry. Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit bc8080cbcc8870178f0910edd537d0cb5706d703 Author: Hollis Blanchard Date: Sat Jan 3 16:23:10 2009 -0600 KVM: ppc: E500 core-specific code Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 17c885eb5c38f39a2bb3143a67687bd905dcd0fa Author: Hollis Blanchard Date: Sat Jan 3 16:23:09 2009 -0600 KVM: ppc: ifdef iccci with CONFIG_44x E500 deosn't support this instruction. Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 366d4b9b9fdda282006b97316f8038cd36f8ecb7 Author: Hollis Blanchard Date: Sat Jan 3 16:23:08 2009 -0600 KVM: ppc: No need to include core-header for KVM in asm-offsets.c currently Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit f7b200af8f1da748cc67993caeff3923d6014070 Author: Hollis Blanchard Date: Sat Jan 3 16:23:07 2009 -0600 KVM: ppc: Add dbsr in kvm_vcpu_arch Kernel for E500 need clear dbsr when startup. So add dbsr register in kvm_vcpu_arch for BOOKE. Signed-off-by: Liu Yu Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d0c7dc03442f7cbd8740d9a4e7a4e7f84bfa676d Author: Hollis Blanchard Date: Sat Jan 3 16:23:06 2009 -0600 KVM: ppc: split out common Book E instruction emulation The Book E code will be shared with e500. I've left PID in kvmppc_core_emulate_op() just so that we don't need to move kvmppc_set_pid() right now. Once we have the e500 implementation, we can probably share that too. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit cea5d8c9de669e30ed6d60930318376d5cc42e9e Author: Hollis Blanchard Date: Sat Jan 3 16:23:05 2009 -0600 KVM: ppc: use macros instead of hardcoded literals for instruction decoding Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit f44353610b584fcbc31e363f35594796c6446d63 Author: Hollis Blanchard Date: Sat Jan 3 16:23:04 2009 -0600 KVM: ppc: remove last 44x-specific bits from booke.c Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit fa86b8dda2e0faccefbeda61edc02a50bd588f4f Author: Hollis Blanchard Date: Sat Jan 3 16:23:03 2009 -0600 KVM: ppc: rename 44x MMU functions used in booke.c e500 will provide its own implementation of these. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit be8d1cae07d5acf4a61046d7def5eda40f0981e1 Author: Hollis Blanchard Date: Sat Jan 3 16:23:02 2009 -0600 KVM: ppc: turn tlb_xlate() into a per-core hook (and give it a better name) Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 58a96214a306fc7fc66105097eea9c4f3bfa35bc Author: Hollis Blanchard Date: Sat Jan 3 16:23:01 2009 -0600 KVM: ppc: change kvmppc_mmu_map() parameters Passing just the TLB index will ease an e500 implementation. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 475e7cdd69101939006659a63c2e4a32d5b71389 Author: Hollis Blanchard Date: Sat Jan 3 16:23:00 2009 -0600 KVM: ppc: small cosmetic changes to Book E DTLB miss handler Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit ecc0981ff07cbe7cdf95de20be5b24fee8e49cb5 Author: Hollis Blanchard Date: Sat Jan 3 16:22:59 2009 -0600 KVM: ppc: cosmetic changes to mmu hook names Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit c46fb0211f8b93de45400bff814c0f29335af5fc Author: Hollis Blanchard Date: Sat Jan 3 16:22:58 2009 -0600 KVM: ppc: move struct kvmppc_44x_tlbe into 44x-specific header Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 1c08364c3565242f1e1bd585bc2ce458967941af Author: Avi Kivity Date: Sun Jan 4 12:39:07 2009 +0200 KVM: Move struct kvm_pio_request into x86 kvm_host.h This is an x86 specific stucture and has no business living in common code. Signed-off-by: Avi Kivity commit 52d939a0bf44081bc9f69b4fbdc9e7f416df27c7 Author: Marcelo Tosatti Date: Tue Dec 30 15:55:06 2008 -0200 KVM: PIT: provide an option to disable interrupt reinjection Certain clocks (such as TSC) in older 2.6 guests overaccount for lost ticks, causing severe time drift. Interrupt reinjection magnifies the problem. Provide an option to disable it. [avi: allow room for expansion in case we want to disable reinjection of other timers] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 61a6bd672bda3b9468bf5895c1be085c4e481138 Author: Avi Kivity Date: Mon Dec 29 17:32:28 2008 +0200 KVM: Fallback support for MSR_VM_HSAVE_PA Since we advertise MSR_VM_HSAVE_PA, userspace will attempt to read it even on Intel. Implement fake support for this MSR to avoid the warnings. Signed-off-by: Avi Kivity commit 0f346074403bc109f9569f14b45cb09e83729032 Author: Izik Eidus Date: Mon Dec 29 01:42:20 2008 +0200 KVM: remove the vmap usage vmap() on guest pages hides those pages from the Linux mm for an extended (userspace determined) amount of time. Get rid of it. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 77c2002e7c6f019f59a6f3cc5f8b16b41748dbe1 Author: Izik Eidus Date: Mon Dec 29 01:42:19 2008 +0200 KVM: introduce kvm_read_guest_virt, kvm_write_guest_virt This commit change the name of emulator_read_std into kvm_read_guest_virt, and add new function name kvm_write_guest_virt that allow writing into a guest virtual address. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 53f658b3c33616a4997ee254311b335e59063289 Author: Marcelo Tosatti Date: Thu Dec 11 20:45:05 2008 +0100 KVM: VMX: initialize TSC offset relative to vm creation time VMX initializes the TSC offset for each vcpu at different times, and also reinitializes it for vcpus other than 0 on APIC SIPI message. This bug causes the TSC's to appear unsynchronized in the guest, even if the host is good. Older Linux kernels don't handle the situation very well, so gettimeofday is likely to go backwards in time: http://www.mail-archive.com/kvm@vger.kernel.org/msg02955.html http://sourceforge.net/tracker/index.php?func=detail&aid=2025534&group_id=180599&atid=893831 Fix it by initializating the offset of each vcpu relative to vm creation time, and moving it from vmx_vcpu_reset to vmx_vcpu_setup, out of the APIC MP init path. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e8c4a4e8a7cc047dfb3c26b2cbc8599ad3460364 Author: Avi Kivity Date: Thu Dec 25 15:20:07 2008 +0200 KVM: MMU: Drop walk_shadow() No longer used. Signed-off-by: Avi Kivity commit a461930bc3cece021f8f89a80dcc1d0691a92b52 Author: Avi Kivity Date: Thu Dec 25 15:19:00 2008 +0200 KVM: MMU: Replace walk_shadow() by for_each_shadow_entry() in invlpg() Signed-off-by: Avi Kivity commit e7a04c99b54ad9acb98a56113ec3163bc1039e13 Author: Avi Kivity Date: Thu Dec 25 15:10:50 2008 +0200 KVM: MMU: Replace walk_shadow() by for_each_shadow_entry() in fetch() Effectively reverting to the pre walk_shadow() version -- but now with the reusable for_each(). Signed-off-by: Avi Kivity commit 9f652d21c3f887075a33abae85bf53fec64e67b1 Author: Avi Kivity Date: Thu Dec 25 14:54:25 2008 +0200 KVM: MMU: Use for_each_shadow_entry() in __direct_map() Eliminating a callback and a useless structure. Signed-off-by: Avi Kivity commit 2d11123a77e54d5cea262c958e8498f4a08bce3d Author: Avi Kivity Date: Thu Dec 25 14:39:47 2008 +0200 KVM: MMU: Add for_each_shadow_entry(), a simpler alternative to walk_shadow() Using a for_each loop style removes the need to write callback and nasty casts. Implement the walk_shadow() using the for_each_shadow_entry(). Signed-off-by: Avi Kivity commit 971cc3dcbc0e020b82f568e61a47b72be03307dd Author: Jan Kiszka Date: Fri Dec 19 18:13:54 2008 +0100 KVM: Advertise guest debug capability per-arch Limit KVM_CAP_SET_GUEST_DEBUG only to those archs (currently x86) that support it. This simplifies user space stub implementations. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 2b3d2a206037b1471de6a6dc51427af034cfdb47 Author: Avi Kivity Date: Tue Dec 23 19:46:01 2008 +0200 KVM: Fix vmload and friends misinterpreted as lidt The AMD SVM instruction family all overload the 0f 01 /3 opcode, further multiplexing on the three r/m bits. But the code decided that anything that isn't a vmmcall must be an lidt (which shares the 0f 01 /3 opcode, for the case that mod = 3). Fix by aborting emulation if this isn't a vmmcall. Signed-off-by: Avi Kivity commit e2078318042569682d0496cfd7bd962a766e82b1 Author: Avi Kivity Date: Sun Dec 21 19:36:59 2008 +0200 KVM: MMU: Initialize a shadow page's global attribute from cr4.pge If cr4.pge is cleared, we ought to treat any ptes in the page as non-global. This allows us to remove the check from set_spte(). Signed-off-by: Avi Kivity commit 2f0b3d60b2c43aef7cd10169c425c052169c622a Author: Avi Kivity Date: Sun Dec 21 19:27:36 2008 +0200 KVM: MMU: Segregate mmu pages created with different cr4.pge settings Don't allow a vcpu with cr4.pge cleared to use a shadow page created with cr4.pge set; this might cause a cr3 switch not to sync ptes that have the global bit set (the global bit has no effect if !cr4.pge). This can only occur on smp with different cr4.pge settings for different vcpus (since a cr4 change will resync the shadow ptes), but there's no cost to being correct here. Signed-off-by: Avi Kivity commit a770f6f28b1a9287189f3dc8333eb694d9a2f0ab Author: Avi Kivity Date: Sun Dec 21 19:20:09 2008 +0200 KVM: MMU: Inherit a shadow page's guest level count from vcpu setup Instead of "calculating" it on every shadow page allocation, set it once when switching modes, and copy it when allocating pages. This doesn't buy us much, but sets up the stage for inheriting more information related to the mmu setup. Signed-off-by: Avi Kivity commit 22ccb14203d59a8bcf6f3fea76b3594d710569fa Author: Xiantao Zhang Date: Thu Dec 18 10:23:58 2008 +0800 KVM: ia64: Code cleanup Remove some unnecessary blank lines to accord with Kernel's coding style. Also remove vcpu_get_itir_on_fault due to no reference to it. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 989c0f0ed56468a4aa48711cef5acf122a40d1dd Author: Jan Kiszka Date: Thu Dec 18 12:33:18 2008 +0100 KVM: Remove old kvm_guest_debug structs Remove the remaining arch fragments of the old guest debug interface that now break non-x86 builds. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit e9a999fe1feaddb71bffbacbbd68e0da8ca8b50b Author: Jes Sorensen Date: Thu Dec 18 12:17:51 2008 +0100 KVM: ia64: stack get/restore patch Implement KVM_IA64_VCPU_[GS]ET_STACK ioctl calls. This is required for live migrations. Patch is based on previous implementation that was part of old GET/SET_REGS ioctl calls. Signed-off-by: Jes Sorensen Signed-off-by: Avi Kivity commit ae675ef01cd86014acf8da5dee87876b71122495 Author: Jan Kiszka Date: Mon Dec 15 13:52:10 2008 +0100 KVM: x86: Wire-up hardware breakpoints for guest debugging Add the remaining bits to make use of debug registers also for guest debugging, thus enabling the use of hardware breakpoints and watchpoints. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 42dbaa5a057736bf8b5c22aa42dbe975bf1080e5 Author: Jan Kiszka Date: Mon Dec 15 13:52:10 2008 +0100 KVM: x86: Virtualize debug registers So far KVM only had basic x86 debug register support, once introduced to realize guest debugging that way. The guest itself was not able to use those registers. This patch now adds (almost) full support for guest self-debugging via hardware registers. It refactors the code, moving generic parts out of SVM (VMX was already cleaned up by the KVM_SET_GUEST_DEBUG patches), and it ensures that the registers are properly switched between host and guest. This patch also prepares debug register usage by the host. The latter will (once wired-up by the following patch) allow for hardware breakpoints/watchpoints in guest code. If this is enabled, the guest will only see faked debug registers without functionality, but with content reflecting the guest's modifications. Tested on Intel only, but SVM /should/ work as well, but who knows... Known limitations: Trapping on tss switch won't work - most probably on Intel. Credits also go to Joerg Roedel - I used his once posted debugging series as platform for this patch. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 55934c0bd3bb232a9cf902820dd63ad18ed65e49 Author: Jan Kiszka Date: Mon Dec 15 13:52:10 2008 +0100 KVM: VMX: Allow single-stepping when uninterruptible When single-stepping over STI and MOV SS, we must clear the corresponding interruptibility bits in the guest state. Otherwise vmentry fails as it then expects bit 14 (BS) in pending debug exceptions being set, but that's not correct for the guest debugging case. Note that clearing those bits is safe as we check for interruptibility based on the original state and do not inject interrupts or NMIs if guest interruptibility was blocked. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit d0bfb940ecabf0b44fb1fd80d8d60594e569e5ec Author: Jan Kiszka Date: Mon Dec 15 13:52:10 2008 +0100 KVM: New guest debug interface This rips out the support for KVM_DEBUG_GUEST and introduces a new IOCTL instead: KVM_SET_GUEST_DEBUG. The IOCTL payload consists of a generic part, controlling the "main switch" and the single-step feature. The arch specific part adds an x86 interface for intercepting both types of debug exceptions separately and re-injecting them when the host was not interested. Moveover, the foundation for guest debugging via debug registers is layed. To signal breakpoint events properly back to userland, an arch-specific data block is now returned along KVM_EXIT_DEBUG. For x86, the arch block contains the PC, the debug exception, and relevant debug registers to tell debug events properly apart. The availability of this new interface is signaled by KVM_CAP_SET_GUEST_DEBUG. Empty stubs for not yet supported archs are provided. Note that both SVM and VTX are supported, but only the latter was tested yet. Based on the experience with all those VTX corner case, I would be fairly surprised if SVM will work out of the box. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 8ab2d2e231062814bd89bba2d6d92563190aa2bb Author: Jan Kiszka Date: Mon Dec 15 13:52:10 2008 +0100 KVM: VMX: Support for injecting software exceptions VMX differentiates between processor and software generated exceptions when injecting them into the guest. Extend vmx_queue_exception accordingly (and refactor related constants) so that we can use this service reliably for the new guest debugging framework. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit d80174745ba3938bc6abb8f95ed670ac0631a182 Author: Alexander Graf Date: Tue Nov 25 20:17:11 2008 +0100 KVM: SVM: Only allow setting of EFER_SVME when CPUID SVM is set Userspace has to tell the kernel module somehow that nested SVM should be used. The easiest way that doesn't break anything I could think of is to implement if (cpuid & svm) allow write to efer else deny write to efer Old userspaces mask the SVM capability bit, so they don't break. In order to find out that the SVM capability is set, I had to split the kvm_emulate_cpuid into a finding and an emulating part. (introduced in v6) Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 236de05553a7ef8f6940de8686ae9bf1272cd2cf Author: Alexander Graf Date: Tue Nov 25 20:17:10 2008 +0100 KVM: SVM: Allow setting the SVME bit Normally setting the SVME bit in EFER is not allowed, as we did not support SVM. Not since we do, we should also allow enabling SVM mode. v2 comes as last patch, so we don't enable half-ready code v4 introduces a module option to enable SVM v6 warns that nesting is enabled Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit eb6f302edff9da963e687bf6c15dcf88843b1c3b Author: Joerg Roedel Date: Tue Nov 25 20:17:09 2008 +0100 KVM: SVM: Allow read access to MSR_VM_VR KVM tries to read the VM_CR MSR to find out if SVM was disabled by the BIOS. So implement read support for this MSR to make nested SVM running. Signed-off-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit cf74a78b229d07f77416d2fe1f029f183a8a31df Author: Alexander Graf Date: Tue Nov 25 20:17:08 2008 +0100 KVM: SVM: Add VMEXIT handler and intercepts This adds the #VMEXIT intercept, so we return to the level 1 guest when something happens in the level 2 guest that should return to the level 1 guest. v2 implements HIF handling and cleans up exception interception v3 adds support for V_INTR_MASKING_MASK v4 uses the host page hsave v5 removes IOPM merging code v6 moves mmu code out of the atomic section Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 3d6368ef580a4dff012960834bba4e28d3c1430c Author: Alexander Graf Date: Tue Nov 25 20:17:07 2008 +0100 KVM: SVM: Add VMRUN handler This patch implements VMRUN. VMRUN enters a virtual CPU and runs that in the same context as the normal guest CPU would run. So basically it is implemented the same way, a normal CPU would do it. We also prepare all intercepts that get OR'ed with the original intercepts, as we do not allow a level 2 guest to be intercepted less than the first level guest. v2 implements the following improvements: - fixes the CPL check - does not allocate iopm when not used - remembers the host's IF in the HIF bit in the hflags v3: - make use of the new permission checking - add support for V_INTR_MASKING_MASK v4: - use host page backed hsave v5: - remove IOPM merging code v6: - save cr4 so PAE l1 guests work v7: - return 0 on vmrun so we check the MSRs too - fix MSR check to use the correct variable Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 5542675baa7e62ca4d18278c8758b6a4ec410639 Author: Alexander Graf Date: Tue Nov 25 20:17:06 2008 +0100 KVM: SVM: Add VMLOAD and VMSAVE handlers This implements the VMLOAD and VMSAVE instructions, that usually surround the VMRUN instructions. Both instructions load / restore the same elements, so we only need to implement them once. v2 fixes CPL checking and replaces memcpy by assignments v3 makes use of the new permission checking Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit b286d5d8b0836e76832dafcc5a18b0e8e5a3bc5e Author: Alexander Graf Date: Tue Nov 25 20:17:05 2008 +0100 KVM: SVM: Implement hsave Implement the hsave MSR, that gives the VCPU a GPA to save the old guest state in. v2 allows userspace to save/restore hsave v4 dummys out the hsave MSR, so we use a host page v6 remembers the guest's hsave and exports the MSR Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 1371d90460189d02bf1bcca19dbfe6bd10dc6031 Author: Alexander Graf Date: Tue Nov 25 20:17:04 2008 +0100 KVM: SVM: Implement GIF, clgi and stgi This patch implements the GIF flag and the clgi and stgi instructions that set this flag. Only if the flag is set (default), interrupts can be received by the CPU. To keep the information about that somewhere, this patch adds a new hidden flags vector. that is used to store information that does not go into the vmcb, but is SVM specific. I tried to write some code to make -no-kvm-irqchip work too, but the first level guest won't even boot with that atm, so I ditched it. v2 moves the hflags to x86 generic code v3 makes use of the new permission helper v6 only enables interrupt_window if GIF=1 Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit c0725420cfdcf6dd9705b164a8c6cba86684080d Author: Alexander Graf Date: Tue Nov 25 20:17:03 2008 +0100 KVM: SVM: Add helper functions for nested SVM These are helpers for the nested SVM implementation. - nsvm_printk implements a debug printk variant - nested_svm_do calls a handler that can accesses gpa-based memory v3 makes use of the new permission checker v6 changes: - streamline nsvm_debug() - remove printk(KERN_ERR) - SVME check before CPL check - give GP error code - use new EFER constant Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 9962d032bbff0268f22068787831405f8468c8b4 Author: Alexander Graf Date: Tue Nov 25 20:17:02 2008 +0100 KVM: SVM: Move EFER and MSR constants to generic x86 code MSR_EFER_SVME_MASK, MSR_VM_CR and MSR_VM_HSAVE_PA are set in KVM specific headers. Linux does have nice header files to collect EFER bits and MSR IDs, so IMHO we should put them there. While at it, I also changed the naming scheme to match that of the other defines. (introduced in v6) Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit f0b85051d0f0891378a83db22c0786f1d756fbff Author: Alexander Graf Date: Tue Nov 25 20:17:01 2008 +0100 KVM: SVM: Clean up VINTR setting The current VINTR intercept setters don't look clean to me. To make the code easier to read and enable the possibilty to trap on a VINTR set, this uses a helper function to set the VINTR intercept. v2 uses two distinct functions for setting and clearing the bit Acked-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit f52fd5b7fd11e85fe9de15d5c5b5d574f9ff4cab Author: David Howells Date: Fri Feb 20 12:31:54 2009 +0000 NOMMU: Fix the RomFS Kconfig to ensure at least one backing store is selected Fix the configuration of the RomFS to make sure that at least one backing store method is always selected. This is done by rendering it down to a choice item that selects between Block, MTD and both. This also works correctly in the case that CONFIG_MTD=m: MTD cannot be selected as a backing store unless CONFIG_ROMFS_FS is also 'm'. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit da4458bda237aa0cb1688f6c359477f203788f6a Author: David Howells Date: Thu Feb 12 10:40:10 2009 +0000 NOMMU: Make it possible for RomFS to use MTD devices directly Change RomFS so that it can use MTD devices directly - without the intercession of the block layer - as well as using block devices. This permits RomFS: (1) to use the MTD direct mapping facility available under NOMMU conditions if the underlying device is directly accessible by the CPU (including XIP); (2) and thus to be used when the block layer is disabled. RomFS can be configured with support just for MTD devices, just for Block devices or for both. If RomFS is configured for both, then it will treat mtdblock device files as MTD backing stores, not block layer backing stores. I tested this using a CONFIG_MMU=n CONFIG_BLOCK=n kernel running on my FRV board with a RomFS image installed on the mtdram test device. I see my test program being run XIP: # cat /proc/maps ... c0c000b0-c0c01f8c r-xs 00000000 1f:00 144 /mnt/doshm ... GDB on the kernel can be used to show that these addresses are within the set-aside RAM space. Signed-off-by: David Howells Tested-by: Bernd Schmidt Signed-off-by: David Woodhouse commit 6e232cfce35a20a8702d9ac7709d35030c1b3271 Author: David Howells Date: Thu Feb 12 10:40:05 2009 +0000 NOMMU: Add support for direct mapping through mtdconcat if possible Add support for direct mapping through mtdconcat, if possible, by attaching the samebacking_dev_info structure to the master. It has some restrictions: (1) It won't permit direct mapping of concatenated devices that have differing BDIs. (2) It doesn't support maps that span the 'gap' between devices, although it possibly could if the devices spanned across return compatible (ie. contiguous) addresses from their get_unmapped_area() ops. Signed-off-by: Gavin Lambert Signed-off-by: David Howells Tested-by: Bernd Schmidt Signed-off-by: David Woodhouse commit 402d326519c1a4859c527702383f4e60f606ef52 Author: David Howells Date: Thu Feb 12 10:40:00 2009 +0000 NOMMU: Present backing device capabilities for MTD chardevs Present backing device capabilities for MTD character device files to allow NOMMU mmap to do direct mapping where possible. Signed-off-by: David Howells Tested-by: Bernd Schmidt Signed-off-by: David Woodhouse commit 15a5b0a4912d98a9615ef457c7bde8d08195a771 Merge: 8e0ee43... 6e9ed0c... 6fb8f42... c0bdb23... 1a00df4... e8120ff... Author: Pekka Enberg Date: Tue Mar 24 10:25:21 2009 +0200 Merge branches 'topic/slob/cleanups', 'topic/slob/fixes', 'topic/slub/core', 'topic/slub/cleanups' and 'topic/slub/perf' into for-linus commit 5201b0a47b83aba66e1e348d18f3f9a7bc17d612 Author: Huang Weiyi Date: Sat Mar 21 13:50:58 2009 +0800 avr32: remove duplicated #include Remove duplicated #include in arch/avr32/boards/hammerhead/flash.c. Signed-off-by: Huang Weiyi Acked-by: Alex Raimondi Signed-off-by: Haavard Skinnemoen commit 9537a48ed4b9e4b738943d6da0a0fd4278adf905 Author: Joerg Roedel Date: Mon Mar 23 15:35:08 2009 +0100 dma-debug: make memory range checks more consistent Impact: extend on-kernel-stack DMA debug checks to all !highmem pages We only checked dma_map_single() - extend it to dma_map_page() and dma_map_sg() as well. Also, fix dma_map_single() corner case bug: make sure we dont stack-check highmem (not mapped) pages. Reported-by: FUJITA Tomonori Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org LKML-Reference: <1237818908-26516-1-git-send-email-joerg.roedel@amd.com> Signed-off-by: Ingo Molnar commit 522b3d49179a0d2dc4e152b77eb82fbfe97782f4 Author: Greg Ungerer Date: Tue Mar 24 17:33:41 2009 +1000 m68knommu: fix 5407 ColdFire UART vector setup There is a couple of problems with the UART vector setup for the 5307 ColdFire UART. The ICR register access should be 8bit, not 32bit. The address of the UIVR register is wrong, it needs to be offset into the MBAR register region. Fix these. Signed-off-by: Greg Ungerer commit 9242ef12f0d174da1739a071fb4a5fc5de27905e Author: Greg Ungerer Date: Tue Mar 24 17:22:05 2009 +1000 m68knommu: fix 5307 ColdFire UART vector setup There is a couple of problems with the UART vector setup for the 5307 ColdFire UART. The ICR register access should be 8bit, not 32bit. The address of the UIVR register is wrong, it needs to be offset into the MBAR register region. Fix these. Signed-off-by: Greg Ungerer commit 9f58a159d022c8f2533a27708aa267adf4f0e3ce Author: Tom Zanussi Date: Tue Mar 24 02:14:42 2009 -0500 tracing/filters: disallow integer values for string filters and vice versa Impact: fix filter use boundary condition / crash Make sure filters for string fields don't use integer values and vice versa. Getting it wrong can crash the system or produce bogus results. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker LKML-Reference: <1237878882.8339.61.camel@charm-linux> Signed-off-by: Ingo Molnar commit 4bda2d517bfa3ce3d7044e06988cdddae7adffe2 Author: Tom Zanussi Date: Tue Mar 24 02:14:31 2009 -0500 tracing/filters: use trace_seq_printf() to print filters Impact: cleanup Instead of just using the trace_seq buffer to print the filters, use trace_seq_printf() as it was intended to be used. Reported-by: Steven Rostedt Signed-off-by: Tom Zanussi Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker LKML-Reference: <1237878871.8339.59.camel@charm-linux> Signed-off-by: Ingo Molnar commit 09f1f245c79585383de63e3ca54d0f91824bff3a Author: Tom Zanussi Date: Tue Mar 24 02:14:11 2009 -0500 tracing/filters: free pred when clearing filters Impact: fix (small) per trace filter modification memory leak Free the current pred when clearing the filters via the filter files. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker LKML-Reference: <1237878851.8339.58.camel@charm-linux> Signed-off-by: Ingo Molnar commit 1fc2d5c11918082536acf261ce6abb1f5511053f Author: Tom Zanussi Date: Tue Mar 24 02:14:01 2009 -0500 tracing/filters: use list_for_each_entry Impact: cleanup No need to use the safe version here, so use list_for_each_entry instead of list_for_each_entry_safe in find_event_field(). Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker LKML-Reference: <1237878841.8339.57.camel@charm-linux> Signed-off-by: Ingo Molnar commit d62db60659416499b763a00c953f23ed1c9a5c46 Author: Greg Ungerer Date: Tue Mar 24 17:14:32 2009 +1000 m68knommu: fix 5249 ColdFire UART vector setup The address of the IVUR register is not correct, it should be offset into the MBAR region. Without this the vector is not set to the correct number. Signed-off-by: Greg Ungerer commit de1fc5c629f1597ddc996379642f9f3594dcdfbe Author: Greg Ungerer Date: Tue Mar 24 16:50:09 2009 +1000 m68knommu: fix 5249 ColdFire UART setup The ICR registers of the 5249 ColdFire processor are 8bits, not 32bits. Fix the read/write of these register to be the correct size. Signed-off-by: Greg Ungerer commit 4ce2cba45a46668409606bdb9923164b51986807 Author: Greg Ungerer Date: Tue Mar 24 15:15:14 2009 +1000 m68knommu: fix end of uart table marker The UART platform data structure is missing an empty struct at the end (as the end of structure marker). Signed-off-by: Greg Ungerer commit 454dc5f8228d08e6e9876c45d7f9bfd8b745e39d Author: Greg Ungerer Date: Fri Mar 20 09:53:59 2009 +1000 m68knommu: switch to using generic_handle_irq() Switch to using generic_handle_irq() instead of the deprecated __do_IRQ(). Signed-off-by: Greg Ungerer commit da4f4a02abebb8b6f49e1585acbb23921a5da410 Author: Greg Ungerer Date: Wed Mar 11 16:44:39 2009 +1000 m68k: merge the mmu and non-mmu versions of tlbflush.h Simple merge of the mmu and non-mmu versions of tlbflush.h Signed-off-by: Greg Ungerer commit facdf0ed4f594485fb2a1d2d024a150924c6b01c Author: Greg Ungerer Date: Wed Mar 4 10:43:06 2009 +1000 m68knommu: introduce basic clk infrastructure Create basic support for clk API. Recent changes to the FEC driver (used by many ColdFire family parts) need this. Initially only supports getting the master clock frequency. Signed-off-by: Greg Ungerer commit a5505464c7c133d01f409426982aa28da111ceb8 Author: Greg Ungerer Date: Thu Feb 19 14:18:23 2009 +1000 m68k: merge the mmu and non-mmu versions of module.h Simple merge of the mmu and non-mmu versions of module.h Signed-off-by: Greg Ungerer commit e2545b65de4996ac99973a825060884ef31b9449 Author: Greg Ungerer Date: Thu Feb 12 16:02:05 2009 +1000 m68knommu: add missing interrupt line definition for UART 2 Signed-off-by: David Wu Acked-by: Michael Durrant Acked-by: Oleksandr Zhadan Signed-off-by: Greg Ungerer commit 66d73f00a617be4feb45885a56fc5e6441b30a92 Author: Greg Ungerer Date: Tue Feb 10 09:49:00 2009 +1000 m68k: merge the mmu and non-mmu versions of mmu_context.h Simple merge of the mmu and non-mmu versions of mmu_context.h Signed-off-by: Greg Ungerer commit 2844b660358c9230a2e85a0218f0df4046d5c392 Author: Greg Ungerer Date: Fri Feb 6 14:54:08 2009 +1000 m68k: merge the mmu and non-mmu versions of current.h Trivial merge of the mmu and non-mmu versions of current.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit d20f5aa338dc75fb2e7bfb7627d3dfcc81196e69 Author: Greg Ungerer Date: Fri Feb 6 14:50:08 2009 +1000 m68k: merge the mmu and non-mmu versions of div64.h Trivial merge of the mmu and non-mmu versions of div64.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 76adcb2e812464c38b42f18ab76e78e71df40464 Author: Greg Ungerer Date: Fri Feb 6 14:45:23 2009 +1000 m68k: merge the mmu and non-mmu versions of bugs.h Trivial merge of the mmu and non-mmu versions of bugs.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit dbc367eb69cedf47c702310e4abe1514d52abb4b Author: Greg Ungerer Date: Fri Feb 6 14:44:11 2009 +1000 m68k: merge the mmu and non-mmu versions of bug.h Trivial merge of the mmu and non-mmu versions of bug.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit b0ffbf26124563fa17ef5a35266ee8e3f3ab2b91 Author: Greg Ungerer Date: Fri Feb 6 14:34:47 2009 +1000 m68k: use the mmu version of cache.h for m68knommu as well The non-mmu version of cache.h is almost the same as the mmu version. Merge them. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit de9f4fc2b7d73057cefa134901d8ee8e3f593f99 Author: Greg Ungerer Date: Fri Feb 6 14:31:51 2009 +1000 m68k: use the mmu version of bootinfo.h for m68knommu as well All m68k varients can use the same mmu version of bootinfo.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 146b7cdba2c7afb14d965a5dc466a6532084042a Author: Greg Ungerer Date: Fri Feb 6 14:25:53 2009 +1000 m68k: merge the mmu and non-mmu versions of fb.h Trivial merge of the mmu and non-mmu versions of fb.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 4892242a47fe21724ee6a98d71d9c512716ea89d Author: Greg Ungerer Date: Fri Feb 6 14:14:29 2009 +1000 m68k: merge the mmu and non-mmu versions of segment.h Trivial merge of the mmu and non-mmu version of segment.h. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 872065e78c0dff5a384128ea198b34f72e9d5c3a Author: Greg Ungerer Date: Fri Feb 6 13:55:16 2009 +1000 m68k: merge the mmu and non-mmu versions of ucontext.h The non-mmu m68k setups can use the mm ucontext.h with no change. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 4330e179a96bc9310d36e9b858bc8f275f329312 Author: Len Sorensen Date: Thu Feb 5 10:11:24 2009 +1000 m68knommu: Fix support for console port other than ttyS0 on mcf.c Due to a case of backwards logic, mfc.c always makes the console port be ttyS0 even when you ask for another port. This patch fixes this issue. Only when the requested port is NOT in the range 0 to MAXPORTS-1 do we force it to be treated as if port 0 was requested. Forcing the port to 0 when it is in fact in the range 0 to MAXPORTS is not helpful. Tested with working console on ttyS2 on a 5271evb. Signed-off-by: Len Sorensen Signed-off-by: Greg Ungerer commit c315bd5fdd2a949a9ccc22b2c64ee694602682d4 Author: Geert Uytterhoeven Date: Thu Feb 5 10:07:46 2009 +1000 m68k: Restore correct include guards for Signed-off-by: Geert Uytterhoeven Signed-off-by: Greg Ungerer commit 15ee04c288d8d612d93a14decc968e817d21e789 Author: Geert Uytterhoeven Date: Thu Feb 5 10:05:25 2009 +1000 m68k: Use dma_addr_t for scatterlist.dma_address dma_addr_t (as was used by m68knommu) is more correct than u32. Signed-off-by: Geert Uytterhoeven Signed-off-by: Greg Ungerer commit 606333d64e06db9ae14b5a025380bc5954b1a6c4 Author: Greg Ungerer Date: Thu Feb 5 10:01:00 2009 +1000 m68k: merge the mmu and non-mmu versions of pgalloc.h Trivial merge of the mmu and non-mmu version of pgalloc.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit c8bd42707fc1d8e72e0cc722bdc0c0975b52d958 Author: Greg Ungerer Date: Thu Feb 5 09:58:44 2009 +1000 m68knommu: mv definition of check_pgt_cache() Move the definition of check_pgt_cache() to be consistent with where m68k defines it. (Will make merging of these headers easier later on). Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit ac55cdfb02133df64d4aa5571b343d4e98673b07 Author: Greg Ungerer Date: Mon Feb 2 16:27:52 2009 +1000 m68k: merge the mmu and non-mmu versions of page_offset.h Trivial merge of the mmu and non-mmu versions of page_offset.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit e77d15511fc4e1554c500524dd43b9c162a2d95e Author: Greg Ungerer Date: Thu Jan 29 17:09:51 2009 +1000 m68k: the one hw_irq.h can be used buy all m68k The mmu and non-mmu hw_irq.h are identical, revert to a single copy. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit af85fe9e5e618de205ac6944ed9fe45ade0874bf Author: Greg Ungerer Date: Thu Jan 29 16:50:22 2009 +1000 m68k: use non-mmu version of unaligned.h for all m68k The non-mmu version is appropriately ifdef'ed to be used "as is" on all m68k varients. So switch to it as the only unaligned.h. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit f358cbcd49027d3a58c1f29dbf02a8369bfedcf7 Author: Greg Ungerer Date: Thu Jan 29 16:36:43 2009 +1000 m68k: use mmu version of elf.h for non-mmu builds as well Nothing specificly needed to support non-mmu m68k in elf.h, so just use the mmu one. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit ebafc17468d58bd903c886175ca84a4edc69ae1d Author: Greg Ungerer Date: Thu Jan 29 16:28:11 2009 +1000 m68k: use mmu timex.h for non-mmu setups as well The non-mmu timex.h can be cleaned up and ends up being identical to the mmu timex.h, just just use that. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 34055b806a6334624e7e8af6eefc3aee42372a85 Author: Greg Ungerer Date: Thu Jan 29 16:08:53 2009 +1000 m68k: use mmu fpu.h for non-mmu builds as well None of the currently support m68knommu targets have an FPU. Use the mmu version of fpu.h for all m68k. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 375d1c7e2d56603406a72c67229734c61ebc6735 Author: Greg Ungerer Date: Thu Jan 29 16:05:35 2009 +1000 m68k: use mmu scatterlist.h for non-mmu setups as well There is only trivial differences between the non-mmu and mmu versions of scatterlist.h. So use the mmu one and remove the non-mmu one. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 54cae79e52d6a72faa3d6993dcaba560bfac8db3 Author: Greg Ungerer Date: Thu Jan 29 15:57:30 2009 +1000 m68k: merge the mmu and non-mmu versions of mmu.h Trivial merge of the contents of mmu and non-mmu versions of mmu.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit bf7058f04ab74061b75a166e30ae0a7e617f0430 Author: Greg Ungerer Date: Thu Jan 29 15:49:27 2009 +1000 m68knommu: remove no longer used mcfpci.h The mcfpci.h was only used by the removed (m68knommu) COMEMPCI code. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 74870998bb8e5914016bed4396b28a468a2da5d3 Author: Greg Ungerer Date: Thu Jan 29 15:46:06 2009 +1000 m68k: use mmu kmap_types.h for non-mmu setups as well The mmu version of kmap_types.h is identical to the non-mmu one. Revert to a single file. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit bf08d5251840ee7fe7ac561fc65aeead4f31335b Author: Greg Ungerer Date: Thu Jan 29 15:38:57 2009 +1000 m68k: use the mc146818rtc.h for non-mmu setups as well. The mmu varient of mc146818rtc.h can be use on the non-mmu builds as well. Revert to the single mc146818rtc.h file. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 9a4048a211513c3d6c56ddf2efb276113eae0b80 Author: Greg Ungerer Date: Thu Jan 29 15:35:34 2009 +1000 m68k: swtich non-mmu setups to use the mmu dma-mapping.h The mmu version of dma-mapping.h (which is dma-mapping_mm.h) is clean to be used for non-mmu setups as well. Remove dma-mapping_no.h and revert dma-mapping_mm.h to dma-mapping.h Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit 76fdb7d6bd7922353abc8a1407c6dde3789042ce Author: Greg Ungerer Date: Thu Jan 29 15:33:15 2009 +1000 m68k: use the mmu pci.h for m68knommu as well The (m68knommu) COMEMPCI support has been removed from the kernel, so now the mmu pci.h can be used on non-mmu setups as well. Remove the non-mmu pci_no.h and revert the pci_mm.h to be pci.h. Signed-off-by: Greg Ungerer Acked-by: Geert Uytterhoeven commit bf5fe9ed73c2e696d3256ff18f926b103097abd2 Author: Greg Ungerer Date: Wed Jan 28 17:29:35 2009 +1000 m68knommu: add a local dma_sync_single_for_cpu() function The onboard ethernet of many ColdFire parts uses DMA. The driver is being cleaned up to use the correct DMA handling functions, and m68knommuy currently does not implement dma_sync_single_for_cpu(). Signed-off-by: Greg Ungerer commit dffc9efc562b8a2180e86df9f733cb113ba94b33 Author: Greg Ungerer Date: Wed Jan 28 17:07:19 2009 +1000 m68knommu: mark all RAM as ZONE_DMA There is no reason not to put all RAM in ZONE_DMA for these simple m68k varients (same as the standard MMU m68k code does). With this in place the usual dma_alloc_coherent() work as expected. Signed-off-by: Greg Ungerer commit ffe7f95bb1a4d1e9ca5d252445dc38476e1a208e Author: Lauri Leukkunen Date: Mon Mar 23 18:38:17 2009 -0700 ARM OMAP3: Initial support for Nokia RX-51, v3 Adds board files and related headers for Nokia RX-51 Internet Tablet. This patch has been updated with some clean-up patches posted earlier to linux-omap list. Signed-off-by: Lauri Leukkunen Signed-off-by: Tony Lindgren commit 6fdc29e262f9a776a77f50ca9157f7c0dcfbbbc8 Author: Syed Mohammed Khasim Date: Mon Mar 23 18:38:16 2009 -0700 ARM: OMAP3: Add support for 3430 SDP, v4 Add support for 3430 SDP. Various updates have been merged into this patch from the linux-omap list. Patch updated to initialize regulators by David Brownell . Signed-off-by: Syed Mohammed Khasim David Brownell Signed-off-by: Tony Lindgren commit 757c74d298dc8438760b8dea275c4c6e0ac8a77f Author: Benjamin Herrenschmidt Date: Thu Mar 19 19:34:16 2009 +0000 powerpc/mm: Introduce early_init_mmu() on 64-bit This moves some MMU related init code out of setup_64.c into hash_utils_64.c and calls it early_init_mmu() and early_init_mmu_secondary(). This will make it easier to plug in a new MMU type. Signed-off-by: Benjamin Herrenschmidt commit a033a487f8ae79800a15774cb6565cbbca685fc6 Author: Benjamin Herrenschmidt Date: Thu Mar 19 19:34:15 2009 +0000 powerpc/mm: Add option for non-atomic PTE updates to ppc64 ppc32 has it already, add it to ppc64 as a preliminary for adding support for Book3E 64-bit support Signed-off-by: Benjamin Herrenschmidt commit ff7c660092de1f70e156cf95784a4b55556412d9 Author: Benjamin Herrenschmidt Date: Thu Mar 19 19:34:13 2009 +0000 powerpc/mm: Fix printk type warning in mmu_context_nohash We need to use %zu instead of %d when printing a sizeof() Signed-off-by: Benjamin Herrenschmidt commit d62cbf45a84d442a6b79d993c05edfb283bab8f8 Author: Benjamin Herrenschmidt Date: Thu Mar 19 19:34:11 2009 +0000 powerpc/mm: Rename arch/powerpc/kernel/mmap.c to mmap_64.c This file is only useful on 64-bit, so we name it accordingly. Signed-off-by: Benjamin Herrenschmidt commit 71087002cf807e25056dba4e4028a9f204dc9ffd Author: Benjamin Herrenschmidt Date: Thu Mar 19 19:34:09 2009 +0000 powerpc/mm: Merge various PTE bits and accessors definitions Now that they are almost identical, we can merge some of the definitions related to the PTE format into common files. This creates a new pte-common.h which is included by both 32 and 64-bit right after the CPU specific pte-*.h file, and which defines some bits to "default" values if they haven't been defined already, and then provides a generic definition of most of the bit combinations based on these and exposed to the rest of the kernel. I also moved to the common pgtable.h most of the "small" accessors to the PTE bits and modification helpers (pte_mk*). The actual accessors remain in their separate files. Signed-off-by: Benjamin Herrenschmidt commit 8d1cf34e7ad5c7738ce20d20bd7f002f562cb8b5 Author: Benjamin Herrenschmidt Date: Thu Mar 19 19:34:08 2009 +0000 powerpc/mm: Tweak PTE bit combination definitions This patch tweaks the way some PTE bit combinations are defined, in such a way that the 32 and 64-bit variant become almost identical and that will make it easier to bring in a new common pte-* file for the new variant of the Book3-E support. The combination of bits defining access to kernel pages are now clearly separated from the combination used by userspace and the core VM. The resulting generated code should remain identical unless I made a mistake. Note: While at it, I removed a non-sensical statement related to CONFIG_KGDB in ppc_mmu_32.c which could cause kernel mappings to be user accessible when that option is enabled. Probably something that bitrot. Signed-off-by: Benjamin Herrenschmidt commit 2a7d55fda58eb4e3652252d4f71222bd1ff90c5e Author: Jeremy Kerr Date: Thu Mar 19 16:46:35 2009 +0000 powerpc/cell: Fix iommu exception reporting Currently, we will report a page fault as a segment fault, and report a segment fault as both a page and segment fault. Fix the SPF_P definition to be correct according to the iommu docs, and mask before comparing. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 2319f1239592d0de80414ad2338c2bd7384a2a41 Author: Kumar Gala Date: Thu Mar 19 03:55:41 2009 +0000 powerpc/mm: e300c2/c3/c4 TLB errata workaround Complete workaround for DTLB errata in e300c2/c3/c4 processors. Due to the bug, the hardware-implemented LRU algorythm always goes to way 1 of the TLB. This fix implements the proposed software workaround in form of a LRW table for chosing the TLB-way. Based on patch from David Jander Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit eb3436a0139a651a39dbb37a75b10a2cccd00ad5 Author: Kumar Gala Date: Thu Mar 19 03:55:40 2009 +0000 powerpc/mm: Used free register to save a few cycles in SW TLB miss handling Now that r0 is free we can keep the value of I/DMISS in r3 and not reload it before doing the tlbli/d. This saves us a few cycles in the fast path case. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 00fcb14703d8322a9c66cb3f48b5c49ac7d43f0a Author: Kumar Gala Date: Thu Mar 19 03:55:39 2009 +0000 powerpc/mm: Remove unused register usage in SW TLB miss handling Long ago we had some code that actually used the CTR in the SW TLB miss handlers (603/e300). Since we don't use it no reason to waste cycles saving it off and restoring it (we actually didn't restore it in the fast path case). Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 4ae0ff606e848fa4957ebf8f97e5db5fdeec27be Author: Kumar Gala Date: Thu Mar 19 03:40:52 2009 +0000 powerpc: expect all devices calling dma ops to have archdata set Now that we set archdata for of_platform and platform devices via platform_notify() we no longer need to special case having a NULL device pointer or NULL archdata. It should be a driver error if this condition shows up and the driver should be fixed. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit d746286c1fcb186ce16295c30d48db852ede6772 Author: Kumar Gala Date: Thu Mar 19 03:40:51 2009 +0000 powerpc: setup default archdata for {of_}platform via bus_register_notifier Since a number of powerpc chips are SoCs we end up having dma-able devices that are registered as platform or of_platform devices. We need to hook the archdata to setup proper dma_ops for these devices. Rather than having to add a bus_notify to each platform we add a default one at the highest priority (called first) to set the default dma_ops for of_platform and platform devices to dma_direct_ops. This allows platform code to override the ops by providing their own notifier call back. In the future to enable >4G DMA support on ppc32 we can hook swiotlb ops. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 32ac57668dccf6c4ad5522b61a86fe211886c180 Author: Kumar Gala Date: Thu Mar 19 03:40:50 2009 +0000 powerpc/pci: Default to dma_direct_ops for pci dma_ops This will allow us to remove the ppc32 specific checks in get_dma_ops() that defaults to dma_direct_ops if the archdata is NULL. We really should always have archdata set to something going forward. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit fb2474491cd3925e6ecece0823f4673af3b0d597 Author: Stephen Rothwell Date: Wed Mar 18 17:08:52 2009 +0000 powerpc/pmi: Irq handlers return irqreturn_t Commit bedd30d986a05e32dc3eab874e4b9ed8a38058bb ("genirq: make irqreturn_t an enum") from the genirq tree in next-20090319 caused this new warning: arch/powerpc/sysdev/pmi.c: In function 'pmi_of_probe': arch/powerpc/sysdev/pmi.c:166: warning: passing argument 2 of 'request_irq' from incompatible pointer type Change the return type of the handler from "int" to "irqreturn_t". Cc: Thomas Gleixner Cc: Peter Zijlstra Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 56aa4129e87be43676c6e3eac41a6aa553877802 Author: Rusty Russell Date: Sun Mar 15 18:16:43 2009 +0000 cpumask: Use mm_cpumask() wrapper instead of cpu_vm_mask Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell Signed-off-by: Benjamin Herrenschmidt commit f5ac590e79d693d4239997265405535a2e0c36bd Author: Michael Ellerman Date: Thu Mar 12 19:52:47 2009 +0000 powerpc: Turn on self-tests in ppc64_defconfig Most of the code enabled by these options is __init, and it's much more useful to actually run the tests. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 097529f34e9fee9487fded1aa002ea095be62371 Author: Michael Ellerman Date: Thu Mar 12 19:52:45 2009 +0000 powerpc/msi: Mark the MSI bitmap selftest code as __init Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit ebf0f334ddafeea628e0e048af7f09c440cafb50 Author: Michael Ellerman Date: Thu Mar 12 02:16:27 2009 +0000 powerpc/cell: Make axonram depends on BLOCK Fix axonram driver dependency Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit fc59a3fc8eed3a2c811e64ec65015d7eb1459ace Author: Jeremy Kerr Date: Wed Mar 11 17:55:52 2009 +0000 powerpc: Add virtual processor dispatch trace log pseries SPLPAR machines are able to retrieve a log of dispatch and preempt events from the hypervisor. With this information, we can see when and why each dispatch & preempt is occuring. This change adds a set of debugfs files allowing userspace to read this dispatch log. Based on initial patches from Nishanth Aravamudan . Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 098e8957afd86323db04cbb8deea3bd158f9cc71 Author: Jeremy Kerr Date: Wed Mar 11 17:55:52 2009 +0000 powerpc: Add dispatch trace log fields to lppaca PAPR v2.3 defines fields in the virtual processor area for a dispatch trace log (DLT). Since we'd like to use the DLT, add the necessary fields to struct lppaca. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 4032278324bd3b7ad00b0ad687bb6125c4b9fc75 Author: Jeremy Kerr Date: Wed Mar 11 17:55:52 2009 +0000 powerpc: Fix page_ins details in lppaca comments The page_ins member ends at byte 0x3, not 0x4. Also, fix up the alignment. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 9a3719341a9b5d2f5a2e590497346b61cf3462a5 Author: Rusty Russell Date: Wed Mar 11 12:20:05 2009 +0000 powerpc: Make sysfs code use smp_call_function_single Impact: performance improvement This fixes 'powerpc: avoid cpumask games in arch/powerpc/kernel/sysfs.c' which talked about using smp_call_function_single, but actually used work_on_cpu (an older version of the patch). Signed-off-by: Rusty Russell Signed-off-by: Benjamin Herrenschmidt commit c5785f9e1c1c07c791fdc471f5c7fda4a5855b0c Author: Nathan Fontenot Date: Mon Mar 9 00:00:00 2009 +0000 powerpc/pseries: Failed reconfig notifier chain call cleanup The return code from invoking the notifier chain when updating the ibm,dynamic-memory property is not handled properly. In failure cases (rc == NOTIFY_BAD) we should be restoring the original value of the property. In success (rc == NOTIFY_OK) we should be returning zero from the calling routine. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit 151a9f4aef53fb9cc1e192c7d321c1d820232f4a Author: Benjamin Herrenschmidt Date: Sun Mar 22 16:04:53 2009 +0000 powerpc: Fix prom_init on 32-bit OF machines Commit e7943fbbfdb6eef03c003b374de1f802cc14f02a broke ppc32 using Open Firmware client interface due to using the wrong relocation macro when accessing the variable "linux_banner". Signed-off-by: Benjamin Herrenschmidt commit 9e41d9597e7825ec20d690013d32bcec5f3fe16a Merge: 77ecfe8... 8e0ee43... Author: Benjamin Herrenschmidt Date: Tue Mar 24 13:38:30 2009 +1100 Merge commit 'origin/master' into next commit c6a81316c721a20639871f08cf0cbff7e83889b4 Author: Steve Sakoman Date: Mon Mar 23 18:38:16 2009 -0700 ARM: OMAP3: Add ADS7846 touchscreen support to Overo platform, v3 An upcoming Overo expansion board includes an ADS7846 touchscreen controller. This patch adds support via the ads7846 driver when enabled in the kernel config. Signed-off-by: Steve Sakoman Signed-off-by: Tony Lindgren commit 18cb7aca6f94357d78d99970ec0bd5933ac4495d Author: Felipe Balbi Date: Mon Mar 23 18:34:06 2009 -0700 ARM: OMAP3: MUSB initialization for omap hw, v2 Create a generic board-file for initializing usb on omap2430 and omap3 boards. Patch modified by Tony to build the module based on CONFIG_USB_MUSB_SOC. Also merged in a patch adding the nop xceiv from Ajay Kumar Gupta . Signed-off-by: Ajay Kumar Gupta Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 828c707e6dbd0ca7882f721a466ff28729376ff0 Author: Tony Lindgren Date: Mon Mar 23 18:23:49 2009 -0700 ARM: OMAP3: Add base address definitions and resources for OMAP 3 IS, v2 This replaces earlier patch from Sergio Aguirre titled "[REVIEW PATCH 03/14] OMAP34XX: CAM: Resources fixes". Signed-off-by: Sakari Ailus Signed-off-by: Tony Lindgren commit e51151a53fc85fb1730ec4d6c1474275dcdb9ec3 Author: Adrian Hunter Date: Mon Mar 23 18:23:48 2009 -0700 ARM: OMAP3: mmc-twl4030 allow arbitrary slot names, v3 Signed-off-by: Adrian Hunter Acked-by: David Brownell Signed-off-by: Tony Lindgren commit 8d75e98b5880f8f02be68ddc3cc4e3d433630d7b Author: Adrian Hunter Date: Mon Mar 23 18:23:48 2009 -0700 ARM: OMAP3: mmc-twl4030 add cover switch Allow a cover switch to be used to cause a rescan of the MMC slot. Signed-off-by: Adrian Hunter Acked-by: David Brownell Signed-off-by: Tony Lindgren commit 034ae7b41720a26cadd4b2f02bf0b23e79240344 Author: David Brownell Date: Mon Mar 23 18:23:48 2009 -0700 ARM: OMAP3: mmc-twl4030 fix for vmmc = 0 Resolve longstanding issue noted by Adrian Hunter: confusion between settting VSEL=0 (which is 1.8V on MMC1) and poweroff. Also, leave VSEL alone if we're just powering the regulator off. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 07d83cc9c839a5f05c7c1b6d823a8f483bda0441 Author: Grazvydas Ignotas Date: Mon Mar 23 18:23:47 2009 -0700 ARM: OMAP3: mmc-twl4030 add MMC3 support, v2 Device connected to MMC3 is assumed to be self-powered, so set_power() function is empty. It can't be omited because host driver requires it. Array size for hsmmc[] is specified to allocate to allocate an instance for the third MMC controller. Also fix a leak which happens if invalid controller id is passed. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit 01971f65ff88e3ebe2b6ae42b95d68e26b83718d Author: David Brownell Date: Mon Mar 23 18:23:47 2009 -0700 ARM: OMAP3: mmc-twl4030 init passes device nodes back, v2 When setting up HSMMC devices, pass the device nodes back so board code can linking them to their power supply regulators. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 0329c3773e59aa7e50dc3760a27fb4e098773d0f Author: David Brownell Date: Mon Mar 23 18:23:47 2009 -0700 ARM: OMAP3: mmc-twl4030 voltage cleanup Correct twl4030 MMC power switching: fix voltage ranges reported for each slot, and handle them fully. Lies corrected: - MMC-1 doesn't support the 2.6-2.7 Volt range - MMC-2 can't normally support anything except 1.8V Omissions corrected - MMC-1 *does* handle the 2.8-2.9 Volt range - MMC-2 can handle 2.5-3.2 Volt cards, given a transceiver Add transciever support for MMC-2; enable it for Overo and Pandora. (Depends on something else to have set up pinmuxing for control signals instead of as MMC2_DAT4..7 pins.) Also shrink twl4030_hsmmc_info a smidgeon ... padding is all gone. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 8466032d862a2e52d73af3311bc97f950aaa36c8 Author: Adrian Hunter Date: Mon Mar 23 18:23:46 2009 -0700 ARM: OMAP3: mmc-twl4030 fix name buffer length, v2 Add 1 to buffer length for null terminator and use snprintf. Signed-off-by: Adrian Hunter Acked-by: David Brownell Signed-off-by: Tony Lindgren commit b9d766c767d53a9be1f741a53fe8151354ba1da3 Author: Tony Lindgren Date: Mon Mar 23 18:23:46 2009 -0700 ARM: OMAP3: Add more GPIO mux options This patch adds several new GPIO pins and updates the pin naming comments. The patch is based on earlier patches on linux-omap list by Manikandan Pillai , Vaibhav Hiremath and David Brownell . Signed-off-by: Tony Lindgren commit 2bb6c8026ccfa26ba713f4462f661aba7dd4dc16 Author: Jarkko Nikula Date: Mon Mar 23 18:23:46 2009 -0700 ARM: OMAP3: Remove unused CONFIG_I2C2_OMAP_BEAGLE There is no CONFIG_I2C2_OMAP_BEAGLE in mainline and it is under removal in linux-omap also so remove this dead code now. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit b0b5aa3f4c17c6a21423b9728d701216ab2e1ff1 Author: Felipe Balbi Date: Mon Mar 23 18:07:49 2009 -0700 ARM: OMAP: get rid of OMAP_TAG_USB, v2 OMAP_TAGS should vanish soon since they're not generic arm tags. Most of them can be converted to a platform_data or parsed from a command line like e.g. serial tag. For OMAP_TAG_USB we just let boards call omap_usb_init() passing a pointer to omap_usb_config. Patch updated by Tony for mainline, basically make n770 and h4 compile. Also folded in a fix for OSK by David Brownell . Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 52176e70837d56cd238d6edc04cc403f1ffa86c6 Author: Santosh Shilimkar Date: Mon Mar 23 18:07:49 2009 -0700 ARM: OMAP: Dispatch only relevant DMA interrupts This fixes the spurious interrupt issue on a DMA channel. In OMAP sDMA, contrast to the SDMA.DMA4_CSRi registers, the SDMA.DMA4_IRQSTATUS_Lj registers are updated regardless of the corresponding bits in the SDMA.DMA4_IRQENABLE_Lj registers. Since there are four sDMA interrupt lines and if more than one line is actively used by two concurrently running sDMA softwares modules,then the spurious interrupt can be observed on the other lines. Fix in this patch will only dispatch the relevant and enabled interrupts on a particular line thus perevting spurious IRQ. Signed-off-by: Santosh Shilimkar Acked-by: Nishant Kamat Signed-off-by: Tony Lindgren commit 2263f0222e836c7b2c144e0546a2701661e2f517 Author: Santosh Shilimkar Date: Mon Mar 23 18:07:48 2009 -0700 ARM: OMAP: Get available DMA channels from cmdline This patch set up a cmdline option for omap dma for masking the available channels. It is needed since the OMAP DMA is a system wide resource and can be used by another software apart from the kernel. To reserve the omap SDMA channels for kernel dma usage, use cmdline bootarg "omap_dma_reserve_ch=". The valid range is 1 to 32. Signed-off-by: Santosh Shilimkar Acked-by: Nishant Kamat Signed-off-by: Tony Lindgren commit 7954763bb95fd484a76d1151b40956fe331d23b9 Author: Jarkko Nikula Date: Mon Mar 23 18:07:48 2009 -0700 ARM: OMAP: Add method to register additional I2C busses on the command line, v2 This patch extends command line option "i2c_bus=bus_id,clkrate" so that it allow to register additional I2C busses that are not registered with omap_register_i2c_bus from board initialization code. Purpose of this is to register additional board busses which are routed to external connectors only without any on board I2C devices. Cc: linux-i2c@vger.kernel.org Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 3a853fb933ddf9c5ea8c9f7c665dd8def26bceae Author: Jarkko Nikula Date: Mon Mar 23 18:07:47 2009 -0700 ARM: OMAP: Add command line option for I2C bus speed, v2 This patch adds a new command line option "i2c_bus=bus_id,clkrate" into I2C bus registration helper. Purpose of the option is to override the default board specific bus speed which is supplied by the omap_register_i2c_bus. The default bus speed is typically set to speed of slowest I2C chip on the bus and overriding allow to use some experimental configurations or updated chip versions without any kernel modifications. Cc: linux-i2c@vger.kernel.org Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit d4c58bf45a9a1668cb850e02a2e1aad785bd9325 Author: Jarkko Nikula Date: Mon Mar 23 18:07:46 2009 -0700 ARM: OMAP: Add documentation for function omap_register_i2c_bus Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 6c366e3299e8e9458881e19913a79ea3ceff4a8f Author: Timo Kokkonen Date: Mon Mar 23 18:07:46 2009 -0700 ARM: OMAP: Export dmtimer functions Make the dmtimer function symbols available so modules can take use of them. Signed-off-by: Timo Kokkonen Signed-off-by: Tony Lindgren commit ed98178319948d97ce8e664cf451cff6dbf04cdd Author: Zebediah C. McClure Date: Mon Mar 23 18:07:46 2009 -0700 [OMAP850] Build system changes Build system changes. Signed-off-by: Zebediah C. McClure Signed-off-by: Tony Lindgren commit 59185eeeaad1f07fc930c1878f3773484219e3da Author: Zebediah C. McClure Date: Mon Mar 23 18:07:45 2009 -0700 [OMAP850] IRQ related changes IRQ related changes. Signed-off-by: Zebediah C. McClure Signed-off-by: Tony Lindgren commit 557096fe2838778ec1c6df0186560ff21749f63d Author: Zebediah C. McClure Date: Mon Mar 23 18:07:44 2009 -0700 [OMAP850] Changes to memory subsystem Changes to memory subsystem. Signed-off-by: Zebediah C. McClure Signed-off-by: Tony Lindgren commit 56739a692946d4c2630cf287646ccaa67c828f47 Author: Zebediah C. McClure Date: Mon Mar 23 18:07:40 2009 -0700 [OMAP850] Changes to base IO subsystem, v2 Changes to base IO subsystem. Signed-off-by: Zebediah C. McClure Signed-off-by: Tony Lindgren commit ae302f40061235f6bc58ae9ba02aa849d60223b5 Author: Zebediah C. McClure Date: Mon Mar 23 18:07:39 2009 -0700 [OMAP850] Add base support for omap850 cpu Add base support for omap850 cpu. Signed-off-by: Zebediah C. McClure Signed-off-by: Tony Lindgren commit 6b0147cda6a9d8c236cd04fb35b44de828d8a7eb Author: Tony Lindgren Date: Mon Mar 23 18:07:39 2009 -0700 ARM: OMAP: Remove remaining board-*.h includes from hardware.h Also remove board-omap3beagle.h that is not included anywhere, and move protoype for voiceblue_reset() from board-voiceblue.h to system.h. After this patch there are still board-ams-delta.h, board-sx1.h and board-voiceblue.h that export some functions. These could be removed if the functions were moved under drivers. Signed-off-by: Tony Lindgren commit d40cdf080deac7dfa1b3c6ea216db97e872de1b2 Author: Tony Lindgren Date: Mon Mar 23 18:07:38 2009 -0700 ARM: OMAP: No need to include board-nokia.h from hardware.h Move the defines to the associated board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren commit 0d4d9ab08ac28b4742dadc35b5ac7613abf71475 Author: Tony Lindgren Date: Mon Mar 23 18:07:38 2009 -0700 ARM: OMAP: No need to include board-overo.h from hardware.h Move the defines to the associated board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren commit ec7558a62d2e28ec607fdfab1cd39b475d929ce5 Author: Tony Lindgren Date: Mon Mar 23 18:07:37 2009 -0700 ARM: OMAP: No need to include board-ldp.h from hardware.h Move the defines to the associated board file and remove the now unnecessary header file. Also rename OMAP34XX_ETHR_START to LDP_ETHR_START. Signed-off-by: Tony Lindgren commit 40662d77311d8de3a26c33f2fd5a2d4d810a4c8a Author: Tony Lindgren Date: Mon Mar 23 18:07:36 2009 -0700 ARM: OMAP: No need to include board-h4.h from hardware.h Move the defines to the associated board file and remove the now unnecessary header file. Also rename OMAP24XX_ETHR_GPIO_IRQ to H4_ETHR_GPIO_IRQ. Signed-off-by: Tony Lindgren commit 7055477558686e106149bf0bb0edc0f5cd848ad9 Author: Tony Lindgren Date: Mon Mar 23 18:07:35 2009 -0700 ARM: OMAP: No need to include board-apollon.h from hardware.h Move the defines to the associated board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren commit a362fdbddb713d27ec0931a8be64b767f85bae0d Author: Tony Lindgren Date: Mon Mar 23 18:07:35 2009 -0700 ARM: OMAP: No need to include board-omap2430sdp.h from hardware.h Move the defines to the associated board file and remove the now unnecessary header file. Also rename SDP2430_ETHR_GPIO_IRQ to SDP2430_ETHR_GPIO_IRQ. Signed-off-by: Tony Lindgren commit b2830810fd8ca8cd8a929a6d6a6c886b1d689a51 Author: Tony Lindgren Date: Mon Mar 23 18:07:35 2009 -0700 ARM: OMAP: No need to include board-palm*.h from hardware.h Move the defines to the associated board file and remove the now unnecessary header files. Signed-off-by: Tony Lindgren commit 3a0110cdae41fb91d005c335db9e5e697dddc5cd Author: Tony Lindgren Date: Mon Mar 23 18:07:34 2009 -0700 ARM: OMAP: No need to include board-osk.h from hardware.h Move the defines to the board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren commit 278267be38949b051f49e0bc3da76bfb2af49abf Author: Tony Lindgren Date: Mon Mar 23 18:07:34 2009 -0700 ARM: OMAP: No need to include board-innovator.h from hardware.h Move the defines to the board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren commit 228fe42e5e78649f4a773a47c0a48cbea8e640af Author: Tony Lindgren Date: Mon Mar 23 18:07:33 2009 -0700 ARM: OMAP: No need to include board-h3.h from hardware.h Also move board-h3.h to mach-omap1. Signed-off-by: Tony Lindgren commit eb6b0b1832a779cfa65bb66b8a88454d988a1d69 Author: Tony Lindgren Date: Mon Mar 23 18:07:33 2009 -0700 ARM: OMAP: No need to include board-h2.h from hardware.h Also move board-h2.h to mach-omap1. Signed-off-by: Tony Lindgren commit d9558b19f2d1f01f6a11e148405cd3af63b8d6a8 Author: Tony Lindgren Date: Mon Mar 23 18:07:32 2009 -0700 ARM: OMAP: No need to include board-perseus2.h or board-fsample.h from hardware.h Move defines to the board file and remove the now unnecessary headers. Signed-off-by: Tony Lindgren commit 8dff0fa55dfc22bfee6601c2552f89c52d2948f6 Author: Hiroshi DOYU Date: Mon Mar 23 18:07:32 2009 -0700 omap mailbox: remove unnecessary header file inclusion Signed-off-by: Hiroshi DOYU commit 7a781afde63adf5d75042be8ada509c913a94afe Author: Hiroshi DOYU Date: Mon Mar 23 18:07:31 2009 -0700 omap mailbox: convert sequence bit checking to module paramter Signed-off-by: Hiroshi DOYU commit 9ae0ee0076d51d9017e89004643825a67d852910 Author: Hiroshi DOYU Date: Mon Mar 23 18:07:26 2009 -0700 omap mailbox: move mailbox.h into mailbox.c no need to keep mailbox.h separately. Signed-off-by: Hiroshi DOYU commit c75ee7520b4ad48a6948f51ca43b2e46ebd3696a Author: Hiroshi DOYU Date: Mon Mar 23 18:07:26 2009 -0700 omap mailbox: add save_/restore_ctx() for PM To preserve the registers during off-mode Signed-off-by: Hiroshi DOYU commit da8cfe03a461fe759041e7f130f96913b262aa6b Author: Hiroshi DOYU Date: Mon Mar 23 18:07:25 2009 -0700 omap mailbox: fix empty struct device for omap2 Signed-off-by: Hiroshi DOYU commit f98d67a07e90f3ed7a6c351ae70bcd6bf8bcf478 Author: Hiroshi DOYU Date: Mon Mar 23 18:07:25 2009 -0700 omap mailbox: fix empty struct device for omap1 Signed-off-by: Hiroshi DOYU commit f48cca87703a4f4c372f1519e72e0fd6acb70d54 Author: Hiroshi DOYU Date: Mon Mar 23 18:07:24 2009 -0700 omap mailbox: fix empty struct device for omap_mbox Since "mbox->dev" doesn't exist and isn't created either at registration, this patch will create "struct device", which belongs to "omap-mailbox" class and set this pointer for the member of "struct omap_mbox". Signed-off-by: Hiroshi DOYU commit 94fc58c6da019257680ae711c061cb403582a362 Author: Hiroshi DOYU Date: Mon Mar 23 18:07:24 2009 -0700 omap mailbox: print hardware revision at startup Signed-off-by: Hiroshi DOYU commit 6c20a68372f158def0a29657ce11b3609ed24f9a Author: Hiroshi DOYU Date: Mon Mar 23 18:07:23 2009 -0700 omap mailbox: add initial omap3 support Signed-off-by: Hiroshi DOYU commit 733ecc5c06bb2892f04ab1881721d665644cd261 Author: Hiroshi DOYU Date: Mon Mar 23 18:07:23 2009 -0700 omap mailbox: cleanup omap2 register definition with macro Signed-off-by: Hiroshi DOYU commit 703a3cd72817e99201cef84a8a7aecc60b2b3581 Merge: df7f54c... 8e0ee43... Author: James Morris Date: Tue Mar 24 10:52:46 2009 +1100 Merge branch 'master' into next commit c441c2971de52b7045acb708cc9959815f554f66 Merge: afad17c... 28514fe... Author: Takashi Iwai Date: Tue Mar 24 00:36:23 2009 +0100 Merge branch 'topic/usb-caiaq' into for-linus commit afad17c0ae21013f958c39594e8a64d120a611f8 Merge: d080732... b1c86bb... Author: Takashi Iwai Date: Tue Mar 24 00:36:22 2009 +0100 Merge branch 'topic/usb-audio' into for-linus commit d0807323345f1cd8ab578b09aab04d10862e9414 Merge: d7b6df5... 453e37b... Author: Takashi Iwai Date: Tue Mar 24 00:36:21 2009 +0100 Merge branch 'topic/sscape-fix' into for-linus commit d7b6df5d1af11544401ca051aaf68b6e7f110c0e Merge: 7df4f69... 3966175... Author: Takashi Iwai Date: Tue Mar 24 00:36:20 2009 +0100 Merge branch 'topic/powermac' into for-linus commit 7df4f694356a125e4553ca35b215fd9e88e858c5 Merge: b54fc8d... d563ffa... Author: Takashi Iwai Date: Tue Mar 24 00:36:19 2009 +0100 Merge branch 'topic/pcxhr' into for-linus commit b54fc8dd2c43888f2754505cca2b6e88604a8ffa Merge: 9fb5430... 873591d... Author: Takashi Iwai Date: Tue Mar 24 00:36:17 2009 +0100 Merge branch 'topic/oxygen' into for-linus commit 9fb5430c3d6e96a74fd4406dbe7608f36abb9987 Merge: 4c5ecb7... e5bf484... Author: Takashi Iwai Date: Tue Mar 24 00:36:16 2009 +0100 Merge branch 'topic/oss-fix' into for-linus commit 4c5ecb7e59662a76754efdd41c6ed4415e6e9840 Merge: fa15fde... 5e74762... Author: Takashi Iwai Date: Tue Mar 24 00:36:15 2009 +0100 Merge branch 'topic/msnd' into for-linus commit fa15fdeffa3977b17882f485547e65296cf0bd30 Merge: 843ad02... 37ba1b6... Author: Takashi Iwai Date: Tue Mar 24 00:36:13 2009 +0100 Merge branch 'topic/isa-misc' into for-linus commit 843ad02fa4fb9230cd19923cc8ea1d6096cadf4e Merge: 60c4e7c... 14ab086... Author: Takashi Iwai Date: Tue Mar 24 00:36:13 2009 +0100 Merge branch 'topic/intel8x0' into for-linus commit 60c4e7c120d8cfe83fa4b0978b682b6d140483ac Merge: 593aff6... e2ea7cf... Author: Takashi Iwai Date: Tue Mar 24 00:36:12 2009 +0100 Merge branch 'topic/ice' into for-linus commit 593aff6c506ba0399a80720d4c5d7e80d8854f9a Merge: e7bfbb0... c2503cd... Author: Takashi Iwai Date: Tue Mar 24 00:36:10 2009 +0100 Merge branch 'topic/hdsp' into for-linus commit e7bfbb0215ee9b2fc976f7f51e20a8ae02b1d839 Merge: fe506d6... 9b6682f... Author: Takashi Iwai Date: Tue Mar 24 00:36:09 2009 +0100 Merge branch 'topic/hda' into for-linus commit fe506d6bc5d7b9c0c1d630eecb32241c1d362462 Merge: c9294e4... 730d45f... Author: Takashi Iwai Date: Tue Mar 24 00:36:08 2009 +0100 Merge branch 'topic/emu10k1' into for-linus commit c9294e4b3793e2bd397691ae015283eecca29562 Merge: ae02cde... a2328d0... Author: Takashi Iwai Date: Tue Mar 24 00:36:07 2009 +0100 Merge branch 'topic/echoaudio' into for-linus commit ae02cde7e9bc7bb4cb48b1798479889f043ba2ae Merge: f11a936... 323a596... Author: Takashi Iwai Date: Tue Mar 24 00:36:05 2009 +0100 Merge branch 'topic/drop-l3' into for-linus commit f11a936fe74e55e02c6b836f66458c3816b76342 Merge: a3c6048... e776ec1... Author: Takashi Iwai Date: Tue Mar 24 00:36:02 2009 +0100 Merge branch 'topic/docbook-fix' into for-linus commit a3c6048dcfe3d7015e591b81c547b6df707b0859 Merge: 87cd9d7... cda9043... Author: Takashi Iwai Date: Tue Mar 24 00:35:59 2009 +0100 Merge branch 'topic/cs423x-merge' into for-linus commit 87cd9d7c8501e5da79de542340208b5f6ab4e1a4 Merge: 158c152... dd542f1... Author: Takashi Iwai Date: Tue Mar 24 00:35:58 2009 +0100 Merge branch 'topic/ca0106' into for-linus commit 158c1529fe8d0094d0051169fd2b1a23e6305223 Merge: b5c7848... 6c7578b... Author: Takashi Iwai Date: Tue Mar 24 00:35:56 2009 +0100 Merge branch 'topic/atmel' into for-linus commit b5c784894c90042f4fc6348aedc7524e899df281 Merge: ff4fc36... 1f21869... Author: Takashi Iwai Date: Tue Mar 24 00:35:53 2009 +0100 Merge branch 'topic/asoc' into for-linus commit ff4fc3656e489ed6ee575959b0510286aefe1e20 Merge: e0d2054... 5f17e79... Author: Takashi Iwai Date: Tue Mar 24 00:35:51 2009 +0100 Merge branch 'topic/aoa' into for-linus commit e0d2054fd3cf167395390dc1758644486c782707 Merge: d807500... c468ac2... Author: Takashi Iwai Date: Tue Mar 24 00:35:50 2009 +0100 Merge branch 'topic/misc' into for-linus commit d807500a2472445d05ce641bf09438e3d72eeb4f Merge: c7ccfd0... 8b22d94... Author: Takashi Iwai Date: Tue Mar 24 00:35:49 2009 +0100 Merge branch 'topic/pcm-cleanup' into for-linus commit c7ccfd060fe38d1029db860199a04d9b3dd4694d Merge: ec6659c... 78a05b5... Author: Takashi Iwai Date: Tue Mar 24 00:35:48 2009 +0100 Merge branch 'topic/ioctl-use-define' into for-linus commit ec6659c3898798a9cf3010d6c61a8ea6fa123073 Merge: c944a93... 79c7cdd... Author: Takashi Iwai Date: Tue Mar 24 00:35:47 2009 +0100 Merge branch 'topic/vmaster-update' into for-linus commit c944a93df0d566a66409628c4524f4fc4f62eaf5 Merge: 65b3864... 9a1b64c... Author: Takashi Iwai Date: Tue Mar 24 00:35:46 2009 +0100 Merge branch 'topic/rawmidi-fix' into for-linus commit 65b3864b85485a91f70988e1a222e3935bce87e4 Merge: bafdb72... 118dd6b... Author: Takashi Iwai Date: Tue Mar 24 00:35:45 2009 +0100 Merge branch 'topic/ctl-list-cleanup' into for-linus commit bafdb7278cb6a215a8a451024fa1604d790cb7b4 Merge: 5b56eec... 8bd4bb7... Author: Takashi Iwai Date: Tue Mar 24 00:35:44 2009 +0100 Merge branch 'topic/quirk-cleanup' into for-linus commit 5b56eec77498f15317f3ff5ac9101372f400c859 Merge: c2f4398... 662c319... Author: Takashi Iwai Date: Tue Mar 24 00:35:43 2009 +0100 Merge branch 'topic/jack' into for-linus commit c2f43981e5dbc92884149aa2234064cc2c340acd Merge: dec14f8... 28b7e34... Author: Takashi Iwai Date: Tue Mar 24 00:35:41 2009 +0100 Merge branch 'topic/hwdep-cleanup' into for-linus commit dec14f8c0eff54549e5747f8a4d1dc6c0347e2dd Merge: 8e0ee43... b1a0aac... Author: Takashi Iwai Date: Tue Mar 24 00:35:35 2009 +0100 Merge branch 'topic/snd_card_new-err' into for-linus commit 039a6f6a39d2aa30ee53afdb213ea6dd4482928b Author: David S. Miller Date: Mon Mar 23 16:21:16 2009 -0700 ucc_geth: Fix merge error. I left a merge failure unresolved, noticed by Stephen Rothwell. Signed-off-by: David S. Miller commit 9fb4c2b9e06c0a197d867b34865b113a47370bd5 Author: Chris Dearman Date: Fri Mar 20 15:33:55 2009 -0700 MIPS: R2: Fix problem with code that incorrectly modifies ebase. Commit 566f74f6b2f8b85d5b8d6caaf97e5672cecd3e3e had a change that incorrectly modified ebase. This backs out the lines that modified ebase. In addition, the ebase exception vector is now allocated with correct alignment and the ebase register updated according to the architecture specification. Based on original patch by David VomLehn . Signed-off-by: David VomLehn Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 89e18eb331cc83fb4923bbc9a93beb5cb53eca0a Author: Ralf Baechle Date: Mon Mar 23 22:14:55 2009 +0100 MIPS: Change {set,clear,change}_c0_ to return old value. This is more standard and useful and need for the following fix to work correctly. Signed-off-by: Ralf Baechle commit 5484879c0a50de7f60d403d375faff41cbd4ab01 Author: Huang Weiyi Date: Sat Mar 21 13:50:48 2009 +0800 MIPS: compat: Remove duplicated #include Remove duplicated #include in arch/mips/kernel/linux32.c. Signed-off-by: Huang Weiyi Signed-off-by: Ralf Baechle commit 5864810bc50de57e1b4757850d3208f69579af7f Author: Shinya Kuribayashi Date: Wed Mar 18 09:04:01 2009 +0900 MIPS: VR5500: Enable prefetch Signed-off-by: Shinya Kuribayashi Signed-off-by: Ralf Baechle commit d7001198366bffce4506ba21b7b0fee2de194f73 Author: Jan Nikitenko Date: Fri Nov 28 08:52:58 2008 +0100 MIPS: Fix oops in dma_unmap_page on not coherent mips platforms dma_cache_wback_inv() expects virtual address, but physical was provided due to translation via plat_dma_addr_to_phys(). If replaced with dma_addr_to_virt(), page fault oops from dma_unmap_page() is gone on au1550 platform. Signed-off-by: Jan Nikitenko Acked-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 18f27383d9bdcb985cc39599e99917bdad101a60 Author: Anton Vorontsov Date: Thu Mar 19 06:48:08 2009 +0000 fsl_pq_mdio: Use proper address translation Currently the driver just read "reg" property for constructing MDIO bus IDs, but this won't work when we'll start using "ranges = <>" in the device tree, so this will pop up: Freescale PowerQUICC MII Bus: probed sysfs: duplicate filename 'mdio@520' can not be created ------------[ cut here ]------------ Badness at c00cb6b8 [verbose debug info unavailable] NIP: c00cb6b8 LR: c00cb6b8 CTR: c001271c REGS: cf82fc10 TRAP: 0700 Not tainted (2.6.29-rc7-03702-g7ccd10f) MSR: 00029032 CR: 42044022 XER: 20000000 TASK = cf81fbd0[1] 'swapper' THREAD: cf82e000 GPR00: c00cb6b8 cf82fcc0 cf81fbd0 0000003b 00000e42 ffffffff 00004000 00000e42 GPR08: c03cb0fc c03bfbdc 00000e42 c03cac50 22044022 1006a2bc 0ffcb000 00000000 GPR16: 0ffc04b0 0ffc5a40 00000000 0ffc79a8 0f7863a8 00000004 00000000 00000000 GPR24: c033a6a8 d1014520 cf85e840 cf82fd08 cf87cf2c cf82fcd8 cf85dea8 ffffffef NIP [c00cb6b8] sysfs_add_one+0x4c/0x54 LR [c00cb6b8] sysfs_add_one+0x4c/0x54 Call Trace: [cf82fcc0] [c00cb6b8] sysfs_add_one+0x4c/0x54 (unreliable) [cf82fcd0] [c00cbc18] create_dir+0x58/0xc0 [cf82fd00] [c00cbcc0] sysfs_create_dir+0x40/0x70 [cf82fd20] [c0159388] create_dir+0x28/0x78 [cf82fd30] [c0159824] kobject_add_internal+0x98/0x13c [cf82fd50] [c0159e98] kobject_add+0x60/0x98 [cf82fd80] [c018a480] device_add+0x98/0x2ac [cf82fda0] [c01a2380] mdiobus_register+0xbc/0x1c0 [cf82fdc0] [c019f31c] fsl_pq_mdio_probe+0x284/0x2a0 [cf82fe00] [c0223814] of_platform_device_probe+0x5c/0x84 ... This patch fixes the issue by translating the "reg" property to a full address, and thus avoids the duplicate names. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit 1618536961d31f9b3f55767b22d4a897f4204c26 Author: Frederic Weisbecker Date: Mon Mar 23 22:17:01 2009 +0100 tracing/function-graph-tracer: fix functions call traces imbalance Impact: fix traces output Sometimes one can observe an imbalance in the traces between function calls and function return traces: func1() { } } The curly brace inside func1() is the return of another function nested inside func1. The return trace have been inserted in the buffer but not the entry. We are storing a return address on the function traces stack while we haven't inserted its entry on the buffer, hence the imbalance on the traces. This is because the tracers doesn't check all failures that can happen on buffer insertion. This patch reports the tracing recursion failures and the ring buffer failures. In such cases, we now restore the original return address for the function, giving up its return trace. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1237843021-11695-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 45b9560895b07a4a09d55d49235c984db512c5aa Author: Anton Vorontsov Date: Tue Mar 24 01:07:24 2009 +0300 tracing: Fix TRACING_SUPPORT dependency for PPC32 commit 40ada30f9621fbd831ac2437b9a2a399aa ("tracing: clean up menu"), despite the "clean up" in its purpose, introduced a behavioural change for Kconfig symbols: we no longer able to select tracing support on PPC32 (because IRQFLAGS_SUPPORT isn't yet implemented). The IRQFLAGS_SUPPORT is not mandatory for most tracers, tracing core has a special case for platforms w/o irqflags (which, by the way, has become useless as of the commit above). Though according to Ingo Molnar, there was periodic build failures on weird, unmaintained architectures that had no irqflags-tracing support and hence didn't know the raw_irqs_save/restore primitives. Thus we'd better not enable irqflags-less tracing for all architectures. This patch restores the old behaviour for PPC32, and thus brings the tracing back. Other architectures can either add themselves to the exception list or (better) implement TRACE_IRQFLAGS_SUPPORT. Signed-off-by: Anton Vorontsov Acked-b: Steven Rostedt Cc: linuxppc-dev@ozlabs.org LKML-Reference: <20090323220724.GA9851@oksana.dev.rtsoft.ru> Signed-off-by: Ingo Molnar commit 30842f2989aacfaba3ccb39829b3417be9313dbe Author: Vitaly Mayatskikh Date: Mon Mar 23 15:22:33 2009 -0700 udp: Wrong locking code in udp seq_file infrastructure Reading zero bytes from /proc/net/udp or other similar files which use the same seq_file udp infrastructure panics kernel in that way: ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- read/1985 is trying to release lock (&table->hash[i].lock) at: [] udp_seq_stop+0x27/0x29 but there are no more locks to release! other info that might help us debug this: 1 lock held by read/1985: #0: (&p->lock){--..}, at: [] seq_read+0x38/0x348 stack backtrace: Pid: 1985, comm: read Not tainted 2.6.29-rc8 #9 Call Trace: [] ? udp_seq_stop+0x27/0x29 [] print_unlock_inbalance_bug+0xd6/0xe1 [] lock_release_non_nested+0x9e/0x1c6 [] ? seq_read+0xb2/0x348 [] ? mark_held_locks+0x68/0x86 [] ? udp_seq_stop+0x27/0x29 [] lock_release+0x15d/0x189 [] _spin_unlock_bh+0x1e/0x34 [] udp_seq_stop+0x27/0x29 [] seq_read+0x2bb/0x348 [] ? seq_read+0x0/0x348 [] proc_reg_read+0x90/0xaf [] vfs_read+0xa6/0x103 [] ? trace_hardirqs_on_caller+0x12f/0x153 [] sys_read+0x45/0x69 [] system_call_fastpath+0x16/0x1b BUG: scheduling while atomic: read/1985/0xffffff00 INFO: lockdep is turned off. Modules linked in: cpufreq_ondemand acpi_cpufreq freq_table dm_multipath kvm ppdev snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_seq_dummy snd_seq_oss snd_seq_midi_event arc4 snd_s eq ecb thinkpad_acpi snd_seq_device iwl3945 hwmon sdhci_pci snd_pcm_oss sdhci rfkill mmc_core snd_mixer_oss i2c_i801 mac80211 yenta_socket ricoh_mmc i2c_core iTCO_wdt snd_pcm iTCO_vendor_support rs rc_nonstatic snd_timer snd lib80211 cfg80211 soundcore snd_page_alloc video parport_pc output parport e1000e [last unloaded: scsi_wait_scan] Pid: 1985, comm: read Not tainted 2.6.29-rc8 #9 Call Trace: [] ? __debug_show_held_locks+0x1b/0x24 [] __schedule_bug+0x7e/0x83 [] schedule+0xce/0x838 [] ? fsnotify_access+0x5f/0x67 [] ? sysret_careful+0xb/0x37 [] ? trace_hardirqs_on_caller+0x1f/0x153 [] ? trace_hardirqs_on_thunk+0x3a/0x3f [] sysret_careful+0x31/0x37 read[1985]: segfault at 7fffc479bfe8 ip 0000003e7420a180 sp 00007fffc479bfa0 error 6 Kernel panic - not syncing: Aiee, killing interrupt handler! udp_seq_stop() tries to unlock not yet locked spinlock. The lock was lost during splitting global udp_hash_lock to subsequent spinlocks. Signed-off by: Vitaly Mayatskikh Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e072b639dc13b06b65be487633dad9bb3d2067d5 Author: Steve Glendinning Date: Mon Mar 23 15:17:31 2009 -0700 phy: add new LAN8710 and LAN8720 device ids to smsc phy driver LAN8710 and LAN8720 are two new 10/100 ethernet PHY models. The two share the same phy id, this patch adds it to the smsc phy driver. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 9b6682ff4c69484b6955f89f7902e3dde2481bed Author: Takashi Iwai Date: Mon Mar 23 22:50:52 2009 +0100 ALSA: hda - Add quirk for Acer Ferrari 5000 Add a quirk model=acer-aspire for Acer Ferrari 5000 with ALC883 codec. Note that model=auto doesn't work for this laptop because of broken BIOS (that doesn't set the subsystem id properly). Tested-by: Russ Dill Signed-off-by: Takashi Iwai commit 3e303dc1215714308e21a45e2c0fa6f701ad0eb4 Author: David S. Miller Date: Mon Mar 23 14:42:09 2009 -0700 spider_net: Add missing .ndo_validate_addr Signed-off-by: David S. Miller commit dac4696a4b4f6823efda32f92dbc236a918c376f Author: David S. Miller Date: Mon Mar 23 14:29:24 2009 -0700 myri_sbus/sunbmac/sunlance/sunqe: Add missing net_device_ops entries. Noticed by Stephen Hemminger. Signed-off-by: David S. Miller commit 0c1355e36fdc304b102851312d80a1e69c01f5a2 Author: Alexander Clouter Date: Sat Mar 21 11:09:25 2009 +0000 [ARM] orion5x: update of FPGA ID's for the TS-78xx Received official word finally from Technological Systems on which FPGA ID's they have released unto the world. Also an additional of a dummy entry matching the FPGA ID of the Verilog template on our wiki. Signed-off-by: Alexander Clouter Signed-off-by: Nicolas Pitre commit 8be7cdccacfbfc707e7370cad9bb168defed636f Merge: ecd4137... 61fa9dc... Author: David S. Miller Date: Mon Mar 23 13:35:04 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ucc_geth.c commit ecd4137320b59759bbe57eef89040ee3e5e66039 Author: David S. Miller Date: Mon Mar 23 13:33:37 2009 -0700 sunqe: Convert to net_device_ops. Signed-off-by: David S. Miller commit c7670718cbca7a2f3c8751076cb62e1691006be9 Author: David S. Miller Date: Mon Mar 23 13:33:28 2009 -0700 sunlance: Convert to net_device_ops. Signed-off-by: David S. Miller commit 2199b87a94375befd574a58b7824551c1e285833 Author: David S. Miller Date: Mon Mar 23 13:33:21 2009 -0700 sunbmac: Convert to net_device_ops. Signed-off-by: David S. Miller commit adaa0db1da2d885f49dd2dcc357cdbe68e6dc283 Author: David S. Miller Date: Mon Mar 23 13:33:11 2009 -0700 myri_sbus: Convert to net_device_ops. Signed-off-by: David S. Miller commit 586dcf279baebc18aca943cd44014e3679510d5b Author: Martin Michlmayr Date: Sun Mar 22 15:22:11 2009 +0100 [ARM] Kirkwood: Add support for QNAP TS-119/TS-219 Turbo NAS Add support for the QNAP TS-119 and TS-219 Turbo NAS devices. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 99b36e68d3e9aa75439cbbcf04c78dc1b78f4049 Author: Nicolas Pitre Date: Mon Mar 23 16:10:36 2009 -0400 [ARM] update mach-types Signed-off-by: Nicolas Pitre commit 37bebc70d7ad4144c571d74500db3bb26ec0c0eb Author: Oleg Nesterov Date: Mon Mar 23 20:34:11 2009 +0100 posix timers: fix RLIMIT_CPU && fork() See http://bugzilla.kernel.org/show_bug.cgi?id=12911 copy_signal() copies signal->rlim, but RLIMIT_CPU is "lost". Because posix_cpu_timers_init_group() sets cputime_expires.prof_exp = 0 and thus fastpath_timer_check() returns false unless we have other cpu timers. This is the minimal fix for 2.6.29 (tested) and 2.6.28. The patch is not optimal, we need further cleanups here. With this patch update_rlimit_cpu() is not really needed, but I don't think it should be removed. The proper fix (I think) is: - set_process_cpu_timer() should just start the cputimer->running logic (it does), no need to change cputime_expires.xxx_exp - posix_cpu_timers_init_group() should set ->running when needed - fastpath_timer_check() can check ->running instead of task_cputime_zero(signal->cputime_expires) Reported-by: Peter Lojkin Signed-off-by: Oleg Nesterov Cc: Peter Zijlstra Cc: Roland McGrath Cc: [for 2.6.29.x] LKML-Reference: <20090323193411.GA17514@redhat.com> Signed-off-by: Ingo Molnar commit a441891f9dbd38e62f30caba2e9e9d43bdf37729 Author: Martin Michlmayr Date: Sun Mar 22 15:21:25 2009 +0100 [ARM] Kirkwood: More consistency regarding MPP naming With the exception of UART0, all MPP names are uppercase. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 6574e001b4bc616022ee706a338fbbac26a9cedd Author: Martin Michlmayr Date: Mon Mar 23 19:13:21 2009 +0100 [ARM] Kirkwood: Hook up I2C Hook up I2C on Marvell Kirkwood. Tested on a QNAP TS-219 which has RTC connected through I2C. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit dc85ce155b7cad4c39c1fc95b4f6281920cef3c8 Merge: 4731f8b... 1efb718... Author: Russell King Date: Mon Mar 23 16:42:30 2009 +0000 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit c8608d6b58981a58ca4aee8308576666c5f7ab0c Author: Jeremy Fitzhardinge Date: Sun Mar 22 14:48:44 2009 -0700 x86/dmi: fix dmi_alloc() section mismatches Impact: section mismatch fix Ingo reports these warnings: > WARNING: vmlinux.o(.text+0x6a288e): Section mismatch in reference from > the function dmi_alloc() to the function .init.text:extend_brk() > The function dmi_alloc() references > the function __init extend_brk(). > This is often because dmi_alloc lacks a __init annotation or the > annotation of extend_brk is wrong. dmi_alloc() is a static inline, and so should be immune to this kind of error. But force it to be inlined and make it __init anyway, just to be extra sure. All of dmi_alloc()'s callers are already __init. Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu LKML-Reference: <49C6B23C.2040308@goop.org> Signed-off-by: Ingo Molnar commit efd247fa34084d9b162f485004ae6d8a04059f0c Merge: af66df5... 59fcbdd... Author: Ingo Molnar Date: Mon Mar 23 16:53:20 2009 +0100 Merge branches 'sched/debug' and 'linus' into sched/core commit 14bafe3278e5da952a6586a5a9a9d286566049ed Author: Takashi Iwai Date: Mon Mar 23 16:35:39 2009 +0100 ALSA: hda - Use cached calls to get widget caps and pin caps Replace with the standard function calls to use caches for reading the widget caps and pin caps. hda_proc.c is still using the direct verbs to get raw values as much as possible. Signed-off-by: Takashi Iwai commit 3e1f60b80cafcb5d7e8d3665b35962fbb8fb9efa Author: Frederic Weisbecker Date: Sun Mar 22 23:10:45 2009 +0100 tracing/ftrace: check if debugfs is registered before creating files Impact: fix a crash with ftrace={nop,boot} parameter If the nop or initcall tracers are launched as boot tracers, they will attempt to create their option directory and files. But these tracers are registered very early and then assigned as "boot tracers" very early if asked to. Since they do this before debugfs has been registered (core initcall), a crash is triggered. Another early tracers could also come later. So we fix it by checking if debugfs is initialized before creating the root tracing directory. Signed-off-by: Frederic Weisbecker Cc: Greg Kroah-Hartman Cc: Steven Rostedt LKML-Reference: <1237759847-21025-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c0f92ba99bdeaf35f9c580291b4e1a657c67fbd4 Author: Frederic Weisbecker Date: Sun Mar 22 23:10:44 2009 +0100 debugfs: function to know if debugfs is initialized Impact: add new debugfs API With ftrace, some tracers are registered in early initcalls and attempt to create files on the debugfs filesystem. Depending on when they are activated, they can try to create their file at any time. Some checks can be done on the tracing area but providing a helper to know if debugfs is registered make it really more easy. Signed-off-by: Frederic Weisbecker Acked-by: Greg Kroah-Hartman Cc: Steven Rostedt LKML-Reference: <1237759847-21025-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 9ce969082e490d0a5a81862b364337c93dc3482a Author: Kyungmin Park Date: Mon Nov 17 17:54:28 2008 +0900 [MTD] [OneNAND] Add write-while-program support OneNAND write-while-program method of writing improves performance, compared with ordinary writes, by transferring data to OneNAND's RAM buffers atthe same time as programming the NAND core. When writing several NAND pages at a time, an improvement of 12% to 25% is seen. Signed-off-by: Kyungmin Park Signed-off-by: Adrian Hunter Signed-off-by: David Woodhouse commit a23b688f4d5c2490a50677b30011a677d8edf3d0 Author: Takashi Iwai Date: Mon Mar 23 15:21:36 2009 +0100 ALSA: hda - Don't create empty/single-item input source In patch_realtek.c, don't create empty or single-item "Input Source" control elements that are simply superfluous. Signed-off-by: Takashi Iwai commit e82c025b501a1ca62dec40989817dbb17c0b9167 Author: Takashi Iwai Date: Mon Mar 23 15:17:38 2009 +0100 ALSA: hda - Fix the wrong pin-cap check in patch_realtek.c The check for the amp-output must be done for widget-caps rather than pin-caps as implemented in the recent change... Simply a thinko. Also, add the similar checks to all places that put output-amp mutes in the initialization. Signed-off-by: Takashi Iwai commit a29f280b739985a9e829d67af4d08e6584153495 Author: Adrian Hunter Date: Mon Mar 23 14:57:38 2009 +0200 [MTD] [OneNAND] omap2: panic_write may be in an interrupt context panic_write may read in an interrupt context. Signed-off-by: Adrian Hunter Signed-off-by: David Woodhouse commit 534f81a5068799799e264fd162e9488a129f98d4 Author: Mark H. Weaver Date: Mon Mar 23 13:46:12 2009 +0100 netfilter: nf_conntrack_tcp: fix unaligned memory access in tcp_sack This patch fixes an unaligned memory access in tcp_sack while reading sequence numbers from TCP selective acknowledgement options. Prior to applying this patch, upstream linux-2.6.27.20 was occasionally generating messages like this on my sparc64 system: [54678.532071] Kernel unaligned access at TPC[6b17d4] tcp_packet+0xcd4/0xd00 Acked-by: David S. Miller Signed-off-by: Patrick McHardy commit dd5b6ce6fd465eab90357711c8e8124dc3a31ff0 Author: Pablo Neira Ayuso Date: Mon Mar 23 13:21:06 2009 +0100 nefilter: nfnetlink: add nfnetlink_set_err and use it in ctnetlink This patch adds nfnetlink_set_err() to propagate the error to netlink broadcast listener in case of memory allocation errors in the message building. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 176252746ebbc8db97e304345af1f2563c7dc139 Author: Eric Leblond Date: Mon Mar 23 13:16:53 2009 +0100 netfilter: sysctl support of logger choice This patchs adds support of modification of the used logger via sysctl. It can be used to change the logger to module that can not use the bind operation (ipt_LOG and ipt_ULOG). For this purpose, it creates a directory /proc/sys/net/netfilter/nf_log which contains a file per-protocol. The content of the file is the name current logger (NONE if not set) and a logger can be setup by simply echoing its name to the file. By echoing "NONE" to a /proc/sys/net/netfilter/nf_log/PROTO file, the logger corresponding to this PROTO is set to NULL. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 1327a32b878b5ed2113c63557b6f4f949f821857 Author: Takashi Iwai Date: Mon Mar 23 13:07:47 2009 +0100 ALSA: hda - Cache pin-cap values Added snd_hda_query_pin_caps() to read and cache pin-cap values to avoid too frequently issuing the same verbs. Signed-off-by: Takashi Iwai commit 52ca15b7c0c711eb37f5e4b769e8488e5c516d43 Author: Takashi Iwai Date: Mon Mar 23 12:51:55 2009 +0100 ALSA: hda - Avoid output amp manipulation to digital mic pins Don't set amp-out values to pins without PINCAP_OUT capability, which are usually assigned for digital mics on ALC663/ALC272. Signed-off-by: Takashi Iwai commit 234b4346a064f8a2a488da10b3c1e640fb778a17 Author: Pascal de Bruijn Date: Mon Mar 23 11:15:59 2009 +0100 ALSA: hda - Add function id to proc output This patch does two things: Output Intel HDA Function Id in /proc/asound/cardX/codec#X Align Vendor/Subsystem/Revision Ids to 8 characters, front-padded with zeros Before: Vendor Id: 0x11d41884 Subsystem Id: 0x103c281a Revision Id: 0x100100 After: Function Id: 0x1 Vendor Id: 0x11d41884 Subsystem Id: 0x103c281a Revision Id: 0x0100100 As report on the Kernel Bugzilla #12888 Signed-off-by: Pascal de Bruijn Signed-off-by: Takashi Iwai commit ba639039d68cd978f4fa900a6533fe930609ed35 Author: Jaswinder Singh Rajput Date: Mon Mar 23 02:13:01 2009 +0530 x86: e820 fix various signedness issues in setup.c and e820.c Impact: cleanup This fixed various signedness issues in setup.c and e820.c: arch/x86/kernel/setup.c:455:53: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/setup.c:455:53: expected int *pnr_map arch/x86/kernel/setup.c:455:53: got unsigned int extern [toplevel] * arch/x86/kernel/setup.c:639:53: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/setup.c:639:53: expected int *pnr_map arch/x86/kernel/setup.c:639:53: got unsigned int extern [toplevel] * arch/x86/kernel/setup.c:820:54: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/setup.c:820:54: expected int *pnr_map arch/x86/kernel/setup.c:820:54: got unsigned int extern [toplevel] * arch/x86/kernel/e820.c:670:53: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/e820.c:670:53: expected int *pnr_map arch/x86/kernel/e820.c:670:53: got unsigned int [toplevel] * Signed-off-by: Jaswinder Singh Rajput commit b3e3b302cf6dc8d60b67f0e84d1fa5648889c038 Merge: a6bc326... 59fcbdd... Author: Ingo Molnar Date: Mon Mar 23 10:07:49 2009 +0100 Merge branches 'irq/sparseirq' and 'linus' into irq/core commit 6fb8f424393025674fde7869b59f485d1e352182 Author: Nick Piggin Date: Mon Mar 16 21:00:28 2009 +1100 slob: fix lockup in slob_free() Don't hold SLOB lock when freeing the page. Reduces lock hold width. See the following thread for discussion of the bug: http://marc.info/?l=linux-kernel&m=123709983214143&w=2 Reported-by: Ingo Molnar Acked-by: Matt Mackall Signed-off-by: Nick Piggin Signed-off-by: Pekka Enberg commit c4cff064be678f1e8344d907499f2a81282edc19 Author: Tom Zanussi Date: Mon Mar 23 03:26:48 2009 -0500 tracing/filters: clean up filter_add_subsystem_pred() Impact: cleanup, memory leak fix This patch cleans up filter_add_subsystem_pred(): - searches for the field before creating a copy of the pred - fixes memory leak in the case a predicate isn't applied - if -ENOMEM, makes sure there's no longer a reference to the pred so the caller can free the half-finished filter - changes the confusing i == MAX_FILTER_PRED - 1 comparison previously remarked upon This affects only per-subsystem event filtering. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker LKML-Reference: <1237796808.7527.40.camel@charm-linux> Signed-off-by: Ingo Molnar commit ee6cdabc820a29bd607f38d9cb335c3ceddc673b Author: Tom Zanussi Date: Mon Mar 23 03:26:42 2009 -0500 tracing/filters: fix bug in copy_pred() Impact: fix potential crash on subsystem filter expression freeing When making a copy of the predicate, pred->field_name needs to be duplicated in the copy as well, otherwise bad things can happen due to later multiple frees of the same string. This affects only per-subsystem event filtering. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker LKML-Reference: <1237796802.7527.39.camel@charm-linux> Signed-off-by: Ingo Molnar commit 75c8b417526529d0a7072e4d93ec99dbd483a6f4 Author: Tom Zanussi Date: Mon Mar 23 03:26:28 2009 -0500 tracing/filters: use list_for_each_entry_safe Impact: cleanup Use list_for_each_entry_safe instead of list_for_each_entry in find_event_field(). Reported-by: Frederic Weisbecker Signed-off-by: Tom Zanussi Cc: Steven Rostedt LKML-Reference: <1237796788.7527.35.camel@charm-linux> Signed-off-by: Ingo Molnar commit b118415bfad6d75792a85ac999e25149db8e6919 Author: Frederic Weisbecker Date: Mon Mar 23 00:18:39 2009 +0100 tracing/events: don't discard an event after commit When we want to filter an event, the filter test is done after the event is commited to the ring-buffer to be discarded later if needed. But a reader could be reading this event while we are trying to discard it. Other kind of racy events can even happen because the event is commited and can be read and/or consumed. What we want is to discard the event before committing it. Reported-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <1237763919-21505-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 7e6ea92df3fd7cbe74e7985c6f3e40255c44b201 Author: Frederic Weisbecker Date: Sun Mar 22 23:10:47 2009 +0100 tracing/ftrace: make nop-tracer use polling wait for events on pipe Impact: display events when they arrive Now that the events don't use wake_up() anymore, we need the nop tracer to poll waiting for events on the pipe. Especially because nop is useful to look at orphan traces types (traces types that don't rely on specific tracers) because it doesn't produce traces itself. And unlike other tracers that trigger specific traces periodically, nop triggers no traces by itself that can wake him. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1237759847-21025-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 07edf7121374609709ef1b0889f6e7b8d6a62ec1 Author: Frederic Weisbecker Date: Sun Mar 22 23:10:46 2009 +0100 tracing/events: don't use wake up for events Impact: fix hard-lockup with sched switch events Some ftrace events, such as sched wakeup, can be traced while the runqueue lock is hold. Since they are using trace_current_buffer_unlock_commit(), they call wake_up() which can try to grab the runqueue lock too, resulting in a deadlock. Now for all event, we call a new helper: trace_nowake_buffer_unlock_commit() which do pretty the same than trace_current_buffer_unlock_commit() except than it doesn't call trace_wake_up(). Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1237759847-21025-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 9bd7d099ab3f10dd666da399c064999bae427cd9 Author: Frederic Weisbecker Date: Sun Mar 22 23:10:43 2009 +0100 tracing/events: make the filter files writable We need the filter files to be writable, the current filter file permissions are only set readable. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <1237759847-21025-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 268ed76d67d658684d4b1e114d4da75ad360b4b1 Author: Huang Weiyi Date: Mon Mar 23 01:18:58 2009 -0700 atl1c: remove duplicated #include Remove duplicated #include in drivers/net/atl1c/atl1c.h. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit da4a99e397d4165c0b8d951e75adb095455614ec Author: David S. Miller Date: Mon Mar 23 01:03:04 2009 -0700 spider_net: Fix build. Based upon a report by Stephen Rothwell. Signed-off-by: David S. Miller commit 1a00df4a2cc001dd9f45890e690548c24b2fa2d9 Author: Akinobu Mita Date: Sat Mar 7 00:36:21 2009 +0900 slub: use get_track() Use get_track() in set_track() Signed-off-by: Akinobu Mita Cc: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Pekka Enberg commit 96e0bf4b5193d0d97d139f99e2dd128763d55521 Author: John Dykstra Date: Sun Mar 22 21:49:57 2009 -0700 tcp: Discard segments that ack data not yet sent Discard incoming packets whose ack field iincludes data not yet sent. This is consistent with RFC 793 Section 3.9. Change tcp_ack() to distinguish between too-small and too-large ack field values. Keep segments with too-large ack fields out of the fast path, and change slow path to discard them. Reported-by: Oliver Zheng Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit 763dccdc8e9775b247c3ea86ae8f5f592c12024e Author: Eilon Greenstein Date: Sun Mar 22 21:24:19 2009 -0700 bnx2x: Adding licensing to bnx2x_init_values.h Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5fa82eb8ff06cd3ac4d64c6875922ae1dfa003c5 Author: Eric Miao Date: Fri Mar 20 12:52:24 2009 +0800 MAINTAINERS: update pxa910 maintainers Signed-off-by: Eric Miao commit a6bb4bab1cda4793cfa78c995042ecdf91401329 Author: Eric Miao Date: Thu Feb 19 21:13:21 2009 +0800 MAINTAINERS: update pxa168 maintainers Signed-off-by: Eric Miao Acked-by: Jason Chagas commit 5a09f8916c20e4799b214349df371ff5d164778d Author: Eric Miao Date: Fri Mar 20 14:55:11 2009 +0800 [ARM] pxa: add defconfig for pxa910-based platforms Signed-off-by: Eric Miao commit e78b4eccb75b3ed5e50fdb12bc835e27aef33784 Author: Eric Miao Date: Thu Feb 19 17:35:31 2009 +0800 [ARM] pxa: add defconfig for pxa168-based platforms Instead of having various pieces of defconfig files for different platforms, let's group them into a single one. Signed-off-by: Eric Miao commit 01215e35c28a719f38e2cafe90a2806f0e452de6 Author: Eric Miao Date: Fri Mar 20 13:33:49 2009 +0800 [ARM] pxa: add base support for pxa910-based TTC_DKB Signed-off-by: Bin Yang Signed-off-by: Eric Miao commit a3929f31cb2300f1ab190a0168e55bb55222ee40 Author: Eric Miao Date: Fri Mar 20 13:27:30 2009 +0800 [ARM] pxa: add base support for pxa910-based TavorEVB Signed-off-by: Bin Yang Signed-off-by: Eric Miao commit 14c6b5e7add9ec393ad61bceb6106b47c7f14bd3 Author: Eric Miao Date: Fri Mar 20 12:50:22 2009 +0800 [ARM] pxa: add base support for Marvell PXA910 Signed-off-by: Bin Yang Signed-off-by: Eric Miao commit a6b993c6b5183fe2af98569cbb7dd8add01b8deb Author: Eric Miao Date: Wed Feb 18 16:38:22 2009 +0800 [ARM] pxa/aspenite: add support for debug ethernet Signed-off-by: Zhangfei Gao Signed-off-by: Eric Miao commit 9c291f0f835dc8349afc21d6311cb531140f6977 Author: Eric Miao Date: Tue Feb 10 10:35:25 2009 +0800 [ARM] pxa/aspenite: add support for console uart Signed-off-by: Eric Miao commit 56422554d29e3761b095b3e27646e8ee03fae41a Author: Eric Miao Date: Thu Feb 5 13:42:47 2009 +0800 [ARM] pxa: allow reuse of serial driver for pxa168 Signed-off-by: Eric Miao commit a7a89d9621ba877ae45784cf7d000182075df9c1 Author: Eric Miao Date: Tue Jan 20 17:20:56 2009 +0800 [ARM] pxa: add MFP support for pxa168 Signed-off-by: Eric Miao commit e2bb6650ef94c64723e2dd35ab92410b9477bc64 Author: Eric Miao Date: Tue Jan 20 14:38:24 2009 +0800 [ARM] pxa: add GPIO support for pxa168 Signed-off-by: Eric Miao commit 40305a583a3e080a8d1aa126fa810480ec8cbabd Author: Eric Miao Date: Thu Feb 26 09:34:35 2009 +0800 [ARM] pxa: add iWMMXt support for pxa168 Signed-off-by: Eric Miao commit 49cbe78637eb0503f45fc9b556ec08918a616534 Author: Eric Miao Date: Tue Jan 20 14:15:18 2009 +0800 [ARM] pxa: add base support for Marvell's PXA168 processor line """The Marvell® PXA168 processor is the first in a family of application processors targeted at mass market opportunities in computing and consumer devices. It balances high computing and multimedia performance with low power consumption to support extended battery life, and includes a wealth of integrated peripherals to reduce overall BOM cost .... """ See http://www.marvell.com/featured/pxa168.jsp for more information. 1. Marvell Mohawk core is a hybrid of xscale3 and its own ARM core, there are many enhancements like instructions for flushing the whole D-cache, and so on 2. Clock reuses Russell's common clkdev, and added the basic support for UART1/2. 3. Devices are a bit different from the 'mach-pxa' way, the platform devices are now dynamically allocated only when necessary (i.e. when pxa_register_device() is called). Description for each device are stored in an array of 'struct pxa_device_desc'. Now that: a. this array of device description is marked with __initdata and can be freed up system is fully up b. which means board code has to add all needed devices early in his initializing function c. platform specific data can now be marked as __initdata since they are allocated and copied by platform_device_add_data() 4. only the basic UART1/2/3 are added, more devices will come later. Signed-off-by: Jason Chagas Signed-off-by: Eric Miao commit f8dec04d33b94a4cfa9358fd9666c01480bb164d Author: Eric Miao Date: Thu Jan 15 16:42:56 2009 +0800 [ARM] pxa: move common MFP handling code into plat-pxa Signed-off-by: Eric Miao commit 38f539a608c9a3b40b30f1892bd5f9a38f4e5ffe Author: Eric Miao Date: Tue Jan 20 12:09:06 2009 +0800 [ARM] pxa: move common GPIO handling code into plat-pxa 1. add common GPIO handling code into [arch/arm/plat-pxa] 2. common code in moved into , new processors should implement its own , provide the following required definitions and '#include ' in the end: - GPIO_REGS_VIRT for mapped virtual address of the GPIO registers' physical I/O memory - macros of GPLR(), GPSR(), GPDR() for constant optimization for functions gpio_{set,get}_value() (so that bit-bang code can still have tolerable performance) - NR_BUILTIN_GPIO for the number of onchip GPIO - definitions of __gpio_is_inverted() and __gpio_is_occupied(), they can be either macros or inlined functions Signed-off-by: Eric Miao commit bd5ce4332328c1fe473690a86b2e6a4157be038f Author: Eric Miao Date: Tue Jan 20 12:06:01 2009 +0800 [ARM] pxa: introduce plat-pxa for PXA common code and add DMA support 1. introduce folder of 'arch/arm/plat-pxa' for common code across different PXA processor families 2. initially moved DMA code into plat-pxa 3. common code in moved into , new processors should implement its own , provide the following required definitions and '#include ' in the end: - DMAC_REGS_VIRT for mapped virtual address of the DMA registers' physical I/O memory Signed-off-by: Eric Miao commit e2bb5befd7b0ae2d045f4413a97db52340edec13 Author: Daniel Mack Date: Mon Mar 23 02:04:20 2009 +0100 [ARM] pxa: AC97 pin functions for Colibri PXA310/320 Signed-off-by: Daniel Mack Cc: Matthias Meier Signed-off-by: Eric Miao commit 91fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2 Author: Daniel Mack Date: Mon Mar 23 02:04:19 2009 +0100 [ARM] pxa: Add Colibri LCD functions This adds LCD functions for Colibri PXA300 and Colibri PXA320 and configures a LQ043T3DX02 panel. Original-code-by: Matthias Meier Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit bac07ecd6c9b16656aced6dc4f9f070120153046 Author: Daniel Mack Date: Mon Mar 23 02:04:18 2009 +0100 [ARM] pxa: Colibri PXA320 module basics This adds basic support for Colibri PXA320 modules. The file colibri-320.c only contains settings specific to this module, such as the Ethernet interface. Cc: Matthias Meier Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit acb3655973de30cb74549986e5e118a374967702 Author: Daniel Mack Date: Mon Mar 23 02:04:17 2009 +0100 [ARM] pxa: Refactor Colibri board support code - Move common function for all Colibri PXA3xx boards to the newly added colibri-pxa3xx.c - Drop some unnecessary defines from colibri.h - Make Kconfig reflect the fact that code for colibri 300 module does also work for the 310 model - Give up on the huge pin config table which was messed up with lots of #ifdefs and switch over to locally defined tables for configured functions Cc: Matthias Meier Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 626806d96fcfe355af5e1d299f651c774f68ead0 Author: Daniel Mack Date: Mon Mar 23 02:04:16 2009 +0100 [ARM] pxa: Fix Colibri AX88796 configuration Broaden the AX88796 register mask to allow access to the reset register. Remove unnecessary value definitions and the second resource block. Diagnosed-by: Matthias Meier Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 71d361551265d90c8ab1dcdb223a15568d0026b3 Author: Daniel Mack Date: Fri Mar 13 16:37:13 2009 +0100 [ARM] pxa: add colibri PXA300 defconfig Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit b1701f1e09f8de37d3ab1c5452909632279d1972 Author: Daniel Mack Date: Fri Mar 13 16:37:12 2009 +0100 [ARM] pxa: rename and update Colibri PXA270 defconfig Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 42e07ad7fc111bde5cd6c0e5bd7085b4cecf96b7 Author: Daniel Mack Date: Fri Mar 13 16:37:11 2009 +0100 [ARM] pxa: add USB support for Colibri PXA300 This adds support for USB OHCI for Toradex' Colibri PXA300 modules as connected on the evaluation board. Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit ebc046c2a3544ba4f55512a218a4084522473bcd Author: Daniel Mack Date: Fri Mar 13 16:37:10 2009 +0100 [ARM] pxa: add MMC support for Colibri PXA300 Added MMC support for Toradex' Colibri PXA300 module. Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 5fc9f9a1deefc9999af721fba249cd58ee7e273b Author: Daniel Mack Date: Fri Mar 13 16:37:09 2009 +0100 [ARM] pxa: add basic support for Colibri PXA300 module This patch add basic support for Toradex' Colibri PXA300 module. Ethernet is enabled conditionally, depdending on CONFIG_AX88796. Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 5c0dbb8fc2b36619684cbb7486491ecac950a595 Author: Daniel Mack Date: Fri Mar 13 16:37:08 2009 +0100 [ARM] pxa: rename colibri.c to colibri-pxa270.c Namespace cleanup: rename colibri.c to colibri-pxa270.c and change some names in colibri.h. Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit fa12868e59f5f49bc42b8befd94c531bb07ec120 Merge: cefdb2a... 1efb718... Author: Eric Miao Date: Mon Mar 23 09:55:09 2009 +0800 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git into devel commit 1efb71809fd47bc19b3ce05080e1d5085a8dfab1 Author: Daniel Mack Date: Thu Mar 19 15:45:19 2009 +0100 [ARM] pxa: add pxa320 missing pin function for CS2 on GPIO3 Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit a1e38ca5ce1789de1bbd723e1e09de962e47ce18 Author: Jaswinder Singh Rajput Date: Mon Mar 23 02:11:25 2009 +0530 x86: apic/io_apic.c define msi_ir_chip and ir_ioapic_chip all the time move out msi_ir_chip and ir_ioapic_chip from CONFIG_INTR_REMAP shadow Fix: arch/x86/kernel/apic/io_apic.c:1431: warning: ‘msi_ir_chip’ defined but not used Signed-off-by: Jaswinder Singh Rajput commit 474e56b82c06cdbed468aea957805e0eb19d3510 Author: Jaswinder Singh Rajput Date: Mon Mar 23 02:08:34 2009 +0530 x86: irq.c keep CONFIG_X86_LOCAL_APIC interrupts together Impact: cleanup keep CONFIG_X86_LOCAL_APIC interrupts together to avoid extra ifdef Signed-off-by: Jaswinder Singh Rajput commit ce2d8bfd44c01fc9b22d64617b7e520e99095f33 Author: Jaswinder Singh Rajput Date: Mon Mar 23 02:08:00 2009 +0530 x86: irq.c use same path for show_interrupts Impact: cleanup SMP and !SMP will use same path for show_interrupts Signed-off-by: Jaswinder Singh Rajput commit f2362e6f1b9c5c168e5b4159afb4853ba467965e Author: Jaswinder Singh Rajput Date: Mon Mar 23 02:06:51 2009 +0530 x86: cpu/cpu.h cleanup Impact: cleanup - Fix various style issues Signed-off-by: Jaswinder Singh Rajput commit fe9f57f250ab4d781b99504caeb218ca2db14c1a Author: Ingo Molnar Date: Sun Mar 22 18:41:59 2009 +0100 tracing: add run-time field descriptions for event filtering, kfree fix Impact: fix potential kfree of random data in (rare) failure path Zero-initialize the field structure. Reported-by: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <1237710639.7703.46.camel@charm-linux> Signed-off-by: Ingo Molnar commit cfb180f3e71b2a280a254c8646a9ab1beab63f84 Author: Tom Zanussi Date: Sun Mar 22 03:31:17 2009 -0500 tracing: add per-subsystem filtering This patch adds per-subsystem filtering to the event tracing subsystem. It adds a 'filter' debugfs file to each subsystem directory. This file can be written to to set filters; reading from it will display the current set of filters set for that subsystem. Basically what it does is propagate the filter down to each event contained in the subsystem. If a particular event doesn't have a field with the name specified in the filter, it simply doesn't get set for that event. You can verify whether or not the filter was set for a particular event by looking at the filter file for that event. As with per-event filters, compound expressions are supported, echoing '0' to the subsystem's filter file clears all filters in the subsystem, etc. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker LKML-Reference: <1237710677.7703.49.camel@charm-linux> Signed-off-by: Ingo Molnar commit 7ce7e4249921d5073e764f7ff7ad83cfa9894bd7 Author: Tom Zanussi Date: Sun Mar 22 03:31:04 2009 -0500 tracing: add per-event filtering This patch adds per-event filtering to the event tracing subsystem. It adds a 'filter' debugfs file to each event directory. This file can be written to to set filters; reading from it will display the current set of filters set for that event. Basically, any field listed in the 'format' file for an event can be filtered on (including strings, but not yet other array types) using either matching ('==') or non-matching ('!=') 'predicates'. A 'predicate' can be either a single expression: # echo pid != 0 > filter # cat filter pid != 0 or a compound expression of up to 8 sub-expressions combined using '&&' or '||': # echo comm == Xorg > filter # echo "&& sig != 29" > filter # cat filter comm == Xorg && sig != 29 Only events having field values matching an expression will be available in the trace output; non-matching events are discarded. Note that a compound expression is built up by echoing each sub-expression separately - it's not the most efficient way to do things, but it keeps the parser simple and assumes that compound expressions will be relatively uncommon. In any case, a subsequent patch introducing a way to set filters for entire subsystems should mitigate any need to do this for lots of events. Setting a filter without an '&&' or '||' clears the previous filter completely and sets the filter to the new expression: # cat filter comm == Xorg && sig != 29 # echo comm != Xorg # cat filter comm != Xorg To clear a filter, echo 0 to the filter file: # echo 0 > filter # cat filter none The limit of 8 predicates for a compound expression is arbitrary - for efficiency, it's implemented as an array of pointers to predicates, and 8 seemed more than enough for any filter... Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker LKML-Reference: <1237710665.7703.48.camel@charm-linux> Signed-off-by: Ingo Molnar commit 2d622719f1572ef31e0616444a515eba3094d050 Author: Tom Zanussi Date: Sun Mar 22 03:30:49 2009 -0500 tracing: add ring_buffer_event_discard() to ring buffer This patch overloads RINGBUF_TYPE_PADDING to provide a way to discard events from the ring buffer, for the event-filtering mechanism introduced in a subsequent patch. I did the initial version but thanks to Steven Rostedt for adding the parts that actually made it work. ;-) Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit b8b94265337f83b7db9c5f429b1769d463d7da8c Author: Dmitri Vorobiev Date: Sun Mar 22 19:11:11 2009 +0200 tracing: fix four sparse warnings Impact: cleanup. This patch fixes the following sparse warnings: kernel/trace/trace.c:385:9: warning: symbol 'trace_seq_to_buffer' was not declared. Should it be static? kernel/trace/trace_clock.c:29:13: warning: symbol 'trace_clock_local' was not declared. Should it be static? kernel/trace/trace_clock.c:54:13: warning: symbol 'trace_clock' was not declared. Should it be static? kernel/trace/trace_clock.c:74:13: warning: symbol 'trace_clock_global' was not declared. Should it be static? Signed-off-by: Dmitri Vorobiev LKML-Reference: <1237741871-5827-4-git-send-email-dmitri.vorobiev@movial.com> Signed-off-by: Ingo Molnar commit f80d2d7725b04f8225b11b55e43bb2c77c819926 Author: Dmitri Vorobiev Date: Sun Mar 22 19:11:10 2009 +0200 tracing, Text Edit Lock: Fix one sparse warning in kernel/extable.c Impact: cleanup. The global mutex text_mutex if declared in linux/memory.h, so this file needs to be included into kernel/extable.c, where the same mutex is defined. This fixes the following sparse warning: kernel/extable.c:32:1: warning: symbol 'text_mutex' was not declared. Should it be static? Signed-off-by: Dmitri Vorobiev LKML-Reference: <1237741871-5827-3-git-send-email-dmitri.vorobiev@movial.com> Signed-off-by: Ingo Molnar commit 1cc185211a9cb913f6adbe3354e5c256f456ebd2 Author: Dmitri Vorobiev Date: Sun Mar 22 19:11:09 2009 +0200 x86: Fix a couple of sparse warnings in arch/x86/kernel/apic/io_apic.c Impact: cleanup This patch fixes the following sparse warnings: arch/x86/kernel/apic/io_apic.c:3602:17: warning: symbol 'hpet_msi_type' was not declared. Should it be static? arch/x86/kernel/apic/io_apic.c:3467:30: warning: Using plain integer as NULL pointer Signed-off-by: Dmitri Vorobiev LKML-Reference: <1237741871-5827-2-git-send-email-dmitri.vorobiev@movial.com> Signed-off-by: Ingo Molnar commit cf027f645e6aee4f0ca6197a6b6a57f327fdb13f Author: Tom Zanussi Date: Sun Mar 22 03:30:39 2009 -0500 tracing: add run-time field descriptions for event filtering This patch makes the field descriptions defined for event tracing available at run-time, for the event-filtering mechanism introduced in a subsequent patch. The common event fields are prepended with 'common_' in the format display, allowing them to be distinguished from the other fields that might internally have same name and can therefore be unambiguously used in filters. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker LKML-Reference: <1237710639.7703.46.camel@charm-linux> Signed-off-by: Ingo Molnar commit a524446fe82f7f38738403a5a080c4910af86a61 Merge: 0cf53ff... 09c9e84... 505f2b9... Author: Ingo Molnar Date: Sun Mar 22 18:10:02 2009 +0100 Merge branches 'tracing/ftrace', 'tracing/hw-breakpoints', 'tracing/ring-buffer', 'tracing/textedit' and 'linus' into tracing/core commit 0cf53ff62b3e9e491ff5e5f05b193fb6ce643047 Author: Frederic Weisbecker Date: Sun Mar 22 15:13:07 2009 +0100 tracing: keep the tracing buffer after self-test failure Instead of using ftrace_dump_on_oops, it's far more convenient to have the trace leading up to a self-test failure available in /debug/tracing/trace. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1237694675-23509-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit cf586b61f80229491127d3c57c06ed93c9f530d3 Author: Frederic Weisbecker Date: Sun Mar 22 05:04:35 2009 +0100 tracing/function-graph-tracer: prevent hangs during self-tests Impact: detect tracing related hangs Sometimes, with some configs, the function graph tracer can make the timer interrupt too much slow, hanging the kernel in an endless loop of timer interrupts servicing. As suggested by Ingo, this patch brings a watchdog which stops the selftest after a defined number of functions traced, definitely disabling this tracer. For those who want to debug the cause of the function graph trace hang, you can pass the ftrace_dump_on_oops kernel parameter to dump the traces after this hang detection. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1237694675-23509-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit d44c3a2e0e5d2c75d22284462c66d166604b1f18 Author: Stephen Hemminger Date: Fri Mar 20 19:36:44 2009 +0000 netdev: expose net_device_ops compat as config option Now that most network device drivers in (all but one in x86_64 allmodconfig) support net_device_ops. Expose it as a configuration parameter. Still need to address even older 32 bit drivers, and other arch before compatiablity can be scheduled for removal in some future release. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5ae4efbcd2611562a8b93596be034e63495706a5 Author: Stephen Hemminger Date: Fri Mar 20 19:36:43 2009 +0000 hostap: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4cfa8e45f4bb26ff38155f94a810a876b739958d Author: Stephen Hemminger Date: Fri Mar 20 19:36:42 2009 +0000 hostap: convert to internal net_device_stats Use pre-existing net_device_stats in network_device struct. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 44e9ad0b5a9bd4de7ff3ac28b27d6577eb58fd91 Author: Stephen Hemminger Date: Fri Mar 20 19:36:41 2009 +0000 ipw2200: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3e47fcea201ba7b08f9f13cead6e3045a80fb279 Author: Stephen Hemminger Date: Fri Mar 20 19:36:40 2009 +0000 ipw2100: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d5b3b9ae065d093fe0e1588a07f3ebd71c815f0b Author: Stephen Hemminger Date: Fri Mar 20 19:36:39 2009 +0000 ipw2x00: convert infrastructure for use by net_device_ops Expose routines so drivers can hook. Only set ptrs in netdev if using old compat code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ce55cbaf3a4498719bdb5a022a45d256b84749f5 Author: Stephen Hemminger Date: Fri Mar 20 19:36:38 2009 +0000 ipw2x00: convert to internal net_device_stats Replace struct in ieee with current net_device_stats, so no longer need get_stats hook Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f02abf1010dfb9fa7f56788fb28bc63b0ea34968 Author: Stephen Hemminger Date: Fri Mar 20 19:36:37 2009 +0000 libertas: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bbfc6b788f63f079fb8eeeb8d397bb1c0a8065a1 Author: Stephen Hemminger Date: Fri Mar 20 19:36:36 2009 +0000 libertas: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6456fffb09a281af2644e73fda26d1eeec325830 Author: Stephen Hemminger Date: Fri Mar 20 19:36:35 2009 +0000 prism54: convert to internal net_device_stats Also, make ethtool_ops const as it should be, and get rid of useless cast. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6685254f80cdca085cb1d53c45a6d0d5d01f911e Author: Stephen Hemminger Date: Fri Mar 20 19:36:34 2009 +0000 prism54: convert to net_device_ops Also, make ethtool_ops const as it should be, and get rid of useless cast. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 98d2faaeb72a2db4ea232263ca4ce9dbfe8e1f5a Author: Stephen Hemminger Date: Fri Mar 20 19:36:33 2009 +0000 mac80211_hwsim: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2bd9f54d46e28fdaa15240af6a97c953720ea5c1 Author: Stephen Hemminger Date: Fri Mar 20 19:36:32 2009 +0000 zd1201: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 22bc1ce4f171f53c27052e1d74d312345487db16 Author: Stephen Hemminger Date: Fri Mar 20 19:36:31 2009 +0000 zd1201: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 85a151b760348e4693e54bc8cece89ab9d3dc81d Author: Stephen Hemminger Date: Fri Mar 20 19:36:30 2009 +0000 wl3501: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4255d411452f1fe4dbcb2de4de35a7a028c5415a Author: Stephen Hemminger Date: Fri Mar 20 19:36:29 2009 +0000 wl3501: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 32f5a330090fdf7d4d663ff5bd979e186fe6aab6 Author: Stephen Hemminger Date: Fri Mar 20 19:36:28 2009 +0000 raylan: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 824f1dfdbef72578272e9303dd9515399da57f28 Author: Stephen Hemminger Date: Fri Mar 20 19:36:27 2009 +0000 atmel: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7ae41cc3c04b0e79b7c9c3e5cbb5222f181e3ca1 Author: Stephen Hemminger Date: Fri Mar 20 19:36:26 2009 +0000 airo: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9db0ba0a8b8bb0fd6606b4ac17073b2984b2d797 Author: Stephen Hemminger Date: Fri Mar 20 19:36:25 2009 +0000 wavelan: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 385e63fb1e469739e90b32f4c07fed48baf2721a Author: Stephen Hemminger Date: Fri Mar 20 19:36:24 2009 +0000 wavelan: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1cc5920f0f6077e36e259e149548ef9a94335382 Author: Stephen Hemminger Date: Fri Mar 20 19:36:23 2009 +0000 strip: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1964e0dedf98e2fdf3bfd3ac8cf02d9e9aa803fb Author: Stephen Hemminger Date: Fri Mar 20 19:36:22 2009 +0000 netwave: convert to net_device_ops Also get rid of unneeded cast Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f56ef16eb0c30bf76acf7c2ac9ee68781a7aef6a Author: Stephen Hemminger Date: Fri Mar 20 19:36:21 2009 +0000 netwave: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7dd0b6e0feca6cd4269e120d63c46eeb63164ca2 Author: Stephen Hemminger Date: Fri Mar 20 19:36:20 2009 +0000 sbni: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fe6c6fbbcdd6675244fbbde62a9790ca57bd2785 Author: Stephen Hemminger Date: Fri Mar 20 19:36:19 2009 +0000 sbni: use internal net_device_stats Convert to use existing net_device_stats. This driver, has bad style, of using commas, when brackets should be used... Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 39549b1e83e640907b0ed58f76d3331c2ae40e3d Author: Stephen Hemminger Date: Fri Mar 20 19:36:18 2009 +0000 labether: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ea2ebaf822ad7cf9d2a1aa5f579be34c8c840202 Author: Stephen Hemminger Date: Fri Mar 20 19:36:17 2009 +0000 lapbether: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d9b06c47a9eddef7d8829f6763bdf601c435c6f2 Author: Stephen Hemminger Date: Fri Mar 20 19:36:16 2009 +0000 cycx: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 49e8abaf62dc6403f11313e8fefbc0f5e7a9f50f Author: Stephen Hemminger Date: Fri Mar 20 19:36:15 2009 +0000 dlci: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 07d117cf0a2c71160d3fcc0068d1f1fe1237c47a Author: Stephen Hemminger Date: Fri Mar 20 19:36:14 2009 +0000 dlci: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 48f26ad5c097d751caef070ba057448d8a9c9a8d Author: Stephen Hemminger Date: Fri Mar 20 19:36:13 2009 +0000 x25_asy: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6a8eba3bf4643fa4f0f62af29c47728d5296ed15 Author: Stephen Hemminger Date: Fri Mar 20 19:36:12 2009 +0000 x25_asy: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3dd205165e076eacf09575f0c90031e7c52bc5e1 Author: Stephen Hemminger Date: Fri Mar 20 19:36:11 2009 +0000 axnet: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9b31b6971f448796768860e3c9ee2d22f4511731 Author: Stephen Hemminger Date: Fri Mar 20 19:36:10 2009 +0000 smc91c92: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6fb7298cdbe200b3b19cd59046785aecb0844198 Author: Stephen Hemminger Date: Fri Mar 20 19:36:09 2009 +0000 smc91c92: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0cd6e828a3cfb9c5bb71827ae6ee1564bf465f48 Author: Stephen Hemminger Date: Fri Mar 20 19:36:08 2009 +0000 xirc2ps: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6394d7c9a2c4c5d729c1cdb69f96f9fff16ec232 Author: Stephen Hemminger Date: Fri Mar 20 19:36:07 2009 +0000 xir2cps: convert to internal net_device stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23169a402d6a2d55992e6b7f6157ae04b636545a Author: Stephen Hemminger Date: Fri Mar 20 19:36:06 2009 +0000 pcnet: convert driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 28b1801d5a367adaf3d02605c762a59781d99664 Author: Stephen Hemminger Date: Fri Mar 20 19:36:05 2009 +0000 pcmcia: convert nmclan driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 496f98cd5687770f4cb463c300510016dfbc81f6 Author: Stephen Hemminger Date: Fri Mar 20 19:36:04 2009 +0000 pcmcia: convert fmvj18x driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d63cd426ba55a9e02ab745612357ee00158824a5 Author: Stephen Hemminger Date: Fri Mar 20 19:36:03 2009 +0000 pcmcia: convert fmvj18x driver to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fb72e2ff356e55b6a60c5883d4506175652c3e9d Author: Stephen Hemminger Date: Fri Mar 20 19:36:02 2009 +0000 pcmcia: convert 3c574 to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 97161d4b2a28857f217b2035b2141cbb36f22f8b Author: Stephen Hemminger Date: Fri Mar 20 19:36:01 2009 +0000 pcmcia: convert 3c589 to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0f2166dff6440bb6fb39e4fbe7bfca7cde95d650 Author: Stephen Hemminger Date: Fri Mar 20 19:36:00 2009 +0000 usbnet: convert rndis driver to net_device_ops Signed-off-by: Stephen Hemminger Acked-by: David Brownell Signed-off-by: David S. Miller commit b5556498b60a237cca173dfd60109f3504ce25ca Author: Stephen Hemminger Date: Fri Mar 20 19:35:59 2009 +0000 usbnet: convert rndis driver to use dev_get_stats dev_get_stats() handles all issues with net_device_ops Signed-off-by: Stephen Hemminger Acked-by: David Brownell Signed-off-by: David S. Miller commit 63e77b391f7230ab87effbcaf7238e9b1e6d7404 Author: Stephen Hemminger Date: Fri Mar 20 19:35:58 2009 +0000 usbnet: convert smsc95xx driver to net_device_ops Signed-off-by: Stephen Hemminger Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit e12c4f83210b457e2969fbe1198357e66f044a93 Author: Stephen Hemminger Date: Fri Mar 20 19:35:57 2009 +0000 usbnet: convert msc7830 driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fe85ff8299538c8488645e7d72539079dad5bae6 Author: Stephen Hemminger Date: Fri Mar 20 19:35:56 2009 +0000 usbnet: convert dms9601 driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: Peter Korsgaard Signed-off-by: David S. Miller commit 1703338c79f39178535fe54b5aeaebf9c42300f6 Author: Stephen Hemminger Date: Fri Mar 20 19:35:55 2009 +0000 usbnet: convert asix driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 777baa4711c6b8373f4e03a3a558d44a6b046d7a Author: Stephen Hemminger Date: Fri Mar 20 19:35:54 2009 +0000 usbnet: support net_device_ops Use net_device_ops for usbnet device, and export for use by other derived drivers. Signed-off-by: Stephen Hemminger Acked-by: David Brownell Signed-off-by: David S. Miller commit 805aaa29fa3c5afb26cb42f440f40d3f7f5c4bdc Author: Stephen Hemminger Date: Fri Mar 20 19:35:53 2009 +0000 usbnet: convert to internal net_device_stats Default handler for net_device_stats already does same thing. Signed-off-by: Stephen Hemminger Acked-by: David Brownell Signed-off-by: David S. Miller commit c266cb4ef2ef1f1e3f46d81022939feebe8fa54d Author: Stephen Hemminger Date: Fri Mar 20 19:35:52 2009 +0000 usbnet: convert hso driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d79f7ef48b0897458a4df30085338aeb7fb85ffc Author: Stephen Hemminger Date: Fri Mar 20 19:35:51 2009 +0000 usbnet: convert rtl driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b7e41e23055f20be334c404b15373c8deb2262b9 Author: Stephen Hemminger Date: Fri Mar 20 19:35:50 2009 +0000 usbnet: convert to internal net_device stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 19b8f8f1a1cd9e31a1092a6841065471df8db00f Author: Stephen Hemminger Date: Fri Mar 20 19:35:49 2009 +0000 usbnet: convert catc device to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit edc4ae08644045dc803dc519f96ff245cb80adad Author: Stephen Hemminger Date: Fri Mar 20 19:35:48 2009 +0000 usbnet: convert catc to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 94ffab6d199ab36e5dfd2f2f0e4bb135728526c4 Author: Stephen Hemminger Date: Fri Mar 20 19:35:47 2009 +0000 irda: convert ks959 driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0c818a6273218f5a827fe5f41f01caeb679b469e Author: Stephen Hemminger Date: Fri Mar 20 19:35:46 2009 +0000 irda: convert ksdazzle device to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9b634007d5694178c4e142fbc5f9dbcd767eafbd Author: Stephen Hemminger Date: Fri Mar 20 19:35:45 2009 +0000 irda: convert kingsun device to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2b023f46cbc6187f6ee88e778ed798745b5b2bfe Author: Stephen Hemminger Date: Fri Mar 20 19:35:44 2009 +0000 irda: convert sir device to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0bd11f27ed3b3c04b1a753b6c8bdc79ffc1b8cef Author: Stephen Hemminger Date: Fri Mar 20 19:35:43 2009 +0000 irda: convert via-ircc to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 02087be61af0e48eae42566d3c5783f2f44337c8 Author: Stephen Hemminger Date: Fri Mar 20 19:35:42 2009 +0000 irda: convert smsc driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 30a5d7f7e3c77e3b00b8c981b7af4e5adc331353 Author: Stephen Hemminger Date: Fri Mar 20 19:35:41 2009 +0000 irda: convert vlsi driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2d44a22254c1c4ad35a58e6d9d15a547d8841efc Author: Stephen Hemminger Date: Fri Mar 20 19:35:40 2009 +0000 irda: convert ali driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c279b8c996e99a3fca7806986415263f840b2fa1 Author: Stephen Hemminger Date: Fri Mar 20 19:35:39 2009 +0000 irda: convert nsc_ircc driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4113a1a672e5b3f03fc99e7240d4c47e689af2c6 Author: Stephen Hemminger Date: Fri Mar 20 19:35:38 2009 +0000 irda: convert w83977af_ir to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 66ee279ff2747bd23f54886369133b1086b87252 Author: Stephen Hemminger Date: Fri Mar 20 19:35:37 2009 +0000 stir4200: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ddc2a92d34ba20b47e1856375c68d25f51e86f53 Author: Stephen Hemminger Date: Fri Mar 20 19:35:36 2009 +0000 irda: convert mcs driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d36733afd9b65546e1fe0def5d50d8c4519ee452 Author: Stephen Hemminger Date: Fri Mar 20 19:35:35 2009 +0000 irda: convert irda_usb to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9cc8ba783d56b36259b2d610e97bcda8a6fe3b02 Author: Stephen Hemminger Date: Fri Mar 20 19:35:34 2009 +0000 irlan: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 92bcd4fe9a63e8785a4f6ba4262ee601c271a70b Author: Stephen Hemminger Date: Fri Mar 20 19:35:33 2009 +0000 irda: net_device_ops ioctl fix Need to reference net_device_ops not old pointer. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fe8114e8e1d15ba07ddcaebc4741957a1546f307 Author: Stephen Hemminger Date: Fri Mar 20 19:35:32 2009 +0000 infiniband: convert ipoib to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d0929553bebcac828b612e7d6d239559e08feaf4 Author: Stephen Hemminger Date: Fri Mar 20 19:35:31 2009 +0000 infiniband: convert nes driver to net_device_ops Also, removed unnecessary memset() since alloc_netdev returns zeroed memory. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 687c75dcf342f71329bd193af553e96a29581238 Author: Stephen Hemminger Date: Fri Mar 20 19:35:30 2009 +0000 infiniband: convert c2 to net_device_ops Convert this driver to new net_device_ops infrastructure. Also use default net_device get-stats infrastructure Signed-off-by: Stephen Hemminger Reviewed-by: Steve Wise Signed-off-by: David S. Miller commit dde09758557120cb71fb760cfeaed1b8e27209ef Author: Stephen Hemminger Date: Fri Mar 20 19:35:29 2009 +0000 atm: convert clip driver to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 788dee0a954745a182f9341539e5e0fe874b48fc Author: Stephen Hemminger Date: Fri Mar 20 19:35:28 2009 +0000 atm: convert mpc device to using netdev_ops This converts the mpc device to using new netdevice_ops. Compile tested only, needs more than usual review since device was swaping pointers around etc. Signed-off-by: Stephen Hemminger Acked-by: Chas Williams Signed-off-by: David S. Miller commit 6fb70fd1b57707a5c7b9fb167b7790b2cba13f04 Author: Ben Hutchings Date: Fri Mar 20 13:30:37 2009 +0000 sfc: Implement adaptive IRQ moderation Calculate a score for each 1000 IRQs: - TX completions are worth 1 point - RX completions are worth 4 if merged using LRO or 2 otherwise Reduce moderation if the score is less than 10000, down to a minimum of 5 us. Increase moderation if the score is more than 20000, up to the specified maximum. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 85451a951b9511605475fadcc0a8d3aeccefded8 Author: Ben Hutchings Date: Fri Mar 20 13:27:13 2009 +0000 sfc: Optimise falcon_writel_page_locked() for page > 0 The bug this function works around only applies to the first set of page-mapped registers; other pages can be written without locking. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 28c4605826ab24d04102231fc1f3e8577bec376d Author: Ben Hutchings Date: Fri Mar 20 13:26:55 2009 +0000 sfc: Remove unused private PCI register definitions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a9de9a74c69f75e9456cd6b45ecab44ff4c81d04 Author: Ben Hutchings Date: Fri Mar 20 13:26:41 2009 +0000 sfc: Work around unreliable legacy interrupt status In rare cases, reading the legacy interrupt status register can acknowledge an event queue whose attention flag has not yet been set in the register. Until we service this event queue it will not generate any more interrupts. Therefore, as a secondary check, poll the next slot in each active event queue whose flag is not set. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit bb145a9e28c32a37f35308bb32180b59e358a3a1 Author: Ben Hutchings Date: Fri Mar 20 13:25:39 2009 +0000 sfc: Pad packets to 33 bytes to prevent TX packet parser lockup The packet parser used in the TX data path for locating checksum fields can lose synchronisation with the TX queue manager when handling packets that look like IPv4 but are too short (17-32 bytes). Work around this by padding to 33 bytes. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e84665c9cb4db963393fafad6fefe5efdd7e4a09 Author: Lennert Buytenhek Date: Fri Mar 20 09:52:09 2009 +0000 dsa: add switch chip cascading support The initial version of the DSA driver only supported a single switch chip per network interface, while DSA-capable switch chips can be interconnected to form a tree of switch chips. This patch adds support for multiple switch chips on a network interface. An example topology for a 16-port device with an embedded CPU is as follows: +-----+ +--------+ +--------+ | |eth0 10| switch |9 10| switch | | CPU +----------+ +-------+ | | | | chip 0 | | chip 1 | +-----+ +---++---+ +---++---+ || || || || ||1000baseT ||1000baseT ||ports 1-8 ||ports 9-16 This requires a couple of interdependent changes in the DSA layer: - The dsa platform driver data needs to be extended: there is still only one netdevice per DSA driver instance (eth0 in the example above), but each of the switch chips in the tree needs its own mii_bus device pointer, MII management bus address, and port name array. (include/net/dsa.h) The existing in-tree dsa users need some small changes to deal with this. (arch/arm) - The DSA and Ethertype DSA tagging modules need to be extended to use the DSA device ID field on receive and demultiplex the packet accordingly, and fill in the DSA device ID field on transmit according to which switch chip the packet is heading to. (net/dsa/tag_{dsa,edsa}.c) - The concept of "CPU port", which is the switch chip port that the CPU is connected to (port 10 on switch chip 0 in the example), needs to be extended with the concept of "upstream port", which is the port on the switch chip that will bring us one hop closer to the CPU (port 10 for both switch chips in the example above). - The dsa platform data needs to specify which ports on which switch chips are links to other switch chips, so that we can enable DSA tagging mode on them. (For inter-switch links, we always use non-EtherType DSA tagging, since it has lower overhead. The CPU link uses dsa or edsa tagging depending on what the 'root' switch chip supports.) This is done by specifying "dsa" for the given port in the port array. - The dsa platform data needs to be extended with information on via which port to reach any given switch chip from any given switch chip. This info is specified via the per-switch chip data struct ->rtable[] array, which gives the nexthop ports for each of the other switches in the tree. For the example topology above, the dsa platform data would look something like this: static struct dsa_chip_data sw[2] = { { .mii_bus = &foo, .sw_addr = 1, .port_names[0] = "p1", .port_names[1] = "p2", .port_names[2] = "p3", .port_names[3] = "p4", .port_names[4] = "p5", .port_names[5] = "p6", .port_names[6] = "p7", .port_names[7] = "p8", .port_names[9] = "dsa", .port_names[10] = "cpu", .rtable = (s8 []){ -1, 9, }, }, { .mii_bus = &foo, .sw_addr = 2, .port_names[0] = "p9", .port_names[1] = "p10", .port_names[2] = "p11", .port_names[3] = "p12", .port_names[4] = "p13", .port_names[5] = "p14", .port_names[6] = "p15", .port_names[7] = "p16", .port_names[10] = "dsa", .rtable = (s8 []){ 10, -1, }, }, }, static struct dsa_platform_data pd = { .netdev = &foo, .nr_switches = 2, .sw = sw, }; Signed-off-by: Lennert Buytenhek Tested-by: Gary Thomas Signed-off-by: David S. Miller commit 076d3e10a54caa2c148de5732c126c7a31381d48 Author: Lennert Buytenhek Date: Fri Mar 20 09:50:39 2009 +0000 dsa: add support for the Marvell 88E6095/6095F switch chips Add support for the Marvell 88E6095/6095F switch chips. These chips are similar to the 88e6131, so we can add the support to mv88e6131.c easily. Thanks to Gary Thomas and Jesper Dangaard Brouer for testing various patches. Signed-off-by: Lennert Buytenhek Tested-by: Gary Thomas Signed-off-by: David S. Miller commit c084080151e1de92159f8437fde34b6e5bebe35e Author: Lennert Buytenhek Date: Fri Mar 20 09:49:49 2009 +0000 dsa: set ->iflink on slave interfaces to the ifindex of the parent ..so that we can parse the DSA topology from 'ip link' output: 1: lo: mtu 16436 qdisc noqueue 2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 3: eth1: mtu 1500 qdisc pfifo_fast qlen 1000 4: lan1@eth0: mtu 1500 qdisc noqueue 5: lan2@eth0: mtu 1500 qdisc noqueue 6: lan3@eth0: mtu 1500 qdisc noqueue 7: lan4@eth0: mtu 1500 qdisc noqueue Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit aec464bbee32e1d67cba0072c50774c5298ef762 Author: Stephen Hemminger Date: Fri Mar 20 07:14:14 2009 +0000 eql: fix non-constant printk warning Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 32f3dde55ba1b28863c0f0611d2c9dcf2d728ec8 Author: Stephen Hemminger Date: Fri Mar 20 06:44:02 2009 +0000 atm: fix non-const printk argument Change printk() argument to fix compiler warning. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fa665ccf01440644a3956ed039e51e1088cd0f15 Author: Stephen Hemminger Date: Fri Mar 20 05:45:39 2009 +0000 ipx: use constant for strings and desciptor Fix compiler warning about non-const format string. Signed-off-by: Stephen Hemminger Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7ca98fa234afa096ec2a5e7195ad2d32555cca86 Author: Stephen Hemminger Date: Fri Mar 20 05:43:14 2009 +0000 snap: use const for descriptor Protocols should be able to use constant value for the descriptor. Minor whitespace cleanup as well Signed-off-by: Stephen Hemminger Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 65689fef7e484631e996541a6772706627b0991a Author: Alexander Duyck Date: Fri Mar 20 00:17:43 2009 +0000 igb: cleanup tx dma so map & unmap use matching calls The igb driver was using map_single to map the skbs and then unmap_page to unmap them. This update changes that so instead uses skb_dma_map and skb_dma_unmap. In addition the next_to_watch member of the buffer_info struct was being set uneccesarily. I removed the spots where it was set without being needed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c5cd11e380002d24fd4fd4c0fc38f59ab394e885 Author: Alexander Duyck Date: Fri Mar 20 00:17:25 2009 +0000 igb: rework igb_set_multi so that vfs are properly updated Currently if there are no multicast addresses programmed into the PF then the VFs cannot have their multicast filters reset. This change makes it so the code path that updates vf multicast is always called along with the pf updates. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0e340485725ea35ca4e354cce5df09e86e31e20d Author: Alexander Duyck Date: Fri Mar 20 00:17:08 2009 +0000 igb: update driver to use setup_timer function igb was previously setting up all of the timer members itself. It is easier to just call setup_timer and reduce the calls to one line. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c493ea45a4251869fe7b820e0486b73b57df7c12 Author: Alexander Duyck Date: Fri Mar 20 00:16:50 2009 +0000 igb: remove IGB_DESC_UNUSED since it is better handled by a function call This patch removes IGB_DESC_UNUSED and replaces it with a function call instead in order to cleanup some of the ugliness introduced by the macro. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fa4a7ef36ec834fee1719636b30d2f28f4cb0166 Author: Arthur Jones Date: Sat Mar 21 16:55:07 2009 -0700 igb: allow tx of pre-formatted vlan tagged packets When the 82575 is fed 802.1q packets, it chokes with an error of the form: igb 0000:08:00.1 partial checksum but proto=81! As the logic there was not smart enough to look into the vlan header to pick out the encapsulated protocol. There are times when we'd like to send these packets out without having to configure a vlan on the interface. Here we check for the vlan tag and allow the packet to go out with the correct hardware checksum. Thanks to Kand Ly for discovering the issue and the coming up with a solution. This patch is based upon his work. Signed-off-by: Arthur Jones Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6e06cb626229567629e1dc6eed9399bec549f3cf Author: Yang Hongyang Date: Sat Mar 21 16:52:17 2009 -0700 spider_net: Convert to net_device_ops. Signed-off-by: Yang Hongyang Signed-off-by: David S. Miller commit 62f0c338d126fee75dc04bd23be30281a0e1e62f Author: Mikhail Zolotaryov Date: Thu Mar 19 22:28:02 2009 +0000 powerpc 4xx EMAC driver: device name reported on timeout is not correct Hi, IBM EMAC driver performs device reset (drivers/net/ibm_newemac/core.c: emac_probe() -> emac_init_phy() -> emac_reset()) before registering appropriate net_device (emac_probe() -> register_netdev()), so net_device name contains raw format string during EMAC reset ("eth%d"). If the case of reset timeout, emac_report_timeout_error() function is called to report an error. The problem is this function uses net_device name to report device related, which is not correct, as a result in the kernel log buffer we see: eth%d: reset timeout The solution is to print device_node full_name instead. After applying the patch proposed, error string is like the following: /plb/opb/ethernet@ef600e00: reset timeout Signed-off-by: Mikhail Zolotaryov Acked-by: Benjamin Herrenschmidt Signed-off-by: David S. Miller commit ed734a97c6a81b644bd648afd7a337deb0ccd7e5 Author: Eric Dumazet Date: Sat Mar 21 13:42:55 2009 -0700 net: remove useless prefetch() call There is no gain using prefetch() in dev_hard_start_xmit(), since we already had to read ops->ndo_select_queue pointer in dev_pick_tx(), and both pointers are probably located in the same cache line. This prefetch call slows down fast path because of a stall in address computation. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8d2f9e81169b8120cf2b4872930ae491b17c27b8 Author: Vlad Yasevich Date: Sat Mar 21 13:41:09 2009 -0700 sctp: Clean up TEST_FRAME hacks. Remove 2 TEST_FRAME hacks that are no longer needed. These allowed sctp regression tests to compile before, but are no longer needed. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 09a3b1f8b1af7220fd7a3caf18e6841a7f5a6c6e Author: Stephen Hemminger Date: Sat Mar 21 13:40:01 2009 -0700 ixgbe: fix select_queue management Convert ixgbe to use net_device_ops properly. Rather than changing the select_queue function pointer just check the flag. Signed-off-by: Stephen Hemminger Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 9247744e5eaa29aecee5342a0c8694187a6aadcd Author: Stephen Hemminger Date: Sat Mar 21 13:39:26 2009 -0700 skb: expose and constify hash primitives Some minor changes to queue hashing: 1. Use const on accessor functions 2. Export skb_tx_hash for use in drivers (see ixgbe) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1f1900f935e810d01c716fa2aaf8c9d25caa4151 Author: Stephen Hemminger Date: Sat Mar 21 13:37:28 2009 -0700 atm: lec use dev_change_mtu Rather than calling device pointer directly (which is incorrect with net_device_ops), use the standard dev_change_mtu. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a0bffffc148cd8e75a48a89ad2ddb74e4081a20a Author: Ilpo Järvinen Date: Sat Mar 21 13:36:17 2009 -0700 net/*: use linux/kernel.h swap() tcp_sack_swap seems unnecessary so I pushed swap to the caller. Also removed comment that seemed then pointless, and added include when not already there. Compile tested. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit a3ac80a130300573de351083cf4a5b46d233e8bf Author: Bernard Pidoux Date: Sat Mar 21 13:34:20 2009 -0700 netrom: zero length frame filtering in NetRom A zero length frame filter was recently introduced in ROSE protocole. Previous commit makes the same at AX25 protocole level. This patch has the same purpose for NetRom protocole. The reason is that empty frames have no meaning in NetRom protocole. Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit f99bcff7a290768e035f3d4726e103c6ebe858bf Author: Bernard Pidoux Date: Sat Mar 21 13:33:55 2009 -0700 ax25: zero length frame filtering in AX25 In previous commit 244f46ae6e9e18f6fc0be7d1f49febde4762c34b was introduced a zero length frame filter for ROSE protocole. This patch has the same purpose at AX25 frame level for the same reason. Empty frames have no meaning in AX25 protocole. Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit 60784427ab331dc13c070ac4b0cc9a735bdfa9c0 Author: Bernard Pidoux Date: Sat Mar 21 13:33:18 2009 -0700 ax25: SOCK_DEBUG message simplification This patch condenses two debug messages in one. Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit 301968451de7979f454b96a798869f8668ceab1a Author: Anton Vorontsov Date: Sat Mar 21 13:30:05 2009 -0700 fsl_pq_mdio: Revive Gianfar TBI PHY support commit 1577ecef766650a57fceb171acee2b13cbfaf1d3 ("netdev: Merge UCC and gianfar MDIO bus drivers") broke the TSEC TBI PHY support: the driver now refuses to probe TBI MDIO buses as it doesn't know about "fsl,gianfar-tbi" compatible entry, and thus _probe() fails with -ENODEV status. Fix this by adding "fsl,gianfar-tbi" to the list of known Gianfar MDIO buses. Signed-off-by: Anton Vorontsov Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 04ec5cfcfd9a69c16fc8adb9d7f4836eedb84e53 Author: Richard Kennedy Date: Sat Mar 21 13:29:05 2009 -0700 ipv6: reorder struct inet6_ifaddr to remove padding on 64 bit builds reorder struct inet6_ifaddr to remove padding on 64 bit builds remove 8 bytes of padding so inet6_ifaddr becomes 192 bytes & fits into a smaller slab. Signed-off-by: Richard Kennedy Signed-off-by: David S. Miller commit 29ded5f76ce3c41f43b64643b074b7c9c9ebd925 Author: Anton Vorontsov Date: Sat Mar 21 13:27:55 2009 -0700 gianfar: Fix build with CONFIG_PM enabled commit 4826857f1bf07f9c0f1495e9b05d125552c88a85 ("gianfar: pass the proper dev to DMA ops") introduced this build breakage: CC drivers/net/gianfar.o drivers/net/gianfar.c: In function 'gfar_suspend': drivers/net/gianfar.c:552: error: 'struct gfar_private' has no member named 'dev' drivers/net/gianfar.c: In function 'gfar_resume': drivers/net/gianfar.c:601: error: 'struct gfar_private' has no member named 'dev' make[2]: *** [drivers/net/gianfar.o] Error 1 Fix this by converting suspend and resume routines to use gfar_private->ndev. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David S. Miller commit b55de80e49892002a1878013ab9aee1a30970be6 Author: Bruce Allan Date: Sat Mar 21 13:25:25 2009 -0700 e100: add support for 82552 10/100 adapter This patch enables support for the new Intel 82552 adapter (new PHY paired with the existing MAC in the ICH7 chipset). No new features are added to the driver, however there are minor changes due to updated registers and a few workarounds for hardware errata. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ed36604b25023c584fdf93df6073f65dac4b1129 Merge: 3f51839... 1329f45... Author: David S. Miller Date: Sat Mar 21 13:23:01 2009 -0700 Merge branch 'master' of git://git.infradead.org/~dwmw2/solos-2.6 commit 648340dff02eff10cc08fa4e8d20442d7a238768 Merge: 1894e36... 0b3ba0c... Author: Ingo Molnar Date: Sat Mar 21 17:37:35 2009 +0100 Merge branch 'x86/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tip into x86/cleanups commit 45c7b28f3c7e3a45cc5a597cc19816a9015ee8ae Author: Jeremy Fitzhardinge Date: Fri Mar 20 17:53:34 2009 -0700 Revert "x86: create a non-zero sized bm_pte only when needed" This reverts commit 698609bdcd35d0641f4c6622c83680ab1a6d67cb. 69860 breaks Xen booting, as it relies on head*.S to set up the fixmap pagetables (as a side-effect of initializing the USB debug port). Xen, however, does not boot via head*.S, and so the fixmap area is not initialized. The specific symptom of the crash is a fault in dmi_scan(), because the pointer that early_ioremap returns is not actually present. Signed-off-by: Jeremy Fitzhardinge Cc: Jan Beulich LKML-Reference: <49C43A8E.5090203@goop.org> Signed-off-by: Ingo Molnar commit b125130b22d67f249beba10b71a254558b5279d0 Author: Li Zefan Date: Fri Mar 20 10:34:00 2009 +0800 blktrace: avoid accessing NULL bdev->bd_disk bdev->bd_disk can be NULL, if the block device is not opened. Try this against an unmounted partition, and you'll see NULL dereference: # echo 1 > /sys/block/sda/sda5/enable Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt LKML-Reference: <49C30098.6080107@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit cd649b8bb830d65c57c3c8b98d57b5402256d8bd Author: Li Zefan Date: Fri Mar 20 11:33:55 2009 +0800 blktrace: remove sysfs_blk_trace_enable_show/store() sysfs_blk_trace_enable_show()/store() share most of code with sysfs_blk_trace_attr_show()/store(). Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt LKML-Reference: <49C30EA3.1060004@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 15152e448b693fa41de40f1e40ffbe717a3aab88 Author: Li Zefan Date: Fri Mar 20 09:49:08 2009 +0800 blktrace: report EBUSY correctly blk_trace_remove_queue() returns EINVAL if q->blk_trace == NULL, but blk_trace_setup_queue() doesn't return EBUSY if q->blk_trace != NULL. # echo 0 > sdaX/trace/enable # echo 0 > sdaX/trace/enable bash: echo: write error: Invalid argument # echo 1 > sdaX/trace/enable # echo 1 > sdaX/trace/enable (should return EBUSY) Signed-off-by: Li Zefan Acked-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Cc: Jens Axboe Cc: Steven Rostedt LKML-Reference: <49C2F614.2010101@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit cbe28296eb1ac441b35cf45804d0ae808add7dd1 Author: Li Zefan Date: Fri Mar 20 09:48:47 2009 +0800 blktrace: don't increase blk_probes_ref if failed to setup blk trace do_blk_trace_setup() may return EBUSY, but the current code doesn't decrease blk_probes_ref in this case. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt LKML-Reference: <49C2F5FF.80002@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 3c289ba7c320560ee74979a8895141c829046a2d Author: Li Zefan Date: Fri Mar 20 09:48:26 2009 +0800 blktrace: remove blk_probe_mutex blk_register_tracepoints() always returns 0, so make it return void, thus we don't need to use blk_probe_mutex to protect blk_probes_ref. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt LKML-Reference: <49C2F5EA.8060606@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 5006ea73f38caef6065d1136808413813271633f Author: Li Zefan Date: Fri Mar 20 09:48:03 2009 +0800 blktrace: make blk_tracer_enabled a bool flag It doesn't have to be a counter, and it can be a bool flag instead. Signed-off-by: Li Zefan Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <49C2F5D3.8090104@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 1a17662ea033674a58bad3603531b0b5d42572f6 Author: Li Zefan Date: Fri Mar 20 09:47:30 2009 +0800 blktrace: fix possible memory leak When we failed to create "block" debugfs dir, we should do some cleanups. Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt LKML-Reference: <49C2F5B2.8000800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 949abe574739848b1e68271fbac86c3cb4506aad Author: Herbert Xu Date: Sat Mar 21 21:12:19 2009 +0800 crypto: sha512-s390 - Add missing block size I missed the block size when converting sha512-s390 to shash. Tested-by: Heiko Carstens Signed-off-by: Herbert Xu commit 1894e36754d682cc049b2b1c3825da8e585967d5 Author: Jaswinder Singh Rajput Date: Sat Mar 21 17:01:25 2009 +0530 x86: pci-nommu.c cleanup Impact: cleanup Signed-off-by: Jaswinder Singh Rajput commit d53a44446076a7dd68a4fb7f549fb6aeda9bfc2c Author: Jaswinder Singh Rajput Date: Sat Mar 21 16:57:04 2009 +0530 x86: io_delay.c cleanup Impact: cleanup - fix header file issues Signed-off-by: Jaswinder Singh Rajput commit 8383d821e7481f7cde9c17b61deb1b4af43b2cd9 Author: Jaswinder Singh Rajput Date: Sat Mar 21 16:56:37 2009 +0530 x86: rtc.c cleanup Impact: cleanup - fix various style problems - fix header file issues Signed-off-by: Jaswinder Singh Rajput commit c8344bc218ce7ebc728337839698566a79edfe5a Author: Jaswinder Singh Rajput Date: Sat Mar 21 16:56:10 2009 +0530 x86: i8253 cleanup Impact: cleanup - fix various style problems - fix header file issues Signed-off-by: Jaswinder Singh Rajput commit 390cd85c8ae4dc54ffba460a0e6575889170f56e Author: Jaswinder Singh Rajput Date: Sat Mar 21 16:55:45 2009 +0530 x86: kdebugfs.c cleanup Impact: cleanup Signed-off-by: Jaswinder Singh Rajput commit 271eb5c588e5d0a41eca6e118b6927af3f0f04b9 Author: Jaswinder Singh Rajput Date: Sat Mar 21 16:55:24 2009 +0530 x86: topology.c cleanup Impact: cleanup Signed-off-by: Jaswinder Singh Rajput commit 4731f8b66dd34ebf0e67ca6ba9162b0e509bec06 Author: Daniel Silverstone Date: Fri Mar 20 11:11:43 2009 +0100 [ARM] 5428/1: Module relocation update for R_ARM_V4BX It would seem when building kernel modules with modern binutils (required by modern GCC) for ARM v4T targets (specifically observed with the Samsung 24xx SoC which is an 920T) R_ARM_V4BX relocations are emitted for function epilogues. This manifests at module load time with an "unknown relocation: 40" error message. The following patch adds the R_ARM_V4BX relocation to the ARM kernel module loader. The relocation operation is taken from that within the binutils bfd library. Signed-off-by: Simtec Linux Team Signed-off-by: Vincent Sanders Signed-off-by: Russell King commit 09c9e84d474d917d9de5b9011ed2064b03a19677 Author: Frederic Weisbecker Date: Sat Mar 21 04:33:36 2009 +0100 tracing/ring-buffer: don't annotate rb_cpu_notify with __cpuinit Impact: remove a section warning CONFIG_DEBUG_SECTION_MISMATCH raises the following warning on -tip: WARNING: kernel/trace/built-in.o(.text+0x5bc5): Section mismatch in reference from the function ring_buffer_alloc() to the function .cpuinit.text:rb_cpu_notify() The function ring_buffer_alloc() references the function __cpuinit rb_cpu_notify(). This is actually harmless. The code in the ring buffer don't build rb_cpu_notify and other cpu hotplug stuffs when !CONFIG_HOTPLUG_CPU so we have no risk to reference freed memory here (it would even be harmless if we unconditionally build it because register_cpu_notifier would do nothing when !CONFIG_HOTPLUG_CPU. But since ring_buffer_alloc() can be called everytime, we don't want it to be annotated with __cpuinit so we drop the __cpuinit from rb_cpu_notify. This is not a waste of memory because it is only defined and used on CONFIG_HOTPLUG_CPU. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1237606416-22268-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0b3ba0c3ccc7ced2a06fed405e80c8e1c77a3ee7 Author: Jaswinder Singh Rajput Date: Sat Mar 21 13:43:20 2009 +0530 x86: mpparse.c introduce check_physptr helper function To reduce the size of the oversized function __get_smp_config() There should be no impact to functionality. Signed-off-by: Jaswinder Singh Rajput commit 5a5737eac224f01e264477954d92ed6e69047b7a Author: Jaswinder Singh Rajput Date: Sat Mar 21 13:28:39 2009 +0530 x86: mpparse.c introduce smp_dump_mptable helper function smp_read_mpc() and replace_intsrc_all() can use same smp_dump_mptable() Signed-off-by: Jaswinder Singh Rajput commit e88cd6ff2ce14ed7025d253b7f7f468d38415f77 Author: Heiko Carstens Date: Sat Mar 21 14:19:04 2009 +0800 hwrng: timeriomem - Breaks an allyesconfig build on s390: CC drivers/char/hw_random/timeriomem-rng.o drivers/char/hw_random/timeriomem-rng.c: In function 'timeriomem_rng_data_read': drivers/char/hw_random/timeriomem-rng.c:60: error: implicit declaration of function 'readl' Signed-off-by: Heiko Carstens Signed-off-by: Herbert Xu commit 3f518390ab1b65bc2e2bc01774eb2c5918c433ee Author: Arthur Jones Date: Fri Mar 20 15:56:35 2009 -0700 e1000e: fixup merge error When merging into Jeff's tree: commit 5f66f208064f083aab5e55935d0575892e033b59 Author: Arthur Jones Date: Thu Mar 19 01:13:08 2009 +0000 e1000e: allow tx of pre-formatted vlan tagged packets We lost one line, this fixes that missing piece... Signed-off-by: Arthur Jones Signed-off-by: David S. Miller commit f110ca489c9b7cf3f6c9656e383e787f3aee217f Author: Alex Chiang Date: Fri Mar 20 14:56:56 2009 -0600 PCI Hotplug: schedule fakephp for feature removal Now that the PCI core is capable of function-level remove and rescan as well as bus-level rescan, there's no functional need to keep fakephp anymore. We keep it around for userspace compatibility reasons, schedule removal in three years. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 8ffd25454738fb9ed76ee18cc0f180fb0b360401 Author: Alex Chiang Date: Fri Mar 20 14:56:51 2009 -0600 PCI Hotplug: rename legacy_fakephp to fakephp We wanted to replace fakephp wholesale, so rename legacy_fakephp back to fakephp. Yes, this is a silly commit, but it produces a much easier patch to read and review. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 83dbf66f04b96e65c6c18436c16d40f9cf8630aa Author: Trent Piepho Date: Fri Mar 20 14:56:46 2009 -0600 PCI Hotplug: restore fakephp interface with complete reimplementation A complete re-implementation of fakephp is necessary if it is to present its former interface (pre-2.6.27, when it broke). The reason is that PCI hotplug drivers call pci_hp_register(), which enforces the rule that only one /sys/bus/pci/slots/ file may be created per physical slot. The change breaks the old fakephp's assumption that it could create a file per function. So we re-implement fakephp to avoid using the standard PCI hotplug API so that we can restore the old fakephp user interface. It puts entries in /sys/bus/pci/slots with the names of all PCI devices/functions, exactly symmetrical to what is shown in /sys/bus/pci/devices. Each slots/ entry has a "power" attribute, which works the same way as the fakephp driver's power attribute has worked. There are a few improvements over old fakephp, which couldn't handle PCI devices being added or removed via a means outside of fakephp's knowledge. If a device was added another way, old fakephp didn't notice and didn't create the fake slot for it. If a device was removed another way, old fakephp didn't delete the fake slot for it (and accessing the stale slot caused an oops). The new implementation overcomes these limitations. As a consequence, removing a bridge with other devices behind it now works as well, which is something else old fakephp couldn't do previously. This duplicates a tiny bit of the code in the PCI core that does this same function. Re-using that code ends up being more complex than duplicating it, and it makes code in the PCI core more ugly just to support this legacy fakephp interface compatibility layer. Reviewed-by: James Cameron Signed-off-by: Trent Piepho Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 738a6396c223b486304dda778119dbbca563f019 Author: Alex Chiang Date: Fri Mar 20 14:56:41 2009 -0600 PCI: Introduce /sys/bus/pci/devices/.../rescan This interface allows the user to force a rescan of the device's parent bus and all subordinate buses, and rediscover devices removed earlier from this part of the device tree. Cc: Trent Piepho Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 77c27c7b49d69d45ccb94e481653f024f1ac6650 Author: Alex Chiang Date: Fri Mar 20 14:56:36 2009 -0600 PCI: Introduce /sys/bus/pci/devices/.../remove This patch adds an attribute named "remove" to a PCI device's sysfs directory. Writing a non-zero value to this attribute will remove the PCI device and any children of it. Trent Piepho wrote the original implementation and documentation. Thanks to Vegard Nossum for testing under kmemcheck and finding locking issues with the sysfs interface. Cc: Trent Piepho Tested-by: Vegard Nossum Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 705b1aaa823e800490f157cd9366ad8cff385f5f Author: Alex Chiang Date: Fri Mar 20 14:56:31 2009 -0600 PCI: Introduce /sys/bus/pci/rescan This interface allows the user to force a rescan of all PCI buses in system, and rediscover devices that have been removed earlier. pci_bus_attrs implementation from Trent Piepho. Thanks to Vegard Nossum for discovering locking issues with the sysfs interface. Cc: Trent Piepho Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 3ed4fd96b3188406ac5357d9290bcffa08c65cf6 Author: Alex Chiang Date: Fri Mar 20 14:56:25 2009 -0600 PCI: Introduce pci_rescan_bus() This API is used by the PCI core to rescan a bus and rediscover newly added devices. Over time, it is expected that the various PCI hotplug drivers will migrate to this interface and away from the old pci_do_scan_bus() interface. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 9dd90cafa7a712d283e2e0c625b022e19f746762 Author: Alex Chiang Date: Fri Mar 20 14:56:20 2009 -0600 PCI: do not enable bridges more than once In preparation for PCI core hotplug, we need to ensure that we do not attempt to re-enable bridges that have already been enabled. Reported-by: Kenji Kaneshige Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit b73e97d95c168cbc19bd1208c894077f25931ba1 Author: Alex Chiang Date: Fri Mar 20 14:56:15 2009 -0600 PCI: do not initialize bridges more than once In preparation for PCI core hotplug, we need to ensure that we do not attempt to re-initialize bridges that have already been initialized. We only need to worry about non-root buses, since we will not allow root bus removal. Reported-by: Kenji Kaneshige Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 74710ded8e16fc8dacbb702a5bac1a493d88549a Author: Alex Chiang Date: Fri Mar 20 14:56:10 2009 -0600 PCI: always scan child buses While scanning bridges, we stop our scan if we encounter a bus that we've seen before, to work around some buggy chipsets. This is a good idea, but prevents us from fully scanning the PCI bus at a future time (to find newly hot-added devices, for example). Change the logic so that we skip _re-adding_ an existing bus that we've seen before, but also allow the scan to descend to all child buses. Now that we're potentially scanning our child buses again, we also need to be sure not to attempt re-initializing their BARs so we avoid that. This patch lays the groundwork to allow the user to issue a rescan of the PCI bus at any time. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 1b69dfc649e6658fc38499cf704750d74cabc73d Author: Trent Piepho Date: Fri Mar 20 14:56:05 2009 -0600 PCI: pci_scan_slot() returns newly found devices pci_scan_slot() has been rewritten to be less complex and will now return the number of *new* devices found. Existing callers need not worry because they already assume that they can't call pci_scan_slot() on an already-scanned slot. Thus, there is no semantic change for existing callers: returning newly found devices (this patch) is exactly equal to returning all found devices (before this patch). This patch adds some more groundwork to allow us to rescan the PCI bus during runtime to discover newly added devices. Signed-off-by: Trent Piepho Reviewed-by: Alex Chiang Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 90bdb3117f4209baa6d712b126f0e7791b24dc3f Author: Trent Piepho Date: Fri Mar 20 14:56:00 2009 -0600 PCI: don't scan existing devices pci_scan_single_device is supposed to add newly discovered devices to pci_bus->devices, but doesn't check to see if the device has already been added. This can cause problems if we ever want to use this interface to rescan the PCI bus. If the device is already added, just return it. Signed-off-by: Trent Piepho Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 79af72d716cf1bb13b175429cf181a6c4d063ee8 Author: Kenji Kaneshige Date: Fri Mar 20 14:55:55 2009 -0600 PCI: pci_is_root_bus helper Introduce pci_is_root_bus helper function. This will help make code more consistent, as well as prevent incorrect assumptions (such as pci_bus->self == NULL on a root bus, which is not always true). Signed-off-by: Kenji Kaneshige Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 04c93ce4991fce731dab346d03964504339347db Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 20 21:02:55 2009 +0100 x86: fix IO APIC resource allocation error message Impact: fix incorrect error message - IO APIC resource allocation error message contains one too many "be". - Print the error message iff there are IO APICs in the system. I've seen this error message for some time on my x86-32 laptop... Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Alan Bartlett LKML-Reference: <200903202100.30789.bzolnier@gmail.com> Signed-off-by: Ingo Molnar commit 17b536cc43bcf2afcc20b4812f93a895881b5f4f Author: Atsushi Nemoto Date: Fri Mar 6 20:01:08 2009 +0900 [MTD] mtdpart: Make all partition parsers return allocated array Currently redboot and afx parser return allocated mtd_partition array and cmdlinepart and ar7 return persistent array. This patch make cmdlinepart and ar7 also return allocated array, so that all users can free it regardless of parser type. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit bd50a0ffca0bbb9baa60ab1ef2c09cf7561e1223 Author: Yegor Yefremov Date: Fri Mar 20 18:50:26 2009 +0000 [MTD] [CHIPS] Add JEDEC probe support for the SST 39VF3201 flash chip Signed-off-by: Andrew Morton Signed-off-by: Yegor Yefremov Signed-off-by: David Woodhouse commit 068258bc15439c11a966e873f931cc8e513dca61 Author: Yinghai Lu Date: Thu Mar 19 20:55:35 2009 -0700 x86/PCI: host mmconfig detect clean up Fix mmconfig detection to not assume a single mmconfig space in the northbridge, paving the way for AMD fam10h + mcp55 CPUs. On those, the MSR has some range, but the mcp55 pci config will have another one. Also helps the mcp55 + io55 case, where every one will have one range. If it is mcp55, exclude the range that is used by CPU MSR, in other words , if the CPU claims busses 0-255, the range in mcp55 is dropped, because CPU HW will not route those ranges to mcp55 mmconfig to handle it. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 48ec00ac895074f8a47bda8f3925ccaa46abb7a8 Author: Adrian Hunter Date: Wed Mar 4 09:53:40 2009 +0200 [MTD] mtdoops: fix a bit of spin lock usage - do not leave spin lock locked - initialise spin lock Signed-off-by: Adrian Hunter Acked-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit e2a0f25b4f520adbd82c0caafcde0470ed11053d Author: Adrian Hunter Date: Mon Feb 16 18:21:35 2009 +0200 [MTD] mtdoops: allow MTD selection by name MTD's have both an index number and a name. Formerly, the MTD selected for mtdoops was done only by index number. With this patch, a name can be used instead. For example, the kernel command line: console=ttyMTD5 selects MTD 5 for mtdoops. But now this is also possible: console=ttyMTD,log which selects the MTD named "log" for mtdoops. This has the advantage that partitions can be added or removed that would affect the MTD index number but not the name, without having to then change the kernel command line. Signed-off-by: Adrian Hunter Acked-by: Richard Purdie Acked-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit f271049e2010b918f83dc1c7bbd5d75f4710506a Author: Mike Rapoport Date: Tue Feb 17 13:54:47 2009 +0200 [MTD] [NAND] pxa3xx_nand: add ability to keep controller settings defined by OBM/bootloader Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: David Woodhouse commit 82a72d108b4fbcc8f651b7c4e34c6f18a605d58d Author: Mike Rapoport Date: Tue Feb 17 13:54:46 2009 +0200 [MTD] [NAND] pxa3xx_nand: allow building as module Signed-off-by: Mike Rapoport Signed-off-by: David Woodhouse commit b2ed3680553b451e5c45064de26ea8fa5201c6d4 Author: Mike Rapoport Date: Tue Feb 17 13:54:45 2009 +0200 [MTD] [NAND] pxa3xx_nand: use resource_size instead of 'r->end - r->start + 1' Signed-off-by: Mike Rapoport Signed-off-by: David Woodhouse commit fafad5bf06c3a3bb8b24b28b6f065367e7411872 Author: Michael Ellerman Date: Fri Mar 20 15:22:12 2009 +1100 PCI MSI: Add example request loop to MSI-HOWTO.txt Encourage driver writers to think about supporting a variable number of MSI-X interrupts, and give an example of how to do such a request. Acked-by: Matthew Wilcox Signed-off-by: Michael Ellerman Signed-off-by: Jesse Barnes commit 5546d6f56807115a035d140f7364ce5807dbcc87 Author: Ed Swierk Date: Thu Mar 19 20:57:56 2009 -0700 x86/PCI: Detect mmconfig on nVidia MCP55 Detect and enable memory-mapped PCI configuration space on the nVidia MCP55 southbridge. Tested against 2.6.27.4 on an Arista Networks development board with one MCP55, Coreboot firmware, no ACPI. Signed-off-by: Ed Swierk Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit e7f521636a2d6b1a012f98f6ec16898c5d6f1543 Author: Scott James Remnant Date: Mon Mar 2 17:43:04 2009 +0000 [MTD] Auto-load nftl module when device opened. The nftl module is missing the block-major-93-* alias that would cause it to be auto-loaded when a nftl of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: David Woodhouse commit 90160e13b0bfe82d8bfe83541e3aa3961fdeed25 Author: Scott James Remnant Date: Mon Mar 2 18:42:39 2009 +0000 [MTD] Auto-load mtdchar module when device opened. The mtdchar module is missing the char-major-90-* alias that would cause it to be auto-loaded when a device of that type is opened. This patch adds the alia.. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: David Woodhouse commit 6ac15e92dfd3064ae484e2e823890622476c4356 Author: Graff Yang Date: Mon Mar 2 16:31:29 2009 +0800 [MTD] [CHIPS] cfi_cmdset_0001.c: Fix a bug in inval_cache_and_wait_for_operation(). If the inval_cache_and_wait_for_operation() is re-entered by write operation when erase operation is in progress, the chip->erase_suspended will be cleared, this cause the erase timeo is not reset and will result time out error for erase. Signed-off-by: Graff Yang Signed-off-by: David Woodhouse commit 610f75e74b636f933bc3e379a88a10f883b91332 Author: Atsushi Nemoto Date: Wed Mar 4 12:01:34 2009 -0800 [MTD] RBTX4939 map driver This is a map driver for NOR flash chips on RBTX4939 board. Signed-off-by: Atsushi Nemoto Cc: Ralf Bächle Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 64fb65baffa5b8f6f2eb3f628dec43c22cd1031f Author: Atsushi Nemoto Date: Wed Mar 4 12:01:34 2009 -0800 [MTD] TXx9 SoC NAND Flash Memory Controller driver This patch adds support for the integrated NAND flash controller of the TXx9 family. Once upon a time there were tx4925ndfmc and tx4938ndfmc driver. They were removed due to bitrot in 2005. This new driver is completely rewritten based on a driver in CELF patch archive. Signed-off-by: Atsushi Nemoto Cc: Ralf Bächle Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit cbf77c1bd9c79d1742976862d0b2bebaff1ea14d Author: Atsushi Nemoto Date: Wed Mar 4 12:01:33 2009 -0800 [MTD] RBTX4939: add MTD support Add platform support for NOR flash chips on RBTX4939 board. This board has complex flash mappings, controlled by its DIPSW setting. [akpm@linux-foundation.org: Use min_t] Signed-off-by: Atsushi Nemoto Cc: Ralf Bächle Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit a591f5d35e89be90c04830d7de01c276af68aeb7 Author: Atsushi Nemoto Date: Wed Mar 4 12:01:31 2009 -0800 [MTD] [NAND] TXx9: add NDFMC support Add platform support for NAND Flash Memory Controller of TXx9 SoCs. Signed-off-by: Atsushi Nemoto Acked-By: Ralf Bächle Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 14fc9fbc700dc95b4f46ebd588169324fe6deff8 Author: Hiroshi Shimamoto Date: Thu Mar 19 10:56:29 2009 -0700 x86: signal: check signal stack overflow properly Impact: cleanup Check alternate signal stack overflow with proper stack pointer. The stack pointer of the next signal frame is different if that task has i387 state. On x86_64, redzone would be included. No need to check SA_ONSTACK if we're already using alternate signal stack. Signed-off-by: Hiroshi Shimamoto Cc: Roland McGrath LKML-Reference: <49C2874D.3080002@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 15b49bee3a2b228370194f1b3ebc3db427cc9c94 Author: Yu Zhao Date: Fri Mar 20 11:25:18 2009 +0800 PCI: manual for SR-IOV user and driver developer Reviewed-by: Randy Dunlap Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 01db4957179c92fda7d9a06e49b7ae56fb7c925b Author: Yu Zhao Date: Fri Mar 20 11:25:17 2009 +0800 PCI: document SR-IOV sysfs entries Reviewed-by: Randy Dunlap Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 74bb1bcc7dbbc9ddef773bf3395d7ff92aaaad2e Author: Yu Zhao Date: Fri Mar 20 11:25:16 2009 +0800 PCI: handle SR-IOV Virtual Function Migration Add or remove a Virtual Function after receiving a Migrate In or Out Request. Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit dd7cc44d0bcec5e9c42fe52e88dc254ae62eac8d Author: Yu Zhao Date: Fri Mar 20 11:25:15 2009 +0800 PCI: add SR-IOV API for Physical Function driver Add or remove the Virtual Function when the SR-IOV is enabled or disabled by the device driver. This can happen anytime rather than only at the device probe stage. Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 480b93b7837fb3cf0579a42f4953ac463a5b9e1e Author: Yu Zhao Date: Fri Mar 20 11:25:14 2009 +0800 PCI: centralize device setup code Move the device setup stuff into pci_setup_device() which will be used to setup the Virtual Function later. Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit a28724b0fb909d247229a70761c90bb37b13366a Author: Yu Zhao Date: Fri Mar 20 11:25:13 2009 +0800 PCI: reserve bus range for SR-IOV device Reserve the bus number range used by the Virtual Function when pcibios_assign_all_busses() returns true. Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 8c5cdb6adc6688b9b8fd82ea4a5cf4674dabad79 Author: Yu Zhao Date: Fri Mar 20 11:25:12 2009 +0800 PCI: restore saved SR-IOV state Restore the volatile registers in the SR-IOV capability after the D3->D0 transition. Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit d1b054da8f599905f3c18a218961dcf17f9d5f13 Author: Yu Zhao Date: Fri Mar 20 11:25:11 2009 +0800 PCI: initialize and release SR-IOV capability If a device has the SR-IOV capability, initialize it (set the ARI Capable Hierarchy in the lowest numbered PF if necessary; calculate the System Page Size for the VF MMIO, probe the VF Offset, Stride and BARs). A lock for the VF bus allocation is also initialized if a PF is the lowest numbered PF. Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 8293b0f629095efbe7c7e3f9b437f8c040c19eb5 Author: David O'Shea Date: Mon Mar 2 09:51:13 2009 +0100 PCI: Compaq Evo D510 SMBus quirk using USB instead of VGA On the Compaq Evo D510 SFF/CMT, a PCI quirk activated the SMBus device based on detection of the on-board VGA controller, but the on-board VGA is disabled if an AGP card is inserted, so look for one of the USB controllers instead. Signed-off-by: David O'Shea Signed-off-by: Jean Delvare Signed-off-by: Jesse Barnes commit 217f45de3d2f68b6d0b646bb4f2a155a71648396 Author: Dave Airlie Date: Wed Mar 4 05:57:05 2009 +0000 PCI: expose boot VGA device via sysfs. X really would like to know which VGA device was considered the boot device by the system. The x86 PCI fixups have support for discovering this but we provide no way to expose it to userspace. This adds a sysfs file per VGA class device which has the value 0 for non the boot device or unknown, and 1 if the VGA device is the boot device. Acked-by: Greg Kroah-Hartman Signed-off-by: Dave Airlie Signed-off-by: Jesse Barnes commit dfadd9edff498d767008edc6b2a6e86a7a19934d Author: Yinghai Lu Date: Sun Mar 8 21:35:37 2009 -0700 PCI/x86: detect host bridge config space size w/o using quirks Many host bridges support a 4k config space, so check them directy instead of using quirks to add them. We only need to do this extra check for host bridges at this point, because only host bridges are known to have extended address space without also having a PCI-X/PCI-E caps. Other devices with this property could be done with quirks (if there are any). As a bonus, we can remove the quirks for AMD host bridges with family 10h and 11h since they're not needed any more. With this patch, we can get correct pci cfg size of new Intel CPUs/IOHs with host bridges. Signed-off-by: Yinghai Lu Acked-by: H. Peter Anvin Reviewed-by: Matthew Wilcox Cc: Signed-off-by: Jesse Barnes commit 745be2e700cdddd5da4e402854a484242c3628df Author: Alex Chiang Date: Sat Mar 7 21:46:49 2009 -0700 PCIe: portdrv: call pci_disable_device during remove The PCIe port driver calls pci_enable_device when registering ports, but never calls pci_disable_device during removal. Acked-by: Rafael J. Wysocki Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 9efb5fe1b80a45130ba659ba755f24534c83301b Author: Alex Chiang Date: Mon Mar 9 12:08:15 2009 -0600 PCI: PCIe portdrv: eliminate double kfree in remove path Commit 55633af3 (PCIe portdrv: Use driver data to simplify code) added a kfree of the driver private data in pcie_port_device_remove but forgot to remove the old kfree from pcie_portdrv_remove. Acked-by: Rafael J. Wysocki Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 6a3b3e26803fc823058fbb05abb5e0d92a52e1bd Author: Geert Uytterhoeven Date: Sun Mar 15 20:14:37 2009 +0100 PCI: Use kzalloc() in pci_create_bus() Signed-off-by: Geert Uytterhoeven Signed-off-by: Jesse Barnes commit 32a9a682bef2f6fce7026bd94d1ce20028b0e52d Author: Yuji Shimada Date: Mon Mar 16 17:13:39 2009 +0900 PCI: allow assignment of memory resources with a specified alignment This patch allows memory resources to be assigned with a specified alignment at boot-time or run-time. The patch is useful when we use PCI pass-through, because page-aligned memory resources are required to securely share PCI resources with guest drivers. If you want to assign the resource at boot time, please set "pci=resource_alignment=" boot parameter. This is format of "pci=resource_alignment=" boot parameter: [@][:]:.[; ...] Specifies alignment and device to reassign aligned memory resources. If is not specified, PAGE_SIZE is used as alignment. PCI-PCI bridge can be specified, if resource windows need to be expanded. This is example: pci=resource_alignment=20@07:00.0;18@0f:00.0;00:1d.7 If you want to assign the resource at run-time, please set "/sys/bus/pci/resource_alignment" file, and hot-remove the device and hot-add the device. For this purpose, fakephp or PCI hotplug interfaces can be used. The format of "/sys/bus/pci/resource_alignment" file is the same with boot parameter. You can use "," instead of ";". For example: # cd /sys/bus/pci # echo -n 20@12:00.0 > resource_alignment # echo 1 > devices/0000:12:00.0/remove # echo 1 > rescan Reviewed-by: Alex Chiang Reviewed-by: Yu Zhao Signed-off-by: Yuji Shimada Signed-off-by: Jesse Barnes commit 1c8d7b0a562da06d3ebe83f01b1ed553205d1ae4 Author: Matthew Wilcox Date: Tue Mar 17 08:54:10 2009 -0400 PCI MSI: Add support for multiple MSI Add the new API pci_enable_msi_block() to allow drivers to request multiple MSI and reimplement pci_enable_msi in terms of pci_enable_msi_block. Ensure that the architecture back ends don't have to know about multiple MSI. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit f2440d9acbe866b917b16cc0f927366341ce9215 Author: Matthew Wilcox Date: Tue Mar 17 08:54:09 2009 -0400 PCI MSI: Refactor interrupt masking code Since most of the callers already know whether they have an MSI or an MSI-X capability, split msi_set_mask_bits() into msi_mask_irq() and msix_mask_irq(). The only callers which don't (mask_msi_irq() and unmask_msi_irq()) can share code in msi_set_mask_bit(). This then becomes the only caller of msix_flush_writes(), so we can inline it. The flushing read can be to any address that belongs to the device, so we can eliminate the calculation too. We can also get rid of maskbits_mask from struct msi_desc and simply recalculate it on the rare occasion that we need it. The single-bit 'masked' element is replaced by a copy of the 32-bit 'masked' register, so this patch does not affect the size of msi_desc. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 264d9caaa1c574c0274b019a810abfe957391005 Author: Matthew Wilcox Date: Tue Mar 17 08:54:08 2009 -0400 PCI MSI: Use mask_pos instead of mask_base when appropriate MSI interrupts have a mask_pos where MSI-X have a mask_base. Use a transparent union to get rid of some ugly casts. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 379f5327a86f7822a51ec7d088a085167724df75 Author: Matthew Wilcox Date: Tue Mar 17 08:54:07 2009 -0400 PCI MSI: msi_desc->dev is always initialised By passing the pci_dev into alloc_msi_entry() we can be sure that the ->dev entry is always assigned and so we don't need to check it. Also, we used kzalloc() so we don't need to initialise ->irq to 0. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 24d27553390c69d11cdbd930d635193956fc295f Author: Matthew Wilcox Date: Tue Mar 17 08:54:06 2009 -0400 PCI MSI: Replace 'type' with 'is_msix' By changing from a 5-bit field to a 1-bit field, we free up some bits that can be used by a later patch. Also rearrange the fields for better packing on 64-bit platforms (reducing the size of msi_desc from 72 bytes to 64 bytes). Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit c41ade2ee1dc146d2de2ee470a87cd6b878a08f4 Author: Matthew Wilcox Date: Tue Mar 17 08:54:05 2009 -0400 Rewrite MSI-HOWTO I didn't find the previous version very useful, so I rewrote it. Signed-off-by: Matthew Wilcox Reviewed-by: Randy Dunlap Reviewed-by: Grant Grundler Signed-off-by: Jesse Barnes commit 0994375e9614f78657031e04e30019b9cdb62795 Author: Chris Wright Date: Mon Feb 23 21:52:23 2009 -0800 PCI: add remove_id sysfs entry This adds a remove_id sysfs entry to allow users of new_id to later remove the added dynid. One use case is management tools that want to dynamically bind/unbind devices to pci-stub driver while devices are assigned to KVM guests. Rather than having to track which driver was originally bound to the driver, a mangement tool can simply: Guest uses device Signed-off-by: Chris Wright Signed-off-by: Jesse Barnes commit 13bf75766966e1bcc71fae536988caec312eef8f Author: Bjorn Helgaas Date: Tue Feb 24 10:38:22 2009 -0700 x86: use dev_printk in quirk message This patch changes a VIA PCI quirk to use dev_info() rather than printk(). Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 998dd7c719f62dcfa91d7bf7f4eb9c160e03d817 Author: Yu Zhao Date: Wed Feb 25 13:15:52 2009 +0800 PCI: fix incorrect mask of PM No_Soft_Reset bit Reviewed-by: Matthew Wilcox Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit c74d724462d1845535667f4d3f720e02e3432e53 Author: Kenji Kaneshige Date: Tue Feb 17 14:16:13 2009 +0900 PCI: fix wrong assumption in pci_common_swizzle Current pci_common_swizzle() seems to have a assumption that pci_bus->self is NULL on the pci root bus. But it might not be true on some platforms. Because of this wrong assumption, pci_common_swizzle() might cause endless loop. We must check pci_bus->parent instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit c2a3072e010943ac749794622f26b3ef54de25be Author: Kenji Kaneshige Date: Tue Feb 17 14:15:45 2009 +0900 PCI: fix wrong assumption in pci_get_interrupt_pin Current pci_get_interrupt_pin() seems to have an assumption that pci_bus->self is NULL on the root pci bus. But it might not be true on some platforms. Because of this wrong assumption, current pci_get_interrupt_pin() might cause endless loop. We must check pci_bus->parent instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit f92d4e29d785f1d4217dee7f1ae6ff7140547ed5 Author: Kenji Kaneshige Date: Tue Feb 17 14:15:16 2009 +0900 PCI: fix wrong assumption in pci_read_bridge_bases Current pci_read_bridge_bases() has an assumption that pci_bus->self is NULL on the pci root bus (It checks pci_bus->self to see if the pci bus is root bus). But is might not true on some platforms. We must check pci_bus->parent instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 151ab36a2ea0b3181d103f7244636e0d16e685de Author: Kenji Kaneshige Date: Tue Feb 17 14:14:36 2009 +0900 PCI: fix wrong assumption in pci_find_upstream_pcie_bridge Current pci_find_upstream_pcie_bridge() has a wrong assumption that pci_bus->self is NULL on the root pci bus. But it might not true on some platforms. Because of this wrong assumption, current pci_find_upstream_pcie_bridge() might cause endless loop. We must check pci_bus->parent instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d391f00f0e7fb6d883c6724b31a1799e19a584c5 Author: Kenji Kaneshige Date: Tue Feb 17 14:13:59 2009 +0900 PCI hotplug: fix wrong assumption in acpi_get_hp_hw_control_from_firmware Current acpi_get_hp_hw_control_from_firmware() has a assumption that pci_bus->self is NULL on a PCI root bus. But it might not be true on some platforms. Because of this wrong assumption, current acpi_get_hp_hw_control_from_firmware() might cause endless loop. We must check pci_bus->parent instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 267efd7eec5eca62f32f8c9bc1721b578d5da963 Author: Kenji Kaneshige Date: Tue Feb 17 14:13:20 2009 +0900 PCI hotplug: fix wrong assumption in acpi_get_hp_params_from_firmware Current acpi_get_hp_params_from_firmware() has a assumption that pci_bus->self is NULL on the root pci bus. But it might not true on some platforms. Because of this wrong assumption, current acpi_get_hp_params_from_firmware() might cause endless loop. We must check pci_bus->parent instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d18690af626b83fef1d1953b9f70e09497060586 Author: Kenji Kaneshige Date: Tue Feb 17 14:12:36 2009 +0900 PCI/ACPI: fix wrong assumption in acpi_find_root_bridge_handle Current acpi_find_root_bridge_handle() has a assumption that pci_bus->self is NULL on the root pci bus. But it might not be true on some platforms. Because of this wrong assumption, current acpi_find_root_bridge_handle() might cause endless loop. We must check pci_bus->parent instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 0747aaf42d78d26684c6f6b34a4103ff81f571f8 Author: Kenji Kaneshige Date: Tue Feb 17 14:11:56 2009 +0900 PCI/ACPI: fix wrong assumption in acpi_pci_get_bridge_handle Current acpi_pci_get_bridge_handle() has an assumption that pci_bus->self is NULL on the root pci bus. But it might not true on some platforms. Because of this wrong assumption, current acpi_pci_get_bridge_handle() might return improper ACPI handle. We must check pci_bus->parent instead. This bug is the root cause of the following kernel panic reported by James Bottomley. This problem was introduced by the commit e8c331e963c58b83db24b7d0e39e8c07f687dbc6. The immediate cause was acpi_pci_get_bridge_handle() returned NULL unexpectedly and it was passed as the second argument of acpi_walk_namespace(). pci_hotplug: PCI Hot Plug PCI Core version: 0.5 acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 IP: [] acpi_ns_get_next_node+0xb/0x3c PGD 0 Oops: 0000 [#1] SMP last sysfs file: CPU 0 Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.28 #1 RIP: 0010:[] [] acpi_ns_get_next_node+0xb/0x3c RSP: 0018:ffff88007f87fd30 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: ffffffff8037d260 R09: ffff88007f87fdfc R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffffffff80742040(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000000000000010 CR3: 0000000000201000 CR4: 00000000000006a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swapper (pid: 1, threadinfo ffff88007f87e000, task ffff88007f875040) Stack: 0000000000000000 ffffffff803964f5 ffff88007f81b728 0000000000001001 ffff88007f87fdfc ffffffff8037d260 0000000600000001 0000000000000000 ffffffff8037d260 0000000000000000 0000000000000001 ffff88007f87fdfc Call Trace: [] acpi_ns_walk_namespace+0x55/0x138 [] is_pci_dock_device+0x0/0x20 [] is_pci_dock_device+0x0/0x20 [] acpi_walk_namespace+0x5f/0x83 [] detect_ejectable_slots+0x53/0x70 [] add_bridge+0xe8/0x200 [] acpi_walk_namespace+0x6b/0x83 [] acpi_pci_register_driver+0x48/0x61 [] acpiphp_init+0x0/0x58 [] acpiphp_glue_init+0x4c/0x5a [] acpiphp_init+0x37/0x58 [] _stext+0x3b/0x180 [] create_proc_entry+0x58/0xa0 [] register_irq_proc+0xc1/0xe0 [] kernel_init+0x152/0x1ac [] finish_task_switch+0x0/0x110 [] child_rip+0xa/0x20 [] restore_args+0x0/0x30 [] kernel_init+0x0/0x1ac [] child_rip+0x0/0x20 Code: 89 c2 48 8b 00 48 85 c0 75 f5 48 8b 45 00 48 89 02 44 88 65 09 48 89 5d 00 31 c0 5b 5d 41 5c c3 53 48 85 d2 89 fb 48 89 d7 75 06 <48> 8b 56 10 eb 08 e8 73 f1 ff ff 48 89 c2 85 db 74 1a eb 13 0f RIP [] acpi_ns_get_next_node+0xb/0x3c RSP CR2: 0000000000000010 ---[ end trace a7919e7f17c0a725 ]--- Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 3a3c244c9a355105bc193fde873c73727bf87192 Author: Rafael J. Wysocki Date: Sun Feb 15 22:32:48 2009 +0100 PCI: PCIe portdrv: Implement pm object Implement pm object for the PCI Express port driver in order to use the new power management framework and reduce the code size. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit ae40582e9959cdb7bfe4b918be8e3d19f9511798 Author: Eric W. Biederman Date: Fri Feb 20 20:16:07 2009 -0800 PCI: pcie_portdriver: fix pcie_port_device_remove pcie_port_device_remove currently calls the remove method of port drivers twice. Ouch! We are calling device_for_each_child multiple times for no apparent reason. So make it simple. Place put_device and device_unregister into remove_iter, and throw out the rest. Only call device_for_each_child once. The code is simpler and actually works! Signed-off-by: Eric W. Biederman Signed-off-by: Jesse Barnes commit fcabb3479e2b15abfd2d2ef5363295f16e98b2d7 Author: Hunter Adrian Date: Wed Mar 18 12:29:39 2009 +0100 UBIFS: fix compiler warnings fs/ubifs/super.c: In function ‘ubifs_show_options’: fs/ubifs/super.c:425: warning: format not a string literal and no format arguments fs/ubifs/super.c: In function ‘mount_ubifs’: fs/ubifs/super.c:1204: warning: format not a string literal and no format arguments fs/ubifs/super.c: In function ‘ubifs_remount_rw’: fs/ubifs/super.c:1557: warning: format not a string literal and no format arguments Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit f10770f5e56b4297701fd7c3e551b206f98d7ac2 Author: Artem Bityutskiy Date: Sun Mar 8 15:13:00 2009 +0200 UBIFS: fully sort GCed nodes The 'joinup()' function cannot deal with situations when nodes go in reverse order - it just leaves them in this order. This patch implement full nodes sorting using n*log(n) algorithm. It sorts data nodes for bulk-read, and direntry nodes for readdir(). Signed-off-by: Artem Bityutskiy commit 7d4e9ccb435e51e013e63abd340b4f496428139c Author: Artem Bityutskiy Date: Fri Mar 20 19:11:12 2009 +0200 UBIFS: fix commentaries Signed-off-by: Artem Bityutskiy commit eaeed5d31d8ded02fa0a4b608f57418cc0e65b07 Author: Steve Glendinning Date: Fri Mar 20 14:16:29 2009 +0000 sh: add support for SMSC Polaris platform Polaris is an SMSC reference platform with a SH7709S CPU and LAN9118 ethernet controller. This patch adds support for it. Updated following feedback from Nobuhiro Iwamatsu. Signed-off-by: Steve Glendinning Reviewed-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit c9840cf4cf12a4ec4fe3c4db3c28f638d06e942b Merge: 2d864c4... 1dddab4... Author: Takashi Iwai Date: Fri Mar 20 16:33:30 2009 +0100 Merge branch 'topic/hda-optimize' into topic/hda commit 8b22d943c34b616eefbd6d2f8f197a53b1f29fd0 Author: Takashi Iwai Date: Fri Mar 20 16:26:15 2009 +0100 ALSA: pcm - Safer boundary checks Make the boundary checks a bit safer. These caese are rare or theoretically won't happen, but nothing bad to keep the checks safer... Signed-off-by: Takashi Iwai commit fc371a25eab8816d49c2d322d91b48a11e206018 Author: Roel Kluin Date: Wed Mar 4 12:01:41 2009 -0800 [JFFS2] jffs2_acl_count() tests < 0 on unsigned size_t s is unsigned and cannot be less than 0. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit a4b6d516a6079c6ba8dc97d185371439035a35d0 Author: David Brownell Date: Wed Mar 4 12:01:41 2009 -0800 [MTD] partitioning utility predicates Move mtd_has_partitions() and mtd_has_cmdlinepart() inlines from a DaVinci-specific driver to the header. Use those to eliminate #ifdefs in two drivers which had their own definitions of mtd_has_partitions(). Quite a lot of other MTD drivers could benefit from using use one or both of these to remove #ifdeffery. Maybe some Janitors would like to help. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 7ed8c7d440d497913a2218831a67b5897e0e86e1 Author: David Brownell Date: Wed Mar 4 12:01:40 2009 -0800 [MTD] we don't need no misc devices Remove from various drivers which don't actually use any of its contents. There are still a number of these left in arch-specific bits of the tree. (Found by diffing results of "grep -rl" for linux/miscdevice.h and for misc_register, examining the differences, and verifying removals with a build test.) Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit d5e539ad7d8305f12d04b4a278f8cf791e3de4db Author: Kevin Hilman Date: Wed Mar 4 12:01:39 2009 -0800 [MTD] [NAND] davinci: drop usage of cpu_is_* macro Usage of davinci-specific cpu_is macros is not allowed in drivers. These options should be passed in through platform_data. Signed-off-by: Kevin Hilman Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 374555aeb64f450db04edb8c7c218d763f2a8781 Author: David Brownell Date: Wed Mar 4 12:01:38 2009 -0800 [MTD] [NAND] fix broken debug messages Fix incorrect debug messages (*write* not read); someone committed some cut'n'paste bugs.  There might be more, I only noticed these since I was looking for nand_read usage and landed in some very wrong functions. IMO all MTD debugging message framework is goofed, anyway. It uses "DEBUG" in a way that's incompatible with usage most everywhere else in the kernel, and which prevents normal pr_dbg() and dev_dbg() calls from working right. [True. It predates those by a long way, and should probably be updated to use them. dwmw2] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ff4569c752c577c7e71e03c9d59e6ef85ca763c0 Author: David Brownell Date: Wed Mar 4 12:01:37 2009 -0800 [MTD] [NAND] davinci_nand driver This is a device driver for the NAND flash controller found on the various DaVinci family chips. It handles up to four SoC chipselects, and some flavors of secondary chipselect (e.g. based on upper bits of the address bus) as used with some multichip packages. (Including the 2 GiB chips used on some TI devel boards.) The 1-bit ECC hardware is supported (3 bytes ECC per 512 bytes data); but not yet the newer 4-bit ECC (10 bytes ECC per 512 bytes data), as available on chips like the DM355 or OMAP-L137 and needed with the more error-prone MLC NAND chips. This is a cleaned-up version of code that's been in use for several years now; sanity checked with the new drivers/mtd/tests. Signed-off-by: David Brownell Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 52ff49df7fab18e56fa31b43143c4150c2547836 Author: David Brownell Date: Wed Mar 4 12:01:36 2009 -0800 [MTD] [NAND] fix "raw" reads with ECC syndrome layouts The syndrome based page read/write routines store ECC, and possibly other "OOB" data, right after each chunk of ECC'd data. With ECC chunk size of 512 bytes and a large page (2KiB) NAND, the layout is: data-0 OOB-0 data-1 OOB-1 data-2 OOB-2 data-3 OOB-3 OOB-leftover Where OOBx is (prepad, ECC, postpad). However, the current "raw" routines use a traditional layout -- data OOB, disregarding the prepad and postpad values -- so when they're used with that type of ECC hardware, those calls mix up the data and OOB. Which means, in particular, that bad block tables won't be found on startup, with data corruption and related chaos ensuing. The current syndrome-based drivers in mainline all seem to use one chunk per page; presumably they haven't noticed such bugs. Fix this, by adding read/write page_raw_syndrome() routines as siblings of the existing non-raw routines; "raw" just means to bypass the ECC computations, not change data and OOB layout. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit c6d59cdd412e1ae34ad9c8dc69eaabada792f7ae Author: Wei Yongjun Date: Wed Mar 4 12:01:35 2009 -0800 [JFFS2] kmem_cache_alloc/memset -> kmem_cache_zalloc Used kmem_cache_zalloc instead of kmem_cache_alloc/memset. Signed-off-by: Wei Yongjun Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit bfc492571e7ad1eb4b9fe3ac8ab0a7cdaecf8eca Author: Mike Frysinger Date: Wed Mar 4 12:01:30 2009 -0800 [MTD] [NAND] Blackfin NFC Driver: drop pointless casts with set_dma_callback() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 8d30cab06920f9efb7e089f2c69e451b2a637d8a Author: Mike Frysinger Date: Wed Mar 4 12:01:29 2009 -0800 [MTD] [NAND] Blackfin NFC Driver: mark bf5xx_nand_add_partition() as __devinit The bf5xx_nand_add_partition() func is only called by __devinit functions, so put it into the __devinit section as well Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 08d2503ecc2337275942c1f52822b7a464c0c0a3 Author: Mike Frysinger Date: Wed Mar 4 12:01:29 2009 -0800 [MTD] [NAND] Blackfin NFC Driver: do not clobber DMAC1_PERIMUX Only set DMAC1_PERIMUX once we have requested and been granted the dma channel to prevent breaking other peripherals in the error case Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 2d864c499a77129dc6aa4f7552ddf2885e4a9c47 Author: Takashi Iwai Date: Fri Mar 20 12:52:47 2009 +0100 ALSA: hda - Detect digital-mic inputs on ALC663 / ALC272 Fix the detection of digital-mic inputs on ALC663 / ALC272 codecs in the auto-detection mode. The automatic mic switch via plugging isn't implemented yet, though. Signed-off-by: Takashi Iwai commit c468ac29e63b9927275a94379d00b367f0f97c43 Author: Wolfram Sang Date: Fri Mar 20 10:08:11 2009 +0100 ALSA: sound/ali5451: typo: s/resouces/resources/ Signed-off-by: Wolfram Sang Signed-off-by: Takashi Iwai commit 505f2b970b2269ce4cb669b3ff4f6479d379cec2 Author: Ingo Molnar Date: Fri Mar 20 11:05:04 2009 +0100 tracing, Text Edit Lock - kprobes architecture independent support, nommu fix Impact: build fix on SH !CONFIG_MMU Stephen Rothwell reported this linux-next build failure on the SH architecture: kernel/built-in.o: In function `disable_all_kprobes': kernel/kprobes.c:1382: undefined reference to `text_mutex' [...] And observed: | Introduced by commit 4460fdad85becd569f11501ad5b91814814335ff ("tracing, | Text Edit Lock - kprobes architecture independent support") from the | tracing tree. text_mutex is defined in mm/memory.c which is only built | if CONFIG_MMU is defined, which is not true for sh allmodconfig. Move this lock to kernel/extable.c (which is already home to various kernel text related routines), which file is always built-in. Reported-by: Stephen Rothwell Cc: Paul Mundt Cc: Mathieu Desnoyers LKML-Reference: <20090320110602.86351a91.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit 3bf509230a626d11cba0e0145f552918092f586d Author: Rafael Ignacio Zurita Date: Fri Mar 20 02:08:22 2009 +0000 sh: fix the HD64461 level-triggered interrupts handling Rework the hd64461 demuxer code to fix the HD64461 level-triggered interrupts handling, using handle_level_irq() as needed. Signed-off-by: Rafael Ignacio Zurita Signed-off-by: Paul Mundt commit 7a8fe8e320251d25274e89f610ffee936769250a Author: Magnus Damm Date: Thu Mar 19 10:14:41 2009 +0000 sh: sh-rtc wakeup support Flag that the SuperH RTC supports wakeup. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit edf22477dab5ff3be612af56ee4300ca63e11d06 Author: Magnus Damm Date: Thu Mar 19 10:10:44 2009 +0000 sh: sh-rtc invalid time rework This patch modifies invalid time handling in the SuperH RTC driver. Instead of zeroing the returned value at read-out time we just return an error code and reset invalid values during probe. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9cd88b90a6008b0d744187fab80ade4c81c6536f Author: Magnus Damm Date: Thu Mar 19 10:05:58 2009 +0000 sh: sh-rtc carry interrupt rework This patch modifies the SuperH RTC driver to only enable carry interrupts when needed. So by default no interrupts are enabled with this patch. Without this patch a suspending system will most likely wake up by the carry interrupt regardless if the alarm interrupt has been enabled or not. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 615e73b3cd8876262f61ea28b4147c8de38a043a Author: Magnus Damm Date: Thu Mar 19 10:04:29 2009 +0000 sh: disallow kexec virtual entry Older versions of kexec-tools has a zImage loader that passes a virtual address as entry point. The elf loader otoh it passes a physical address as entry point, and pages are always passed as physical addresses as well. Only allow physical addresses from now on. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 70f454408e68fdba2c2529ab7d6ec3c3525e59f2 Author: Heiko Carstens Date: Fri Mar 20 09:24:10 2009 +0100 s390: remove arch specific smp_send_stop() Impact: build fix on s390 !CONFIG_SMP Remove arch specific smp_send_stop for !CONFIG_SMP since it conflicts with a new generic version. Reported-by: Stephen Rothwell Signed-off-by: Heiko Carstens Cc: Martin Schwidefsky LKML-Reference: <20090320092410.30d2bac3@osiris.boeblingen.de.ibm.com> Signed-off-by: Ingo Molnar commit 0f3507555f6fa4acbc85a646d6e8766230db38fc Author: venkatesh.pallipadi@intel.com Date: Thu Mar 19 14:51:15 2009 -0700 x86, CPA: Add set_pages_arrayuc and set_pages_array_wb Add new interfaces: set_pages_array_uc() set_pages_array_wb() that can be used change the page attribute for a bunch of pages with flush etc done once at the end of all the changes. These interfaces are similar to existing set_memory_array_uc() and set_memory_array_wc(). Signed-off-by: Venkatesh Pallipadi Cc: arjan@infradead.org Cc: eric@anholt.net Cc: airlied@redhat.com LKML-Reference: <20090319215358.901545000@intel.com> Signed-off-by: Ingo Molnar commit 9ae2847591c857bed44bc094b908b412bfa1b244 Author: venkatesh.pallipadi@intel.com Date: Thu Mar 19 14:51:14 2009 -0700 x86, PAT: Add support for struct page pointer array in cpa set_clr Add struct page array pointer to cpa struct and CPA_PAGES_ARRAY. With that we can add change_page_attr_set_clr() a parameter to pass struct page array pointer and that can be handled by the underlying cpa code. cpa_flush_array() is also changed to support both addr array or struct page pointer array, depending on the flag. Signed-off-by: Venkatesh Pallipadi Cc: arjan@infradead.org Cc: eric@anholt.net Cc: airlied@redhat.com LKML-Reference: <20090319215358.758513000@intel.com> Signed-off-by: Ingo Molnar commit 728c9518873de0bbb92b66daa1943b12e5b9f80f Author: venkatesh.pallipadi@intel.com Date: Thu Mar 19 14:51:13 2009 -0700 x86, CPA: Add a flag parameter to cpa set_clr() Change change_page_attr_set_clr() array parameter to a flag. This helps following patches which adds an interface to change attr to uc/wb over a set of pages referred by struct page. Signed-off-by: Venkatesh Pallipadi Cc: arjan@infradead.org Cc: eric@anholt.net Cc: Venkatesh Pallipadi Cc: airlied@redhat.com LKML-Reference: <20090319215358.611346000@intel.com> Signed-off-by: Ingo Molnar commit 7f00a2495bf5b98b097c47be5d6e2d4114ec39bf Merge: c58603e... 71ff49d... 5f64135... 65c2449... Author: Ingo Molnar Date: Fri Mar 20 10:34:22 2009 +0100 Merge branches 'x86/cleanups', 'x86/mm', 'x86/setup' and 'linus' into x86/core commit 2b1c4354de72ced917d2f3fe88117613f992234b Merge: 5e140df... 170ebf8... Author: David S. Miller Date: Fri Mar 20 02:27:41 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/virtio_net.c commit ac199db0189c091f2863312061c0575937f68810 Author: Peter Zijlstra Date: Thu Mar 19 20:26:15 2009 +0100 ftrace: event profile hooks Impact: new tracing infrastructure feature Provide infrastructure to generate software perf counter events from tracepoints. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090319194233.557364871@chello.nl> Signed-off-by: Ingo Molnar commit 28bea271e58e429eccfad3d7ee2ad12d6ee015bf Author: Peter Zijlstra Date: Thu Mar 19 20:26:14 2009 +0100 ftrace: ensure every event gets an id Impact: widen user-space visibe event IDs to all events Previously only TRACE_EVENT events got ids, because only they generated raw output which needs to be demuxed from the trace. In order to provide a unique ID for each event, register everybody, regardless. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090319194233.464914218@chello.nl> Signed-off-by: Ingo Molnar commit 23725aeeab10ba02bcf10ec49ad73146b54cb52f Author: Peter Zijlstra Date: Thu Mar 19 20:26:13 2009 +0100 ftrace: provide an id file for each event Since not every event has a format file to read the id from, expose it explicitly in a separate file. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090319194233.372534033@chello.nl> Signed-off-by: Ingo Molnar commit 44fc6ee92356aa3be31798ced220ab5abd898781 Merge: 22de89b... 5087f8d... Author: Ingo Molnar Date: Fri Mar 20 10:15:13 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 22de89b371a18086162eacd9f8c960299334ab01 Merge: 3bf832c... f02b862... a635cf0... 65c2449... Author: Ingo Molnar Date: Fri Mar 20 10:14:53 2009 +0100 Merge branches 'tracing/ftrace', 'tracing/kprobes', 'tracing/tasks' and 'linus' into tracing/core commit 5e140dfc1fe87eae27846f193086724806b33c7d Author: Eric Dumazet Date: Fri Mar 20 01:33:32 2009 -0700 net: reorder struct Qdisc for better SMP performance dev_queue_xmit() needs to dirty fields "state", "q", "bstats" and "qstats" On x86_64 arch, they currently span three cache lines, involving more cache line ping pongs than necessary, making longer holding of queue spinlock. We can reduce this to one cache line, by grouping all read-mostly fields at the beginning of structure. (Or should I say, all highly modified fields at the end :) ) Before patch : offsetof(struct Qdisc, state)=0x38 offsetof(struct Qdisc, q)=0x48 offsetof(struct Qdisc, bstats)=0x80 offsetof(struct Qdisc, qstats)=0x90 sizeof(struct Qdisc)=0xc8 After patch : offsetof(struct Qdisc, state)=0x80 offsetof(struct Qdisc, q)=0x88 offsetof(struct Qdisc, bstats)=0xa0 offsetof(struct Qdisc, qstats)=0xac sizeof(struct Qdisc)=0xc0 Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 408896d508794c98a2ac6b6e1dcd7a4888a4d32b Author: Huang Weiyi Date: Fri Mar 20 01:32:58 2009 -0700 dnet: remove duplicated #include Removed duplicated #include in drivers/net/dnet.c. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit 22d5a71b50df739abaee83e2fdb191f8aa6b037c Author: Jesse Brandeburg Date: Thu Mar 19 01:24:04 2009 +0000 ixgbe: Fixup the watchdog interrupt scheduling on 82599 The watchdog will schedule an interrupt to help make sure queues are cleaned in the case when an interrupt is missed, most likely due to very high load. On 82599, there are extra interrupt registers to account for the larger number of MSI-X vectors (64 total for 82599 vs. 18 total for 82598). These must be taken into account when performing this operation in the watchdog. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e63d9762929d9b86ac87cfb8047e7f7b1f2ed2dd Author: PJ Waskiewicz Date: Thu Mar 19 01:23:46 2009 +0000 ixgbe: Correctly report Wake On LAN for 82599 KX4 devices ethtool isn't reporting the support level of WoL for 82599 KX4 devices. While the device does support WoL, ethtool was never updated to properly report the level of support, nor will it allow ethtool to modify the type of packets to listen for. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 03cfa2054846a9902f0c10bea4680447050f03fa Author: PJ Waskiewicz Date: Thu Mar 19 01:23:29 2009 +0000 ixgbe: Fix PCI bus reporting on driver load for 82598 after 82599 merge 82598's PCI bus reporting on driver load was broken after 82599 merged. This results in incorrect reporting, and an erroneous warning message that the 82598 is in a PCIe slot that isn't fast enough to run 10GbE. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fe52eeb82b746de441ed27c54ace940efe86bc9a Author: Alexander Duyck Date: Thu Mar 19 01:15:21 2009 +0000 ixgb: refactor tx path to use skb_dma_map/unmap This code updates ixgb so that it can use the skb_dma_map/unmap functions to map the buffers. In addition it also updates the tx hang logic to use time_stamp instead of dma to determine if it has detected a tx hang. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5f66f208064f083aab5e55935d0575892e033b59 Author: Arthur Jones Date: Thu Mar 19 01:13:08 2009 +0000 e1000e: allow tx of pre-formatted vlan tagged packets As with igb, when the e1000e driver is fed 802.1q packets with hardware checksum on, it chokes with an error of the form: checksum_partial proto=81! As the logic there was not smart enough to look into the vlan header to pick out the encapsulated protocol. There are times when we'd like to send these packets out without having to configure a vlan on the interface. Here we check for the vlan tag and allow the packet to go out wiht the correct hardware checksum. Thanks to Kand Ly for discovering the issue and the coming up with a solution. This patch is based upon his work. Fixups from Stephen Hemminger and Alexander Duyck Signed-off-by: Arthur Jones Signed-off-by: Jeff Kirsher CC: Stephen Hemminger CC: Alexander Duyck Signed-off-by: David S. Miller commit 1b7719c4559dc1522065d4cfd033f8bb8f969159 Author: Alexander Duyck Date: Thu Mar 19 01:12:50 2009 +0000 e1000e: fix dma error handling issues There were a few issues I noticed in e1000e. These include a double free of the skb if mapping fails, and the fact that context descriptors appear to be left in the descriptor ring after the failure. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8c81c9c315b7e7e240906fab0e8dde1595101bd2 Author: Alexander Duyck Date: Thu Mar 19 01:12:27 2009 +0000 e1000e: add support for 82583 device id Add device ID and related support for 82583 mac. Signed-off-by: Alexander Duyck Acked-by: Radheka Godse Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cd7a3b75ba7af7d14a264fe3d414fcc74307f748 Author: Steve Glendinning Date: Fri Mar 20 01:14:53 2009 -0700 smsc9420: fix big endian rx checksum offload The cpu_to_le16 here looks suspicious to me, I don't think we need it because put_unaligned_le16 also does this. I don't currently have any big endian hardware with a PCI bus available to test on, so I haven't been able to verify this. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 8fd17f2e6c973efdb2e3fcb5026d204441dd01fd Author: David S. Miller Date: Fri Mar 20 00:51:22 2009 -0700 sunvnet: Convert to net_device_ops. Signed-off-by: David S. Miller commit 225ddf498cc99ead1d11ed1aaf1887e24e1007fa Author: Steve Glendinning Date: Thu Mar 19 00:24:46 2009 +0000 smsc911x: allow setting of mac address This patch replaces the generic eth_mac_addr function with one that also updates the hardware mac address registers. It also renames the existing smsc911x_set_mac_address function to smsc911x_hw_set_mac_address for clarity. Newer LAN911x and all LAN921x devices also support changing the mac address while the device is running, which is useful for some bonding modes. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 63a2ebb079d72f10ea7b89b85c2cd4ecc60edc61 Author: Steve Glendinning Date: Thu Mar 19 00:24:45 2009 +0000 smsc911x: replace print_mac with %pM Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 785b6f977a89aaabc3dd3e3bfc87f36015cb8050 Author: Steve Glendinning Date: Thu Mar 19 00:24:44 2009 +0000 smsc911x: define status word positions as constants The vast majority of bit constants in this driver are defined in the header file, but TX and RX status word bits are not. This patch (which should make no functional change) defines these, to make the driver slightly more readable. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 2e1ab634bf013792d8803ec57c7a428a76f50028 Author: Stephen Hemminger Date: Thu Mar 19 23:49:41 2009 -0700 rtnetlink: add new value for DHCP added routes To improve manageability, it would be good to be able to disambiguate routes added by administrator from those added by DHCP client. The only necessary kernel change is to add value to rtnetlink include file so iproute2 utility can use it. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 77ecfe8d427f554fabbf258e9d789f1d4c3afd63 Merge: 8d73f10... a7e1cf0... Author: Benjamin Herrenschmidt Date: Fri Mar 20 16:27:57 2009 +1100 Merge commit 'gcl/next' into next commit 8d73f102d9606fe217a9577a437f84b9fed6d45d Merge: a7d2dac... e41c615... Author: Benjamin Herrenschmidt Date: Fri Mar 20 15:58:27 2009 +1100 Merge commit 'kumar/next' into next commit a7d2dac802a7ff0677b0a5c2fdb9fe0d3fdaee0c Author: Benjamin Herrenschmidt Date: Tue Mar 10 17:53:30 2009 +0000 powerpc/mm: Unify PTE_RPN_SHIFT and _PAGE_CHG_MASK definitions This updates the 32-bit headers to use the same definitions for the RPN shift inside the PTE as 64-bit, and thus updates _PAGE_CHG_MASK to become identical. This does introduce a runtime visible difference, which is that now, _PAGE_HASHPTE will be part of _PAGE_CHG_MASK and thus preserved. However this should have no practical effect as it should have been preserved in the first place and we got away with not having it there due to our PTE access functions preserving it anyway. Signed-off-by: Benjamin Herrenschmidt commit c605782b1c3f1c18a55dc1a75b19ed0288f61ac3 Author: Benjamin Herrenschmidt Date: Tue Mar 10 17:53:29 2009 +0000 powerpc/mm: Split the various pgtable-* headers based on MMU type This patch moves the definition of the PTE format for each MMU type to separate files instead of all in one file. This improves overall maintainability and will make it easier to add new types. On 64-bit, additionally, I've separated the headers relative to the format of the page table tree (3 vs. 4 levels for 64K vs 4K pages) from the headers specific to the PTE format for hash based processors, this will make it easier to add support for Book3 "E" 64-bit implementations. There are still some type-related ifdef's in the generic headers, we might remove them in the long run, but this patch shouldn't result in any code change, -hopefully- just definitions being moved around. Signed-off-by: Benjamin Herrenschmidt commit 10a0ef39fbd1d484c2bbc1ffd83d57ecef209140 Author: Ivan Kokshaysky Date: Tue Feb 17 13:46:53 2009 +0300 PCI/alpha: pci sysfs resources This closes http://bugzilla.kernel.org/show_bug.cgi?id=10893 which is a showstopper for X development on alpha. The generic HAVE_PCI_MMAP code (drivers/pci-sysfs.c) is not very useful since we have to deal with three different types of MMIO address spaces: sparse and dense mappings for old ev4/ev5 machines and "normal" 1:1 MMIO space (bwx) for ev56 and later. Also "write combine" mappings are meaningless on alpha - roughly speaking, alpha does write combining, IO reordering and other optimizations by default, unless user splits IO accesses with memory barriers. I think the cleanest way to deal with resource files on alpha is to convert the default no-op pci_create_resource_files() and pci_remove_resource_files() for !HAVE_PCI_MMAP case into __weak functions and override them with alpha specific ones. Another alpha hook is needed for "legacy_" resource files to handle sparse addressing (pci_adjust_legacy_attr). With the "standard" resourceN files on ev56/ev6 libpciaccess works "out of the box". Handling of resourceN_sparse/resourceN_dense files on older machines obviously requires some userland work. Sparse/dense stuff has been tested on sx164 (pca56/pyxis, normally uses bwx IO) with the kernel hacked into "cia compatible" mode. Signed-off-by: Ivan Kokshaysky Signed-off-by: Jesse Barnes commit ea7415512a07add2b09c070c9a5d1950833cf9b3 Author: Andrew Morton Date: Wed Feb 18 10:44:29 2009 -0800 PCI: constify pci_bus_assign_resources() drivers/pci/hotplug/fakephp.c: In function 'pci_rescan_bus': drivers/pci/hotplug/fakephp.c:271: warning: passing argument 1 of 'pci_bus_assign_resources' discards qualifiers from pointer target type Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit c48f1670f42b71f39f4a3bfba01ffb691cc9206c Author: akpm@linux-foundation.org Date: Tue Feb 3 15:45:26 2009 -0800 PCI: constify pci_bus_add_devices() drivers/pci/hotplug/fakephp.c:283: warning: passing argument 1 of 'pci_bus_add_devices' discards qualifiers from pointer target type Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit b5fbf53324f65646154e172af350674d5a2a1629 Author: Michael Ellerman Date: Wed Feb 11 22:27:02 2009 +1100 PCI/MSI: Allow arch code to return the number of MSI-X available There is code in msix_capability_init() which, when the requested number of MSI-X couldn't be allocated, calculates how many MSI-X /could/ be allocated and returns that to the driver. That allows the driver to then make a second request, with a number of MSIs that should succeed. The current code requires the arch code to setup as many msi_descs as it can, and then return to the generic code. On some platforms the arch code may already know how many MSI-X it can allocate, before it sets up any of the msi_descs. So change the logic such that if the arch code returns a positive error code, that is taken to be the number of MSI-X that could be allocated. If the error code is negative we still calculate the number available using the old method. Because it's a little subtle, make sure the error return code from arch_setup_msi_irq() is always negative. That way only implementations of arch_setup_msi_irqs() need to be careful about returning a positive error code. Signed-off-by: Michael Ellerman Signed-off-by: Jesse Barnes commit 35e1801ea637810830e653ffe7ff62c7048ae03a Author: Roel Kluin Date: Wed Feb 11 21:13:45 2009 +0100 PCI hotplug: shpchp: fix bus number check to avoid false positive With for (busnr = 0; busnr <= end; busnr++) { ... } busnr reaches end + 1 after the loop. So fix the "no busses available" check to look for just busnr > end rather than >=. Signed-off-by: Roel Kluin Signed-off-by: Jesse Barnes commit 9f5404d8ea90bfa4d58a3936e5a3d0d28cecf60f Author: Kenji Kaneshige Date: Mon Feb 9 16:00:04 2009 +0900 PCI/ACPI: rename pci_osc_control_set() - Rename pci_osc_control_set() to acpi_pci_osc_control_set() according to the other API names in drivers/acpi/pci_root.c. - Move _OSC related definitions to include/linux/acpi.h because _OSC related API is implemented in drivers/acpi/pci_root.c now. Signed-off-by: Kenji Kaneshige Reviewed-by: Andrew Patterson Tested-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 63f10f0f6df4e4e860b790d64bebfde85b540b0a Author: Kenji Kaneshige Date: Mon Feb 9 15:59:29 2009 +0900 PCI/ACPI: move _OSC code to pci_root.c Move PCI _OSC management code from drivers/pci/pci-acpi.c to drivers/acpi/pci_root.c. The benefits are - We no longer need struct osc_data and its management code (contents are moved to struct acpi_pci_root). This simplify the code, and we no longer care about kmalloc() failure. - We can make pci_acpi_osc_support() be a static function, which is called only from drivers/acpi/pci_root.c. Signed-off-by: Kenji Kaneshige Reviewed-by: Andrew Patterson Tested-by: Andrew Patterson Acked-by: Alex Chiang Signed-off-by: Jesse Barnes commit 5fe5db05f64d0d10b563b1c13b58e4a52b190686 Author: Sheng Yang Date: Mon Feb 9 14:53:47 2009 +0800 PCI: Speed up device reset function For all devices need to do function level reset, currently we need wait for at least 200ms, which can be too long if we have lots of devices... The patch checked pending bit before msleep() to skip some unnecessary sleeping interval. Signed-off-by: Sheng Yang Signed-off-by: Jesse Barnes commit 4c9c16867e4980fbd7d1fcc9516c9269ecb4d06f Author: Jiri Slaby Date: Mon Dec 8 16:19:14 2008 +0100 PCI quirk: don't mark one netmos as class other Let it stay as serial, since it doesn't have subdevice in the form of 0x00PS. Signed-off-by: Jiri Slaby Signed-off-by: Jesse Barnes commit 62795041418dd63cd9ff6ff7bbdf1d1c513c189b Author: Alex Chiang Date: Wed Feb 4 11:25:22 2009 -0700 PCI: enhance physical slot debug information Convert usages of pr_debug to dev_dbg and add physical slot name. Note that we use dev_dbg on the struct pci_bus and still manually print out the PCI slot number (instead of calling dev_dbg on a pci_dev) because a struct pci_bus with empty physical slots will not have any pci_devs. Reviewed-by: Andrew Patterson Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 6a82e21823058eea95325005b79f3b8c9492460f Author: Kenji Kaneshige Date: Tue Feb 3 15:06:18 2009 +0900 PCI: pciehp: make cmd_busy flag one bit The cmd_busy field in struct controller takes only two values 0 or 1. So it should be one bit. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 99f0169c17f334a11b0ace91188501c612f3e1e6 Author: Kenji Kaneshige Date: Tue Feb 3 15:06:16 2009 +0900 PCI: pciehp: enable software notification on empty slots Current pciehp disables software notification of adapter presence changed event and MRL changed event when slot is turned off. Because of this, there is no way to detect those events on empty slots in the current pciehp implementation. According to the past discussion(*), this behavior was introduced to prevent endless loop that could happen if pcie_isr() runs after power fault is detected on a certain platform whose stickey power-fault bit remains on till the slot is powered on again. (*) http://sourceforge.net/mailarchive/message.php?msg_id=20051130135409.A14918%40unix-os.sc.intel.com I think this endless loop can be avoided using one bit flag that indicates power fault had been detected, instead of disabling software notification of adapter present changed event and MRL changed event. With this patch, we can enable software notification mechanism of presence changed and MRL changed event on the empty slots again. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 81b840cd27e3ee9af67b6e05a4847868f74fce69 Author: Kenji Kaneshige Date: Tue Feb 3 15:06:13 2009 +0900 PCI: pciehp: fix possible endless loop in pcie_isr Fix possible endless loop in pcie_isr. Currently, pcie_isr() (interrupt service routine of pciehp) can end up in an endless loop if the Slot Status register is set again immediately after being cleared. According to the past discussion (see below URL) this case can happen if the power fault detected bit is set during handling. http://sourceforge.net/mailarchive/message.php?msg_id=20051130135409.A14918%40unix-os.sc.intel.com Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 0b3e7388e3b438500aaa0630879ce536747a47ca Author: Julia Lawall Date: Sun Feb 8 22:45:24 2009 +0100 PCI: introduce missing kfree Error handling code following a kmalloc should free the allocated data. Since the subsequent code that could provoke an error does not use the allocated data, the allocation is just moved below it. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Reviewed-by: Matthew Wilcox Reviewed-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 1c35b8e538cb6259accb215099cdb673310cad84 Author: Frank Seidel Date: Fri Feb 6 10:23:36 2009 +0100 PCI: add missing KERN_* constants to printks According to kerneljanitors todo list all printk calls (beginning a new line) should have an according KERN_* constant. Those are the missing pieces here for the pci subsystem. Signed-off-by: Frank Seidel Reviewed-by: Kenji Kaneshige Tested-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 2b56313448bb8efad3af19f211d988c8352ac04d Author: Yu Zhao Date: Wed Jan 28 18:27:21 2009 +0800 PCI: check if a bus is added when removing it When removing a bus, 'is_added' should be checked to make sure the bus has been successfully added by pci_bus_add_child() who will sets 'is_added'. Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 11df1f05514beaf0269484191007dbc8d47e0e6f Author: Michael Ellerman Date: Mon Jan 19 11:31:00 2009 +1100 PCI/MSI: Use #ifdefs instead of weak functions Weak functions aren't all they're cracked up to be. They lead to incorrect binaries with some toolchains, they require us to have empty functions we otherwise wouldn't, and the unused code is not elided (as of gcc 4.3.2 anyway). So replace the weak MSI arch hooks with the #define foo foo idiom. We no longer need empty versions of arch_setup/teardown_msi_irq(). This is less source (by 1 line!), and results in smaller binaries too: text data bss dec hex filename 9354300 1693916 678424 11726640 b2ef30 build/powerpc/vmlinux-before 9354052 1693852 678424 11726328 b2edf8 build/powerpc/vmlinux-after Also smaller on x86_64 and arm (iop13xx). Signed-off-by: Michael Ellerman Signed-off-by: Jesse Barnes commit b43d451385ef833e0696032aac2629da04d46c59 Author: Rafael J. Wysocki Date: Sat Jan 24 00:23:22 2009 +0100 PCI/PCIe portdrv: Fix allocation of interrupts If MSI-X interrupt mode is used by the PCI Express port driver, too many vectors are allocated and it is not ensured that the right vectors will be used for the right services. Namely, the PCI Express specification states that both PCI Express native PME and PCI Express hotplug will always use the same MSI or MSI-X message for signalling interrupts, which implies that the same vector will be used by both of them. Also, the VC service does not use interrupts at all. Moreover, is not clear which of the vectors allocated by pci_enable_msix() in the current code will be used for PME and hotplug and which of them will be used for AER if all of these services are configured. For these reasons, rework the allocation of interrupts for PCI Express ports so that if MSI-X are enabled, the right vectors will be used for the right purposes. Signed-off-by: Rafael J. Wysocki Reviewed-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit a52e2e3513d4beafe8fe8699f1519b021c2d05ba Author: Rafael J. Wysocki Date: Sat Jan 24 00:21:14 2009 +0100 PCI/MSI: Introduce pci_msix_table_size() Introduce new function pci_msix_table_size() returning the size of the MSI-X table of given PCI device or 0 if the device doesn't support MSI-X. Signed-off-by: Rafael J. Wysocki Reviewed-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit a447b772826fde2a3abfd9bb943dee8750994c55 Author: Kay Sievers Date: Sun Jan 25 23:53:56 2009 +0100 PCI: struct device - replace bus_id with dev_name(), dev_set_name() More dev_set_name conversion. Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Jesse Barnes commit 22106368c999246c414610dcaacd485e741605b1 Author: Rafael J. Wysocki Date: Tue Jan 13 14:46:46 2009 +0100 PCI: PCIe portdrv: Remove struct pcie_port_service_id The PCI Express port driver uses 'struct pcie_port_service_id' for matching port service devices and drivers, but this structure contains fields that duplicate information from the port device itself (vendor, device, subvendor, subdevice) and fields that are not used by any existing port service driver (class, class_mask, drvier_data). Also, both existing port service drivers (AER and PCIe HP) don't even use the vendor and device fields for device matching. Therefore 'struct pcie_port_service_id' can be removed altogether and the only useful members of it (port_type, service) can be introduced directly into the port service device and port service driver structures. That simplifies the code quite a bit and reduces its size. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 0516c8bcd25293f438573101c439ce25a18916ad Author: Rafael J. Wysocki Date: Tue Jan 13 14:44:19 2009 +0100 PCI: PCIe portdrv: Simplily probe callback of service drivers The second argument of the ->probe() callback in struct pcie_port_service_driver is unnecessary and never used. Remove it. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 87d2e2ecf6026efa64b01f7f71802b20da736d35 Author: Rafael J. Wysocki Date: Tue Jan 13 14:43:07 2009 +0100 PCI: PCIe portdrv: Remove unnecessary function The function pcie_portdrv_save_config() in portdrv_pci.c is not necessary. Remove it. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit f118c0c3cff4fed39bde1863f9d59850719645cc Author: Rafael J. Wysocki Date: Tue Jan 13 14:42:01 2009 +0100 PCI: PCIe portdrv: Do not enable port device before setting up interrupts The PCI Express port driver calls pci_enable_device() before setting up interrupts, which is wrong, because if there is an interrupt pin configured for the port, pci_enable_device() will likely set up an interrupt link for it. However, this shouldn't be done if either MSI or MSI-X interrupt mode is chosen for the port. The solution is to call pci_enable_device() after setting up interrupts, because in that case the interrupt link won't be set up if MSI or MSI-X are enabled. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 90e9cd50f7feeddc911325c8a8c1b7e1fccc6599 Author: Rafael J. Wysocki Date: Tue Jan 13 14:39:39 2009 +0100 PCI: PCIe portdrv: Aviod using service devices with wrong interrupts The PCI Express port driver should not attempt to register service devices that require the ability to generate interrupts if generating interrupts is not possible. Namely, if the port has no interrupt pin configured and we cannot set up MSI or MSI-X for it, there is no way it can generate interrupts and in such a case the port services that rely on interrupts (PME, PCIe HP, AER) should not be enabled for it. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 1bf83e558cb29d163f4bc6decbc3800ecf4db195 Author: Rafael J. Wysocki Date: Tue Jan 13 14:38:34 2009 +0100 PCI: PCIe portdrv: Use driver data to simplify code PCI Express port driver extension, as defined by struct pcie_port_device_ext in portdrv.h, is allocated and initialized, but never used (it also is never freed). Extend it to hold the PCI Express port type as well as the port interrupt mode, change its name and use it to simplify the code in portdrv_core.c . Additionally, remove the redundant interrupt_mode member of struct pcie_device defined in include/linux/pcieport_if.h . Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit e496b617b40f2abf6d49803f56aa1344ce1b9177 Author: Harvey Harrison Date: Wed Jan 7 16:22:37 2009 -0800 PCI: __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Jesse Barnes commit 1cc0ca26c57221f5aa0f49a311a8fc83413dfe97 Author: Bjorn Helgaas Date: Wed Jan 14 10:04:36 2009 -0700 PCI/x86: document pci=earlydump argument Document the "pci=earlydump" argument. This currently only works on x86. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 7bc9e77dcc6edf6ce0b3e4677b1e7f4a05b95b85 Author: Bjorn Helgaas Date: Wed Jan 14 10:04:30 2009 -0700 PCI/x86: format early dump like other PCI output Use %02x:%02x.%d rather than %02x:%02x:%02x so PCI addresses look the same as in other parts of the kernel. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 600914ba524130583fa5acdd00df4aa7aa44b173 Author: Bjorn Helgaas Date: Wed Jan 14 10:04:25 2009 -0700 PCI/x86: make early dump handle multi-function devices The early "dump PCI config space" code skips many multi-function devices. This patch fixes that, so it dumps all devices in PCI domain 0. We should not skip the rest of the functions if CLASS_REVISION is 0xffffffff. Often multi-function devices have gaps in the function ID space, e.g., 1c.0 and 1c.2 exist but 1c.1 doesn't. The CLASS_REVISION of the non-existent 1c.1 function will appear to be 0xffffffff. We should only look at the HEADER_TYPE of function zero. Often the "multi-function" is set in function zero, but not in other functions. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 7d83f8fca517b123cf0136503a9e50974f65ec49 Merge: be093be... 569106c... Author: Russell King Date: Thu Mar 19 23:10:40 2009 +0000 Merge branch 'master' of git://git.marvell.com/orion into devel Conflicts: arch/arm/mach-mx1/devices.c commit 5087f8d2a2f2daff5a913d72d8ea3ad601948e10 Author: Steven Rostedt Date: Thu Mar 19 15:14:46 2009 -0400 function-graph: show binary events as comments With the added TRACE_EVENT macro, the events no longer appear in the function graph tracer. This was because the function graph did not know how to display the entries. The graph tracer was only aware of its own entries and the printk entries. By using the event call back feature, the graph tracer can now display the events. # echo irq > /debug/tracing/set_event Which can show: 0) | handle_IRQ_event() { 0) | /* irq_handler_entry: irq=48 handler=eth0 */ 0) | e1000_intr() { 0) 0.926 us | __napi_schedule(); 0) 3.888 us | } 0) | /* irq_handler_exit: irq=48 return=handled */ 0) 0.655 us | runqueue_is_locked(); 0) | __wake_up() { 0) 0.831 us | _spin_lock_irqsave(); The irq entry and exit events show up as comments. Signed-off-by: Steven Rostedt commit 40ce74f19c28077550646c76d96a075bf312e461 Author: Steven Rostedt Date: Thu Mar 19 14:03:53 2009 -0400 tracing: remove recording function depth from trace_printk The function depth in trace_printk was to facilitate the function graph output. Now that the function graph calculates the depth within the trace output, we no longer need to record the depth when the trace_printk is called. Signed-off-by: Steven Rostedt commit 2fbcdb35aca614f9529a0e7d340146cf0b71684f Author: Steven Rostedt Date: Thu Mar 19 13:24:42 2009 -0400 function-graph: calculate function depth within function graph tracer Currently, the function graph tracer depends on the trace_printk to record the depth. All the information is already there in the trace to calculate function depth, with the exception of having the printk be the first item. But as soon as a entry or exit is reached, then we know the depth. This patch changes the iter->private data from recording a per cpu last_pid, to a structure that holds both the last_pid and the current depth. This data is used to determine the function depth for the printks. Signed-off-by: Steven Rostedt commit 5ef841f6f32dce0b752a4fa0622781ee67a0e874 Author: Steven Rostedt Date: Thu Mar 19 12:20:38 2009 -0400 tracing: make print_(b)printk_msg_only global This patch makes print_printk_msg_only and print_bprintk_msg_only global for other functions to use. It also renames them by adding a "trace_" to the beginning to avoid namespace collisions. Signed-off-by: Steven Rostedt commit 7fe5c398fc2186ed586db11106a6692d871d0d58 Author: Trond Myklebust Date: Thu Mar 19 15:35:50 2009 -0400 NFS: Optimise NFS close() Close-to-open cache consistency rules really only require us to flush out writes on calls to close(), and require us to revalidate attributes on the very last close of the file. Currently we appear to be doing a lot of extra attribute revalidation and cache flushes. Signed-off-by: Trond Myklebust commit b1e4adf4ea41bb8b5a7bfc1a7001f137e65495df Author: Trond Myklebust Date: Thu Mar 19 15:35:49 2009 -0400 NFS: Fix the notifications when renaming onto an existing file NFS appears to be returning an unnecessary "delete" notification when we're doing an atomic rename. See http://bugzilla.gnome.org/show_bug.cgi?id=575684 The fix is to get rid of the redundant call to d_delete(). Signed-off-by: Trond Myklebust commit 47c62564200609b6de60f535f61f0c73dd10c7c9 Author: Trond Myklebust Date: Mon Mar 16 08:13:41 2009 -0400 NFS: Fix up a mismerged patch Move the definition of nfs_need_commit() into the #ifdef CONFIG_NFS_V3 section as originally intended in the patch "NFS: cleanup - remove struct nfs_inode->ncommit" Signed-off-by: Trond Myklebust commit 2e3c230bc7149a6af65d26a0c312e230e0c33cc3 Author: Tom Talpey Date: Thu Mar 12 22:21:21 2009 -0400 SVCRDMA: fix recent printk format warnings. printk formats in prior commit were reversed/incorrect. Compiled without warning on x86 and x86_64, but detected on ppc. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 55420c24a0d4d1fce70ca713f84aa00b6b74a70e Author: Trond Myklebust Date: Wed Mar 11 15:29:24 2009 -0400 SUNRPC: Ensure we close the socket on EPIPE errors too... As long as one task is holding the socket lock, then calls to xprt_force_disconnect(xprt) will not succeed in shutting down the socket. In particular, this would mean that a server initiated shutdown will not succeed until the lock is relinquished. In order to avoid the deadlock, we should ensure that xs_tcp_send_request() closes the socket on EPIPE errors too. Signed-off-by: Trond Myklebust commit b61d59fffd3e5b6037c92b4c840605831de8a251 Author: Trond Myklebust Date: Wed Mar 11 14:38:04 2009 -0400 SUNRPC: xs_tcp_connect_worker{4,6}: merge common code Signed-off-by: Trond Myklebust commit 25fe6142a57c720452c5e9ddbc1f32309c1e5c19 Author: Trond Myklebust Date: Wed Mar 11 14:38:03 2009 -0400 SUNRPC: Add a sysctl to control the duration of the socket linger timeout Signed-off-by: Trond Myklebust commit 7d1e8255cf959fba7ee2317550dfde39f0b936ae Author: Trond Myklebust Date: Wed Mar 11 14:38:03 2009 -0400 SUNRPC: Add the equivalent of the linger and linger2 timeouts to RPC sockets This fixes a regression against FreeBSD servers as reported by Tomas Kasparek. Apparently when using RPC over a TCP socket, the FreeBSD servers don't ever react to the client closing the socket, and so commit e06799f958bf7f9f8fae15f0c6f519953fb0257c (SUNRPC: Use shutdown() instead of close() when disconnecting a TCP socket) causes the setup to hang forever whenever the client attempts to close and then reconnect. We break the deadlock by adding a 'linger2' style timeout to the socket, after which, the client will abort the connection using a TCP 'RST'. The default timeout is set to 15 seconds. A subsequent patch will put it under user control by means of a systctl. Signed-off-by: Trond Myklebust commit be093beb608edf821b45fe00a8a080fb5c6ed4af Author: Russell King Date: Thu Mar 19 16:20:24 2009 +0000 [ARM] pass reboot command line to arch_reset() OMAP wishes to pass state to the boot loader upon reboot in order to instruct it whether to wait for USB-based reflashing or not. There is already a facility to do this via the reboot() syscall, except we ignore the string passed to machine_restart(). This patch fixes things to pass this string to arch_reset(). This means that we keep the reboot mode limited to telling the kernel _how_ to perform the reboot which should be independent of what we request the boot loader to do. Acked-by: Tony Lindgren Signed-off-by: Russell King commit 07a1e81355245ca65ab16c7b4ae2332e52ed7acd Author: Takashi Iwai Date: Thu Mar 19 17:08:19 2009 +0100 ALSA: hda - Don't show the current connection for power widgets The power-widgets have no connection selection, so skip the check in proc output, too. Signed-off-by: Takashi Iwai commit 3bf832ce1fe6988148d392599f34ca0c6a34427d Author: Frederic Weisbecker Date: Thu Mar 19 14:47:33 2009 +0100 tracing/ring-buffer: fix non cpu hotplug case Impact: fix warning with irqsoff tracer The ring buffer allocates its buffers on pre-smp time (early_initcall). It means that, at first, only the boot cpu buffer is allocated and the ring-buffer cpumask only has the boot cpu set (cpu_online_mask). Later, the secondary cpu will show up and the ring-buffer will be notified about this event: the appropriate buffer will be allocated and the cpumask will be updated. Unfortunately, if !CONFIG_CPU_HOTPLUG, the ring-buffer will not be notified about the secondary cpus, meaning that the cpumask will have only the cpu boot set, and only one cpu buffer allocated. We fix that by using cpu_possible_mask if !CONFIG_CPU_HOTPLUG. This patch fixes the following warning with irqsoff tracer running: [ 169.317794] WARNING: at kernel/trace/trace.c:466 update_max_tr_single+0xcc/0xf3() [ 169.318002] Hardware name: AMILO Li 2727 [ 169.318002] Modules linked in: [ 169.318002] Pid: 5624, comm: bash Not tainted 2.6.29-rc8-tip-02636-g6aafa6c #11 [ 169.318002] Call Trace: [ 169.318002] [] warn_slowpath+0xea/0x13d [ 169.318002] [] ? ftrace_call+0x5/0x2b [ 169.318002] [] ? ftrace_call+0x5/0x2b [ 169.318002] [] ? ftrace_call+0x0/0x2b [ 169.318002] [] ? ftrace_modify_code+0xa9/0x108 [ 169.318002] [] ? trace_hardirqs_off+0x25/0x27 [ 169.318002] [] ? _spin_unlock_irqrestore+0x1f/0x2d [ 169.318002] [] ? ring_buffer_reset_cpu+0xf6/0xfb [ 169.318002] [] ? ring_buffer_reset+0x36/0x48 [ 169.318002] [] update_max_tr_single+0xcc/0xf3 [ 169.318002] [] ? sysret_check+0x22/0x5d [ 169.318002] [] stop_critical_timing+0x142/0x204 [ 169.318002] [] trace_hardirqs_on_caller+0x23/0x25 [ 169.318002] [] trace_hardirqs_on_thunk+0x3a/0x3c [ 169.318002] [] ? sysret_check+0x22/0x5d [ 169.318002] ---[ end trace db76cbf775a750cf ]--- Because this tracer may try to swap two cpu ring buffers for an unregistered cpu on the ring buffer. This patch might also fix a fair loss of traces due to unallocated buffers for secondary cpus. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Acked-b: Steven Rostedt LKML-Reference: <1237470453-5427-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ac5f6c96859e9a664ac05b04bc96ed1caad5fe29 Author: Steven Rostedt Date: Thu Mar 19 11:29:23 2009 -0400 function-graph: consolidate prologues for output Impact: clean up The prologue of the function graph entry, return and comments all start out pretty much the same. Each of these duplicate code and do so slightly differently. This patch consolidates the printing of the pid, absolute time, cpu and proc (and for entry, the interrupt). Signed-off-by: Steven Rostedt commit 1f2186951e02f2a5bcda9459f63136918932385a Author: Takashi Iwai Date: Thu Mar 19 14:08:58 2009 +0100 ALSA: Fix wrong pointer to dev_err() in arm/pxa2xx-ac97-lib.c Fix the wrong device pointer passed to dev_err(). Signed-off-by: Takashi Iwai commit 71ff49d71bb5cfcd2689b54cb433c0e6990a1d86 Author: Jeremy Fitzhardinge Date: Wed Mar 18 13:03:33 2009 -0700 x86: with the last user gone, remove set_pte_present Impact: cleanup set_pte_present() is no longer used, directly or indirectly, so remove it. Signed-off-by: Jeremy Fitzhardinge Cc: Xen-devel Cc: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Marcelo Tosatti Cc: Avi Kivity LKML-Reference: <1237406613-2929-2-git-send-email-jeremy@goop.org> Signed-off-by: Ingo Molnar commit b40c757964bbad76ecfa88eda9eb0b4d76dd8b40 Author: Jeremy Fitzhardinge Date: Wed Mar 18 13:03:32 2009 -0700 x86/32: no need to use set_pte_present in set_pte_vaddr Impact: cleanup, remove last user of set_pte_present set_pte_vaddr() is only used to install ptes in fixmaps, and should never be used to overwrite a present mapping. Signed-off-by: Jeremy Fitzhardinge Cc: Xen-devel LKML-Reference: <1237406613-2929-1-git-send-email-jeremy@goop.org> Signed-off-by: Ingo Molnar commit 8c083f081d0014057901c68a0a3e0f8ca7ac8d23 Author: Rusty Russell Date: Thu Mar 19 15:22:20 2009 +1030 cpumask: remove cpumask allocation from idle_balance, fix Impact: fix boot crash Fix typo in the size calculation. Reported-by: Ingo Molnar Signed-off-by: Rusty Russell LKML-Reference: Signed-off-by: Ingo Molnar commit 14b6848bc0134b8838d374c423df3edda9b1490e Merge: 05d9881... 4da3782... Author: Russell King Date: Thu Mar 19 12:39:58 2009 +0000 Merge branch 'omap-clks3' into devel Conflicts: arch/arm/mach-omap2/clock.c commit 4a44bac1f98223ed77e47bf3b42fcfd10cddd85f Author: Ingo Molnar Date: Thu Mar 19 13:21:44 2009 +0100 symbols, stacktrace: look up init symbols after module symbols Impact: fix incomplete stacktraces I noticed such weird stacktrace entries in lockdep dumps: [ 0.285956] {HARDIRQ-ON-W} state was registered at: [ 0.285956] [] mark_irqflags+0xbe/0x125 [ 0.285956] [] __lock_acquire+0x674/0x82d [ 0.285956] [] lock_acquire+0xfc/0x128 [ 0.285956] [] rt_spin_lock+0xc8/0xd0 [ 0.285956] [] 0xffffffffffffffff The stacktrace entry is cut off after rt_spin_lock. After much debugging i found out that stacktrace entries that belong to init symbols dont get printed out, due to commit: a2da405: module: Don't report discarded init pages as kernel text. The reason is this check added to core_kernel_text(): - if (addr >= (unsigned long)_sinittext && + if (system_state == SYSTEM_BOOTING && + addr >= (unsigned long)_sinittext && addr <= (unsigned long)_einittext) return 1; This will discard inittext symbols even though their symbol table is still present and even though stacktraces done while the system was booting up might still be relevant. To not reintroduce the (not well-specified) bug addressed in that commit, first do a module symbols lookup, then a final init-symbols lookup. This will work fine on architectures that have separate address spaces for modules (such as x86) - and should not crash any other architectures either. Acked-by: Peter Zijlstra Cc: Rusty Russell LKML-Reference: Signed-off-by: Ingo Molnar commit 632087748c3795a54d5631e640df65592774e045 Author: Lopez Cruz, Misael Date: Thu Mar 19 01:07:34 2009 -0500 ASoC: Declare Headset as Mic and Headphone widgets for SDP3430 Headset was declared previously as a Headphone widget connecting HSMIC and HSOL/HSOR pins of TWL4030 codec in SDP430 machine driver. The capture path becomes invalid as the Headphone widget is not a valid input endpoint. Instead of that, the Headset is declared as separate Microphone and Headphone widgets. Current patch modifies audio map: - Headset Mic: HSMIC with bias - Headset Stereophone: HSOL, HSOR Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit f8d5fc924b1bec95f47b0a9e8f9a6e22fa1c7b05 Author: Jarkko Nikula Date: Wed Mar 18 16:46:54 2009 +0200 ASoC: OMAP: N810: Add more jack functions Add functions "Headset" and "Mic" to the control "Jack Function" for activating and de-activating codec input pin LINE1L which is connected to the mic pin of 4-pole Nokia AV connecter. Note there is no mic bias voltage management here since bias is coming from Nokia ASIC and driver for it is not in mainline. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 13b9d2ab5921d77df5217a2104b687a1c729d521 Author: Jarkko Nikula Date: Wed Mar 18 16:46:53 2009 +0200 ASoC: OMAP: N810: Mark not connected input pins Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit e8523b641cddedec754ae5e44ec579dbceea5ef4 Author: Mark Brown Date: Wed Mar 18 18:28:01 2009 +0000 ASoC: Add FLL support for WM8400 Signed-off-by: Mark Brown commit 1dddab400b7ad028b21d7d5b060e4a068d6d3cd9 Author: Takashi Iwai Date: Wed Mar 18 15:15:37 2009 +0100 ALSA: hda - Don't reset stream at each prepare callback Don't reset the stream at each prepare callback but do it only once after the open. Signed-off-by: Takashi Iwai commit 97b71c94d691728b82052e9c4d6286fbc9965d7f Author: Takashi Iwai Date: Wed Mar 18 15:09:13 2009 +0100 ALSA: hda - Don't reset BDL unnecessarily So far, the prepare callback is called multiple times, BDL entries are reset and re-programmed at each time. This patch adds the check to avoid the reset of BDL entries when the same parameters are used. Signed-off-by: Takashi Iwai commit 17ad6ea621b1c7952ebd7330ce65de26b6ee9cca Author: Stephen Rothwell Date: Thu Mar 19 22:03:22 2009 +1100 numa, cpumask: move numa_node_id default implementation to topology.h, fix Impact: build fix for powerpc and sparc Today's linux-next build (powerpc allyesconfig) failed like this: > In file included from include/linux/mmzone.h:776, > from include/linux/gfp.h:5, > from include/linux/kmod.h:23, > from include/linux/module.h:14, > from init/version.c:11: > arch/powerpc/include/asm/mmzone.h:32: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'numa_cpumask_lookup_table' Caused by commit 082edb7bf443eb8eda15b482d16ad9dd8137ad24 ("numa, cpumask: move numa_node_id default implementation to topology.h") from the cpus4096 tree which removed the include of linux/topology.h from linux/mmzone.h. Same for sparc64 defconfig. Signed-off-by: Stephen Rothwell Acked-b: Rusty Russell Cc: ppc-dev LKML-Reference: <20090319220322.3baa4613.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit ded652f7024bc2d7b6118b561a44187af30841b0 Author: Takashi Iwai Date: Thu Mar 19 10:08:49 2009 +0100 ALSA: pcm - Fix delta calculation at boundary overlap When the hw_ptr_interrupt reaches the boundary, it must check whether the hw_base was already lapped and corret the delta value appropriately. Also, rebasing the hw_ptr needs a correction because buffer_size isn't always aligned to period_size. Signed-off-by: Takashi Iwai commit 5f513e1197f27e9a0bcfec0feaac59f976f4a37e Author: Takashi Iwai Date: Thu Mar 19 10:01:47 2009 +0100 ALSA: pcm - Reset invalid position even without debug option Always reset the invalind hw_ptr position returned by the pointer callback. The behavior should be consitent independently from the debug option. Also, add the printk_ratelimit() check to avoid flooding debug prints. Signed-off-by: Takashi Iwai commit e41c615a70f2a91ca35b455fdcf025f78e11207e Author: Martyn Welch Date: Thu Mar 19 08:54:14 2009 +0000 powerpc/86xx: Default configuration for GE Fanuc's PPC9A Support for the PPC9A VME Single Board Computer from GE Fanuc (PowerPC MPC8641D). This is the default config file for GE Fanuc's PPC9A, a 6U single board computer, based on Freescale's MPC8641D. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 740d36ae6344f38c4da64c2ede765d7d2dd1f132 Author: Martyn Welch Date: Thu Mar 19 08:54:08 2009 +0000 powerpc/86xx: Board support for GE Fanuc's PPC9A Support for the PPC9A VME Single Board Computer from GE Fanuc (PowerPC MPC8641D). This is the basic board support for GE Fanuc's PPC9A, a 6U single board computer, based on Freescale's MPC8641D. Signed-off-by: Martyn Welch Signed-off-by: Wim Van Sebroeck Signed-off-by: Kumar Gala commit 6e27cca9155074a0a7a284b51c00304ca0694f00 Author: Grant Likely Date: Wed Mar 18 22:21:23 2009 -0600 powerpc/cpm2: fix building fs_enet driver as a module. Building the fs_enet driver as a modules fails because it cannot access the global cpm2_immr symbol. Signed-off-by: Grant Likely Signed-off-by: Kumar Gala commit 98204646f2b15d368701265e4194b773a6f94600 Author: Takashi Iwai Date: Thu Mar 19 09:59:21 2009 +0100 ALSA: pcm - avoid unnecessary inline Remove unnecessary explicit inlininig of internal functions. Let compiler optimize. Signed-off-by: Takashi Iwai commit cad377acf3d6af6279622048e96680e79e352183 Author: Takashi Iwai Date: Thu Mar 19 09:55:15 2009 +0100 ALSA: pcm - Fix a typo in error messages Fix a typo in error messages; forgotten after a copy&paste error. Signed-off-by: Takashi Iwai commit 01ce8ef5e8abec5bda5ffdd9088dfa2b66c2a1dc Author: Martyn Welch Date: Fri Mar 13 11:35:08 2009 +0000 powerpc/86xx: Run sbc310 USB fixup code only on the appropriate platform. Patch to limit NEC fixup to SBC310, following similar patch to SBC610 by Tony Breeds: 368a12117dd8abf6eaefa37c21ac313b517128b9 Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 782385ae176b304c7105051e1b06c68bc0b4a2ba Author: Eric Miao Date: Thu Mar 19 15:24:30 2009 +0800 [ARM] pxa: fix overlay being un-necessarily initialized on pxa25x pxa25x doesn't support overlay in its LCD controller, this patch adds pxafb_overlay_supported() functions to check the initialization is necessary. Signed-off-by: Eric Miao commit c68ffddabcaaa64c6ea681d2944cbda50a8654ea Author: Dmitry Eremin-Solenikov Date: Thu Mar 5 18:17:53 2009 +0300 [ARM] pxa: make second argument of clk_add_alias a name instead of the device clk_add_alias is commonly called for platform devices that are not yet registered in the device tree. Thus the clock alias is associated with NULL device name. Fix this by passing the device name instead of just device pointer. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit d1b95607e1dde59e2ffae661732c8da34aba445c Author: Daniel Mack Date: Fri Mar 13 15:17:32 2009 +0100 [ARM] pxa: add missing pin function for CS2 on GPIO1 Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit c58603e81b3ed4f1c7352e091fe43fd0bd8d06cc Author: Ingo Molnar Date: Thu Mar 19 08:50:35 2009 +0100 x86: mpparse: clean up code by introducing a few helper functions, fix Impact: fix boot crash This fixes commit a6830278568a8bb9758aac152db15187741e0113. Signed-off-by: Jaswinder Singh Rajput Cc: Yinghai Lu LKML-Reference: <1237403503.22438.21.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 35d40952dba7b0689a16bd1463fb7698f8dbe639 Author: FUJITA Tomonori Date: Thu Mar 19 10:39:31 2009 +0900 dma-debug: warn of unmapping an invalid dma address Impact: extend DMA-debug checks Calling dma_unmap families against an invalid dma address should be a bug. Signed-off-by: FUJITA Tomonori Cc: Joerg Roedel LKML-Reference: <20090319103743N.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit a2328d0249fce44381289525bd580b37d2105963 Author: Giuliano Pochini Date: Thu Mar 19 00:09:03 2009 +0100 ALSA: Echoaudio: add support for Indigo express cards This patch adds support for IndigoIOx and IndigoDJx. Signed-off-by: Giuliano Pochini Signed-off-by: Takashi Iwai commit df7c8e845e8e2030e8ae947e0ace56d184d0e9a0 Author: Rusty Russell Date: Thu Mar 19 15:22:20 2009 +1030 cpumask: remove cpumask allocation from idle_balance Impact: fix circular locking Steven reports a circular locking from alloc_cpumask_var doing a wakeup. We get rid of this using the tried-and-true technique of using a per-cpu cpumask_var_t rather than doing an alloc every time. Simpler and more robust than a rare, implicit allocation within an atomic codepath. Reported-by: Steven Rostedt Signed-off-by: Rusty Russell LKML-Reference: Signed-off-by: Ingo Molnar commit 4826857f1bf07f9c0f1495e9b05d125552c88a85 Author: Kumar Gala Date: Wed Mar 18 23:28:22 2009 -0700 gianfar: pass the proper dev to DMA ops We need to be passing the of_platform device struct into the DMA ops as its the one that has the archdata setup to know which low-level DMA ops we should be using (not the net_device one). This isn't an issue until we expect the archdata to be setup correctly. Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit a6a47771b113be8e694aedd80f66ea94d05bd8df Author: Yevgeny Petrilin Date: Wed Mar 18 19:49:54 2009 -0700 IB/mlx4: Unregister IB device prior to CLOSE PORT command According to the ConnectX programmer's reference manual, all operations should be stopped, all QPs should be torn down and all WQEs flushed before the CLOSE_PORT command is invoked. In some cases reversing the order of operations (as implemented now) could cause a loss of completions. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 27bf91d6a0d5a9c7224e8687754249bba67dd4cf Author: Yevgeny Petrilin Date: Wed Mar 18 19:45:11 2009 -0700 mlx4_core: Add link type autosensing When a port's link is down (except to driver restart) and the port is configured for auto sensing, we try to sense port link type (Ethernet or InfiniBand) in order to determine how to initialize the port. If the port type needs to be changed, all mlx4 for the device interfaces are unregistered and then registered again with the new port types. Sensing is done with intervals of 3 seconds. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 4b704d59d6fb152bcd0883b84af5936a29067f12 Author: Stephen Hemminger Date: Wed Mar 18 19:11:29 2009 -0700 tipc: fix non-const printf format arguments Fix warnings from current gcc about using non-const strings as printf args in TIPC. Compile tested only (not a TIPC user). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit beedad923ad6237f03265fdf86eb8a1b50d14ae9 Author: Rami Rosen Date: Wed Mar 18 18:50:09 2009 -0700 tcp: remove parameter from tcp_recv_urg(). This patch removes an unused parameter (addr_len) from tcp_recv_urg() method in net/ipv4/tcp.c. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 9bdd8d40c8c59435664af6049dabe24b7779b203 Author: Brian Haley Date: Wed Mar 18 18:22:48 2009 -0700 ipv6: Fix incorrect disable_ipv6 behavior Fix the behavior of allowing both sysctl and addrconf_dad_failure() to set the disable_ipv6 parameter without any bad side-effects. If DAD fails and accept_dad > 1, we will still set disable_ipv6=1, but then instead of allowing an RA to add an address then immediately fail DAD, we simply don't allow the address to be added in the first place. This also lets the user set this flag and disable all IPv6 addresses on the interface, or on the entire system. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit cedc1dba74f481a632c5d5aedad0068d6ad945d8 Author: Dave Jones Date: Wed Mar 18 18:17:48 2009 -0700 a2065: skb_padto cleanups Remove unnecessary check (skb_padto does the same check) Remove unnecessary duplicate variable Remove unnecessary clearing of padded part of skb. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit e9d9df44736d116726f4596f7e2f9ce2764ffc0a Author: Lai Jiangshan Date: Wed Mar 18 16:42:57 2009 +0800 ftrace: protect running nmi (V3) When I review the sensitive code ftrace_nmi_enter(), I found the atomic variable nmi_running does protect NMI VS do_ftrace_mod_code(), but it can not protects NMI(entered nmi) VS NMI(ftrace_nmi_enter()). cpu#1 | cpu#2 | cpu#3 ftrace_nmi_enter() | do_ftrace_mod_code() | not modify | | ------------------------|-----------------------|-- executing | set mod_code_write = 1| executing --|-----------------------|-------------------- executing | | ftrace_nmi_enter() executing | | do modify ------------------------|-----------------------|----------------- ftrace_nmi_exit() | | cpu#3 may be being modified the code which is still being executed on cpu#1, it will have undefined results and possibly take a GPF, this patch prevents it occurred. Signed-off-by: Lai Jiangshan LKML-Reference: <49C0B411.30003@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 5f641356127712fbdce0eee120e5ce115860c17f Author: H. Peter Anvin Date: Wed Mar 18 16:54:05 2009 -0700 x86, setup: fix the setting of 480-line VGA modes Impact: fix rarely-used feature The VGA Miscellaneous Output Register is read from address 0x3CC but written to address 0x3C2. This was missed when this code was converted from assembly to C. While we're at it, clean up the code by making the overflow bits and the math used to set the bits explicit. Signed-off-by: H. Peter Anvin commit 2795e53b4ed5d1f49d2283f416c922f55ec7d461 Author: Chuck Lever Date: Thu Mar 12 12:07:14 2009 -0400 SUNRPC: Clean up static inline functions in svc_xprt.h Clean up: Enable the use of const arguments in higher level svc_ APIs by adding const to the arguments of the helper functions in svc_xprt.h Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 0953e620de0538cbd081f1b45126f6098112a598 Author: Sachin S. Prabhu Date: Mon Feb 23 16:22:03 2009 +0000 Inconsistent setattr behaviour There is an inconsistency seen in the behaviour of nfs compared to other local filesystems on linux when changing owner or group of a directory. If the directory has SUID/SGID flags set, on changing owner or group on the directory, the flags are stripped off on nfs. These flags are maintained on other filesystems such as ext3. To reproduce on a nfs share or local filesystem, run the following commands mkdir test; chmod +s+g test; chown user1 test; ls -ld test On the nfs share, the flags are stripped and the output seen is drwxr-xr-x 2 user1 root 4096 Feb 23 2009 test On other local filesystems(ex: ext3), the flags are not stripped and the output seen is drwsr-sr-x 2 user1 root 4096 Feb 23 13:57 test chown_common() called from sys_chown() will only strip the flags if the inode is not a directory. static int chown_common(struct dentry * dentry, uid_t user, gid_t group) { .. if (!S_ISDIR(inode->i_mode)) newattrs.ia_valid |= ATTR_KILL_SUID | ATTR_KILL_SGID | ATTR_KILL_PRIV; .. } See: http://www.opengroup.org/onlinepubs/7990989775/xsh/chown.html "If the path argument refers to a regular file, the set-user-ID (S_ISUID) and set-group-ID (S_ISGID) bits of the file mode are cleared upon successful return from chown(), unless the call is made by a process with appropriate privileges, in which case it is implementation-dependent whether these bits are altered. If chown() is successfully invoked on a file that is not a regular file, these bits may be cleared. These bits are defined in ." The behaviour as it stands does not appear to violate POSIX. However the actions performed are inconsistent when comparing ext3 and nfs. Signed-off-by: Sachin Prabhu Acked-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 47a14ef1af48c696b214ac168f056ddc79793d0e Author: Olga Kornievskaia Date: Tue Oct 21 14:13:47 2008 -0400 svcrpc: take advantage of tcp autotuning Allow the NFSv4 server to make use of TCP autotuning behaviour, which was previously disabled by setting the sk_userlocks variable. Set the receive buffers to be big enough to receive the whole RPC request, and set this for the listening socket, not the accept socket. Remove the code that readjusts the receive/send buffer sizes for the accepted socket. Previously this code was used to influence the TCP window management behaviour, which is no longer needed when autotuning is enabled. This can improve IO bandwidth on networks with high bandwidth-delay products, where a large tcp window is required. It also simplifies performance tuning, since getting adequate tcp buffers previously required increasing the number of nfsd threads. Signed-off-by: Olga Kornievskaia Cc: Jim Rees Signed-off-by: J. Bruce Fields commit 026722c25e6eb018eab8b9a3c198c258f5b7a2e7 Author: J. Bruce Fields Date: Wed Mar 18 15:06:26 2009 -0400 nfsd4: don't check ip address in setclientid The spec allows clients to change ip address, so we shouldn't be requiring that setclientid always come from the same address. For example, a client could reboot and get a new dhcpd address, but still present the same clientid to the server. In that case the server should revoke the client's previous state and allow it to continue, instead of (as it currently does) returning a CLID_INUSE error. Signed-off-by: J. Bruce Fields commit 03cf6c9f49a8fea953d38648d016e3f46e814991 Author: Greg Banks Date: Tue Jan 13 21:26:36 2009 +1100 knfsd: add file to export stats about nfsd pools Add /proc/fs/nfsd/pool_stats to export to userspace various statistics about the operation of rpc server thread pools. This patch is based on a forward-ported version of knfsd-add-pool-thread-stats which has been shipping in the SGI "Enhanced NFS" product since 2006 and which was previously posted: http://article.gmane.org/gmane.linux.nfs/10375 It has also been updated thus: * moved EXPORT_SYMBOL() to near the function it exports * made the new struct struct seq_operations const * used SEQ_START_TOKEN instead of ((void *)1) * merged fix from SGI PV 990526 "sunrpc: use dprintk instead of printk in svc_pool_stats_*()" by Harshula Jayasuriya. * merged fix from SGI PV 964001 "Crash reading pool_stats before nfsds are started". Signed-off-by: Greg Banks Signed-off-by: Harshula Jayasuriya Signed-off-by: J. Bruce Fields commit 59a252ff8c0f2fa32c896f69d56ae33e641ce7ad Author: Greg Banks Date: Tue Jan 13 21:26:35 2009 +1100 knfsd: avoid overloading the CPU scheduler with enormous load averages Avoid overloading the CPU scheduler with enormous load averages when handling high call-rate NFS loads. When the knfsd bottom half is made aware of an incoming call by the socket layer, it tries to choose an nfsd thread and wake it up. As long as there are idle threads, one will be woken up. If there are lot of nfsd threads (a sensible configuration when the server is disk-bound or is running an HSM), there will be many more nfsd threads than CPUs to run them. Under a high call-rate low service-time workload, the result is that almost every nfsd is runnable, but only a handful are actually able to run. This situation causes two significant problems: 1. The CPU scheduler takes over 10% of each CPU, which is robbing the nfsd threads of valuable CPU time. 2. At a high enough load, the nfsd threads starve userspace threads of CPU time, to the point where daemons like portmap and rpc.mountd do not schedule for tens of seconds at a time. Clients attempting to mount an NFS filesystem timeout at the very first step (opening a TCP connection to portmap) because portmap cannot wake up from select() and call accept() in time. Disclaimer: these effects were observed on a SLES9 kernel, modern kernels' schedulers may behave more gracefully. The solution is simple: keep in each svc_pool a counter of the number of threads which have been woken but have not yet run, and do not wake any more if that count reaches an arbitrary small threshold. Testing was on a 4 CPU 4 NIC Altix using 4 IRIX clients, each with 16 synthetic client threads simulating an rsync (i.e. recursive directory listing) workload reading from an i386 RH9 install image (161480 regular files in 10841 directories) on the server. That tree is small enough to fill in the server's RAM so no disk traffic was involved. This setup gives a sustained call rate in excess of 60000 calls/sec before being CPU-bound on the server. The server was running 128 nfsds. Profiling showed schedule() taking 6.7% of every CPU, and __wake_up() taking 5.2%. This patch drops those contributions to 3.0% and 2.2%. Load average was over 120 before the patch, and 20.9 after. This patch is a forward-ported version of knfsd-avoid-nfsd-overload which has been shipping in the SGI "Enhanced NFS" product since 2006. It has been posted before: http://article.gmane.org/gmane.linux.nfs/10374 Signed-off-by: Greg Banks Signed-off-by: J. Bruce Fields commit 8bbfa9f3889b643fc7de82c0c761ef17097f8faf Author: Greg Banks Date: Tue Jan 13 21:26:34 2009 +1100 knfsd: remove the nfsd thread busy histogram Stop gathering the data that feeds the 'th' line in /proc/net/rpc/nfsd because the questionable data provided is not worth the scalability impact of calculating it. Instead, always report zeroes. The current approach suffers from three major issues: 1. update_thread_usage() increments buckets by call service time or call arrival time...in jiffies. On lightly loaded machines, call service times are usually < 1 jiffy; on heavily loaded machines call arrival times will be << 1 jiffy. So a large portion of the updates to the buckets are rounded down to zero, and the histogram is undercounting. 2. As seen previously on the nfs mailing list, the format in which the histogram is presented is cryptic, difficult to explain, and difficult to use. 3. Updating the histogram requires taking a global spinlock and dirtying the global variables nfsd_last_call, nfsd_busy, and nfsdstats *twice* on every RPC call, which is a significant scaling limitation. Testing on a 4 CPU 4 NIC Altix using 4 IRIX clients each doing 1K streaming reads at full line rate, shows the stats update code (inlined into nfsd()) takes about 1.7% of each CPU. This patch drops the contribution from nfsd() into the profile noise. This patch is a forward-ported version of knfsd-remove-nfsd-threadstats which has been shipping in the SGI "Enhanced NFS" product since 2006. In that time, exactly one customer has noticed that the threadstats were missing. It has been previously posted: http://article.gmane.org/gmane.linux.nfs/10376 and more recently requested to be posted again. Signed-off-by: Greg Banks Signed-off-by: J. Bruce Fields commit 5cb031b0afddad73ea4191c9f0b76d20ca447dc0 Author: J. Bruce Fields Date: Sat Mar 14 16:38:41 2009 -0400 nfsd4: remove redundant check from nfsd4_open Note that we already checked for this invalid case at the top of this function. Signed-off-by: J. Bruce Fields commit 05f4f678b0511a24795a017b5332455077be3b1c Author: J. Bruce Fields Date: Fri Mar 13 16:02:59 2009 -0400 nfsd4: don't do lookup within readdir in recovery code The main nfsd code was recently modified to no longer do lookups from withing the readdir callback, to avoid locking problems on certain filesystems. This (rather hacky, and overdue for replacement) NFSv4 recovery code has the same problem. Fix it to build up a list of names (instead of dentries) and do the lookups afterwards. Reported symptoms were a deadlock in the xfs code (called from nfsd4_recdir_load), with /var/lib/nfs on xfs. Signed-off-by: J. Bruce Fields Reported-by: David Warren commit a1c8c4d1ff54c6c86930ee3c4c73c69eeb9ede61 Author: J. Bruce Fields Date: Mon Mar 9 12:17:29 2009 -0400 nfsd4: support putpubfh operation Currently putpubfh returns NFSERR_OPNOTSUPP, which isn't actually allowed for v4. The right error is probably NFSERR_NOTSUPP. But let's just implement it; though rarely seen, it can be used by Solaris (with a special mount option), is mandated by the rfc, and is trivial for us to support. Thanks to Yang Hongyang for pointing out the original problem, and to Mike Eisler, Tom Talpey, Trond Myklebust, and Dave Noveck for further argument.... Signed-off-by: J. Bruce Fields commit 31dec2538e45e9fff2007ea1f4c6bae9f78db724 Author: David Shaw Date: Thu Mar 5 20:16:14 2009 -0500 Short write in nfsd becomes a full write to the client If a filesystem being written to via NFS returns a short write count (as opposed to an error) to nfsd, nfsd treats that as a success for the entire write, rather than the short count that actually succeeded. For example, given a 8192 byte write, if the underlying filesystem only writes 4096 bytes, nfsd will ack back to the nfs client that all 8192 bytes were written. The nfs client does have retry logic for short writes, but this is never called as the client is told the complete write succeeded. There are probably other ways it could happen, but in my case it happened with a fuse (filesystem in userspace) filesystem which can rather easily have a partial write. Here is a patch to properly return the short write count to the client. Signed-off-by: David Shaw Signed-off-by: J. Bruce Fields commit 1e685ec270cb97680be4eb8cf6b615f5f7f1403a Author: Benny Halevy Date: Wed Mar 4 23:06:06 2009 +0200 NFSD: return nfsv4 error code nfserr_notsupp rather than nfsv[23]'s nfserr_opnotsupp Thanks for Bill Baker at sun.com for catching this at Connectathon 2009. This bug was introduced in 2.6.27 Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit a601caeda21c0e94c153dbd146ec0899cc5f324f Author: J. Bruce Fields Date: Sun Feb 22 16:43:45 2009 -0800 nfsd4: move rpc_client setup to a separate function Signed-off-by: J. Bruce Fields commit 418cd20aa19b54554cab383e2fd0d1cb8c4732ee Author: J. Bruce Fields Date: Sun Feb 22 15:52:13 2009 -0800 nfsd4: fix do_probe_callback errors The errors returned aren't used. Just return 0 and make them available to a dprintk(). Also, consistently use -ERRNO errors instead of nfs errors. Signed-off-by: J. Bruce Fields Reviewed-by: Benny Halevy commit 8b671b80707e4fc76adfe4387df07b3be1007c1e Author: J. Bruce Fields Date: Sun Feb 22 14:51:34 2009 -0800 nfsd4: remove use of mutex for file_hashtable As part of reducing the scope of the client_mutex, and in order to remove the need for mutexes from the callback code (so that callbacks can be done as asynchronous rpc calls), move manipulations of the file_hashtable under the recall_lock. Update the relevant comments while we're here. Signed-off-by: J. Bruce Fields Cc: Alexandros Batsakis Reviewed-by: Benny Halevy commit d7fdcfe0aaaf6dffca6fa857bab374182fe7ca8b Author: J. Bruce Fields Date: Sat Feb 21 15:39:54 2009 -0800 nfsd4: put_nfs4_client does not require state lock Since free_client() is guaranteed to only be called once, and to only touch the client structure itself (not any common data structures), it has no need for the state lock. Signed-off-by: J. Bruce Fields Cc: Alexandros Batsakis commit 18f82731b7784ba81ee9b1ed6a8179b577fa898b Author: J. Bruce Fields Date: Sat Feb 21 15:23:01 2009 -0800 nfsd4: rename io_during_grace_disallowed Use a slightly clearer, more concise name. Also removed unused argument. Signed-off-by: J. Bruce Fields commit 6150ef0dc7f734366d297e2eb5697ae458a1ea19 Author: J. Bruce Fields Date: Sat Feb 21 13:36:16 2009 -0800 nfsd4: remove unused CHECK_FH flag All users now pass this, so it's meaningless. Signed-off-by: J. Bruce Fields commit 7e0f7cf582abd6c85232331dfe726a4e4b0fd98e Author: J. Bruce Fields Date: Sat Feb 21 13:32:28 2009 -0800 nfsd4: fail when delegreturn gets a non-delegation stateid Previous cleanup reveals an obvious (though harmless) bug: when delegreturn gets a stateid that isn't for a delegation, it should return an error rather than doing nothing. Signed-off-by: J. Bruce Fields commit 203a8c8e66278a5936a230edaac29017e50c88fb Author: J. Bruce Fields Date: Sat Feb 21 13:29:14 2009 -0800 nfsd4: separate delegreturn case from preprocess_stateid_op Delegreturn is enough a special case for preprocess_stateid_op to warrant just open-coding it in delegreturn. There should be no change in behavior here; we're just reshuffling code. Thanks to Yang Hongyang for catching a critical typo. Reviewed-by: Yang Hongyang Signed-off-by: J. Bruce Fields commit 3e633079e377d2b527a8390f63ceb887b5cabfbf Author: J. Bruce Fields Date: Sat Feb 21 13:17:19 2009 -0800 nfsd4: add a helper function to decide if stateid is delegation Make this check self-documenting. Signed-off-by: J. Bruce Fields commit 819a8f539acf7838d62fec20e88401ff53303cd1 Author: J. Bruce Fields Date: Sat Feb 21 12:13:24 2009 -0800 nfsd4: remove some dprintk's I can't recall ever seeing these printk's used to debug a problem. I'll happily put them back if we see a case where they'd be useful. (Though if we do that the find_XXX() errors would probably be better reported in find_XXX() functions themselves.) Signed-off-by: J. Bruce Fields commit fd03b09906c32aea7b47f1275c9cd6034141159d Author: J. Bruce Fields Date: Sat Feb 21 11:27:30 2009 -0800 nfsd4: remove unneeded local variable We no longer need stidp. Signed-off-by: J. Bruce Fields commit dc9bf700ed2fc3eab50f31000b13fda781e7c9f1 Author: J. Bruce Fields Date: Sat Feb 21 11:14:43 2009 -0800 nfsd4: remove redundant "if" in nfs4_preprocess_stateid_op Note that we exit this first big "if" with stp == NULL if and only if we took the first branch; therefore, the second "if" is redundant, and we can just combine the two, simplifying the logic. Reviewed-by: Yang Hongyang Signed-off-by: J. Bruce Fields commit 0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e Author: J. Bruce Fields Date: Sat Feb 21 11:11:50 2009 -0800 nfsd4: move check_stateid_generation check No change in behavior. Signed-off-by: J. Bruce Fields commit a4455be0850009f5da9a3b82523079922cd4b26e Author: J. Bruce Fields Date: Sat Feb 21 10:40:22 2009 -0800 nfsd4: trivial preprocess_stateid_op cleanup Remove a couple redundant comments, adjust style; no change in behavior. Signed-off-by: J. Bruce Fields commit 77f18f5e4ebdea35ec3d92343b0ed7546dc87637 Author: Harvey Harrison Date: Wed Feb 11 17:16:58 2009 -0800 nfs: replace uses of __constant_{endian} The base versions handle constant folding now, none of these headers are exported to userspace, so the __ prefixed versions are not necessary. Signed-off-by: Harvey Harrison Reviewed-by: NeilBrown Signed-off-by: J. Bruce Fields commit 4ac35c2f794503d3acda20d98e89cf63f6e94332 Author: wengang wang Date: Tue Feb 10 11:27:51 2009 +0800 nfsd(v2/v3): fix the failure of creation from HPUX client sometimes HPUX nfs client sends a create request to linux nfs server(v2/v3). the dump of the request is like: obj_attributes mode: value follows set_it: value follows (1) mode: 00 uid: no value set_it: no value (0) gid: value follows set_it: value follows (1) gid: 8030 size: value follows set_it: value follows (1) size: 0 atime: don't change set_it: don't change (0) mtime: don't change set_it: don't change (0) note that mode is 00(havs no rwx privilege even for the owner) and it requires to set size to 0. as current nfsd(v2/v3) implementation, the server does mainly 2 steps: 1) creates the file in mode specified by calling vfs_create(). 2) sets attributes for the file by calling nfsd_setattr(). at step 2), it finally calls file system specific setattr() function which may fail when checking permission because changing size needs WRITE privilege but it has none since mode is 000. for this case, a new file created, we may simply ignore the request of setting size to 0, so that WRITE privilege is not needed and the open succeeds. Signed-off-by: Wengang Wang -- vfs.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) Signed-off-by: J. Bruce Fields commit e33d1ea60c3a17b8b5c2910b1eef4c1faf0ac450 Author: Miklos Szeredi Date: Mon Feb 9 12:30:43 2009 -0500 lockd: clean up blocking lock cases of nlsmvc_lock() No change in behavior, just rearranging the switch so that we break out of the switch if and only if we're in the wait case. Signed-off-by: Miklos Szeredi Signed-off-by: J. Bruce Fields commit e37da04ed145d45c2a698d7cb373a7e1191fbe86 Author: Alexandros Batsakis Date: Thu Dec 18 19:55:16 2008 -0800 nfsd: lock state around put client and delegation in nfsd4_cb_recall not having the state locked before putting the client/delegation causes a bug. Also removed the comment from the function header about the state being already locked Signed-off-by: Alexandros Batsakis Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 6c02eaa1d1e53b9b2cc27d0c6fff3e57da4b611f Author: J. Bruce Fields Date: Mon Feb 2 17:30:51 2009 -0500 nfsd4: use helper for copying delegation filehandle Signed-off-by: J. Bruce Fields commit a4773c08f2872626cb923433284488fbe8acb0ae Author: J. Bruce Fields Date: Mon Feb 2 17:23:10 2009 -0500 nfsd4: use helper for copying filehandles for replay Signed-off-by: J. Bruce Fields commit 13024b7b4097d33fe6bba34b1c83602e88753270 Author: J. Bruce Fields Date: Mon Feb 2 17:04:03 2009 -0500 nfsd4: fix misplaced comment Signed-off-by: J. Bruce Fields commit 99f88726381f676bba6e7dcf74b7412857d7946a Author: J. Bruce Fields Date: Mon Feb 2 15:12:27 2009 -0500 nfsd: clarify exclusive create bitmask result. The use of |= is confusing--the bitmask is always initialized to zero in this case, so we're effectively just doing an assignment here. Signed-off-by: J. Bruce Fields commit 686665619e4424b4f80c3a49e3e1229f27ea565c Author: Manish Katiyar Date: Thu Jan 29 20:53:57 2009 +0530 nfsd : Define NFSD only when FILE_LOCKING is enabled Enable NFSD only when FILE_LOCKING is enabled, since we don't want to support NFSD without FILE_LOCKING. Signed-off-by: Manish Katiyar Signed-off-by: J. Bruce Fields commit 12214cb78147d42da28bc0d1b2917584e0a8efcd Author: Qinghuang Feng Date: Mon Jan 12 03:13:53 2009 +0800 NFSD: cleanup for nfs3proc.c MSDOS_SUPER_MAGIC is defined in , so use MSDOS_SUPER_MAGIC directly. Signed-off-by: Qinghuang Feng Signed-off-by: J. Bruce Fields commit f044ff830f1afe91e4388320f0c7b6e08d2e05f8 Author: J. Bruce Fields Date: Sun Jan 11 15:24:04 2009 -0500 nfsd4: split open/lockowner release code The caller always knows specifically whether it's releasing a lockowner or an openowner, and the code is simpler if we use separate functions (and the apparent recursion is gone). Signed-off-by: J. Bruce Fields commit f1d110caf7d759eae2c02c84343f63d83db9b9be Author: J. Bruce Fields Date: Sun Jan 11 14:37:31 2009 -0500 nfsd4: remove a forward declaration Signed-off-by: J. Bruce Fields commit 2283963f27fdd56b185e49a964c290130c7c95ab Author: J. Bruce Fields Date: Sun Jan 11 14:27:17 2009 -0500 nfsd4: split lockstateid/openstateid release logic The flags here attempt to make the code more general, but I find it actually just adds confusion. I think it's clearer to separate the logic for the open and lock cases entirely. And eventually we may want to separate the stateowner and stateid types as well, as many of the fields aren't shared between the lock and open cases. Also move to eliminate forward references. Start with the stateid's. Signed-off-by: J. Bruce Fields Reviewed-by: Benny Halevy commit ec625cb29e66824f7ce41082617aeb93fa4e42e2 Author: Ingo Molnar Date: Wed Mar 18 19:54:04 2009 +0100 tracepoints: dont update zero-sized tracepoint sections Zero-sized tracepoint sections can occur if tracing is enabled but no tracepoint is defined. Do not emit a warning in that case. Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Jaswinder Singh Rajput LKML-Reference: <1237394936.3132.1.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 24a51029fc3055f33684e650b5e3a59f77c9b05c Author: Mark Brown Date: Wed Mar 18 15:19:48 2009 +0000 ASoC: Add separate AVDD for WM8400 There is an AVDD supply as well, normally one or more of the other upplies would be tied to it. Signed-off-by: Mark Brown commit e3598f6e4218d1aad3369c97217266b2375e6aca Author: Mark Brown Date: Wed Mar 18 15:19:10 2009 +0000 ASoC: Further optimise WM8400 bias configuration sequence The active discharge does not bring sufficient benefit to justify the lengthy times involved so don't do that. Signed-off-by: Mark Brown commit 09933a108e6730a464a1ab676c9decc11aee0edc Author: Jaswinder Singh Rajput Date: Wed Mar 18 22:18:56 2009 +0530 tracing: fix oops in tracepoint_update_probe_range() Change this crash: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] tracepoint_update_probe_range+0x1f/0x9b PGD 13d5fb067 PUD 13d688067 PMD 0 Oops: 0000 [#1] SMP To a more debuggable WARN_ONCE(). Signed-off-by: Jaswinder Singh Rajput Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1237394936.3132.1.camel@localhost.localdomain> [ moved the check outside the lock and added a WARN_ON(). ] Signed-off-by: Ingo Molnar commit 0f5b3e85a3716efebb0150ebb7c6d022e2bf17d7 Author: Patrick McHardy Date: Wed Mar 18 17:36:40 2009 +0100 netfilter: ctnetlink: fix rcu context imbalance Introduced by 7ec47496 (netfilter: ctnetlink: cleanup master conntrack assignation): net/netfilter/nf_conntrack_netlink.c:1275:2: warning: context imbalance in 'ctnetlink_create_conntrack' - different lock contexts for basic block Signed-off-by: Patrick McHardy commit 711d60a9e7f88e394ccca10f5fc83f95f0cea5b1 Author: Florian Westphal Date: Wed Mar 18 17:30:50 2009 +0100 netfilter: remove nf_ct_l4proto_find_get/nf_ct_l4proto_put users have been moved to __nf_ct_l4proto_find. Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit cd91566e4bdbcb8841385e4b2eacc8d0c29c9208 Author: Florian Westphal Date: Wed Mar 18 17:28:37 2009 +0100 netfilter: ctnetlink: remove remaining module refcounting Convert the remaining refcount users. As pointed out by Patrick McHardy, the protocols can be accessed safely using RCU. Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit a6830278568a8bb9758aac152db15187741e0113 Author: Jaswinder Singh Rajput Date: Wed Mar 18 20:42:28 2009 +0530 x86: mpparse: clean up code by introducing a few helper functions Impact: cleanup Refactor the MP-table parsing code via the introduction of the following helper functions: skip_entry() smp_reserve_bootmem() check_irq_src() check_slot() To simplify the code flow and to reduce the size of the following oversized functions: smp_read_mpc(), smp_scan_config(). There should be no impact to functionality. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 4acd4d00f716873e27e7b60ae292cbdbfae674dd Author: Steven Rostedt Date: Wed Mar 18 10:40:24 2009 -0400 tracing: give easy way to clear trace buffer There is currently no easy way to clear the trace buffer. Currently the only way is to change the current tracer. This patch lets the user clear the trace buffer by simply writing into the trace files. echo > /debug/tracing/trace or to clear a single cpu (i.e. for CPU 1): echo > /debug/tracing/per_cpu/cpu1/trace Requested-by: Ingo Molnar Signed-off-by: Steven Rostedt commit c38da5692e3a4d5d303c04cbf7e526f1eb761076 Author: Rusty Russell Date: Wed Mar 11 16:33:55 2009 +1030 x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus Impact: cleanup, reduce memory usage for CONFIG_CPUMASK_OFFSTACK=y Part of the "getting rid of obsolete cpumask_t" patch: 1) Use cpumask_var_t: this is a pointer if CONFIG_CPUMASK_OFFSTACK=y 2) Call alloc_cpumask_var() on first entry into enter_uniprocessor() 3) Use modern cpumask_* functions. Signed-off-by: Rusty Russell Cc: Pekka Paalanen LKML-Reference: <200903111633.55952.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit 89bd55d1855f8e9a4e9add8e93f3144d049c469e Author: Rusty Russell Date: Wed Mar 11 16:31:29 2009 +1030 x86: cpumask: update 32-bit APM not to mug current->cpus_allowed Impact: cleanup, avoid cpumask games The APM code wants to run on CPU 0: we create an "on_cpu0" wrapper which uses work_on_cpu() if we're not already on cpu 0. This introduces a new failure mode: -ENOMEM, so we add an explicit err arg and handle Linux-style errnos in apm_err(). Signed-off-by: Rusty Russell Cc: Andrew Morton Cc: Stephen Rothwell LKML-Reference: <200903111631.29787.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit 4bae1967357bfc78a2fad1be5e81a4b868980ae6 Author: Ingo Molnar Date: Wed Mar 11 11:19:46 2009 +0100 x86: microcode: cleanup Impact: cleanup Cc: Rusty Russell Cc: Andrew Morton Cc: Dmitry Adamushko Cc: Peter Oruba LKML-Reference: <200903111632.37279.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit af5c820a3169e81af869c113e18ec7588836cd50 Author: Rusty Russell Date: Wed Mar 11 16:32:36 2009 +1030 x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c Impact: don't play with current's cpumask Straightforward indirection through work_on_cpu(). One change is that the error code from microcode_update_cpu() is now actually plumbed back to microcode_init_cpu(), so now we printk if it fails on cpu hotplug. Signed-off-by: Rusty Russell Cc: Andrew Morton Cc: Dmitry Adamushko Cc: Peter Oruba LKML-Reference: <200903111632.37279.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit cde5edbda8ba7d600154ce4171125a48e4d2a21b Author: Jaswinder Singh Rajput Date: Wed Mar 18 17:37:45 2009 +0530 x86: kprobes.c fix compilation warning arch/x86/kernel/kprobes.c:196: warning: passing argument 1 of ‘search_exception_tables’ makes integer from pointer without a cast Signed-off-by: Jaswinder Singh Rajput Cc: Linus Torvalds LKML-Reference:<49BED952.2050809@redhat.com> LKML-Reference: <1237378065.13488.2.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 705bb9dc72b2464a7e421ee45d5e4a3f206d5c75 Merge: 250981e... 48f4c48... f4c3c4c... a6b6a14... 0920dce... 4e16c88... be72169... 0a699af... 42854dc... 2c74d66... ce4e240... ee568b2... Author: Ingo Molnar Date: Wed Mar 18 13:19:49 2009 +0100 Merge branches 'x86/cleanups', 'x86/cpu', 'x86/debug', 'x86/mce2', 'x86/mm', 'x86/mtrr', 'x86/setup', 'x86/setup-memory', 'x86/urgent', 'x86/uv', 'x86/x2apic' and 'linus' into x86/core Conflicts: arch/parisc/kernel/irq.c commit 4e16c888754468a58d4829c2eba2c6aa3a065e2b Author: Jaswinder Singh Rajput Date: Wed Mar 18 17:36:55 2009 +0530 x86: cpu/mttr/cleanup.c fix compilation warning arch/x86/kernel/cpu/mtrr/cleanup.c:197: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’ Signed-off-by: Jaswinder Singh Rajput Cc: Yinghai Lu LKML-Reference: <1237378015.13488.1.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit f02b8624fedca39886b0eef770dca70c2f0749b3 Author: Ananth N Mavinakayanahalli Date: Wed Mar 18 17:06:21 2009 +0530 kprobes: Fix locking imbalance in kretprobes Fix locking imbalance in kretprobes: ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- kthreadd/2 is trying to release lock (&rp->lock) at: [] pre_handler_kretprobe+0xea/0xf4 but there are no more locks to release! other info that might help us debug this: 1 lock held by kthreadd/2: #0: (rcu_read_lock){..--}, at: [] __atomic_notifier_call_chain+0x0/0x5a stack backtrace: Pid: 2, comm: kthreadd Not tainted 2.6.29-rc8 #1 Call Trace: [] ? printk+0xf/0x17 [] ? pre_handler_kretprobe+0xea/0xf4 [] print_unlock_inbalance_bug+0xc3/0xce [] ? clocksource_read+0x7/0xa [] ? getnstimeofday+0x5f/0xf6 [] ? register_lock_class+0x17/0x293 [] ? mark_lock+0x1e/0x30b [] ? tick_dev_program_event+0x4a/0xbc [] ? __slab_alloc+0xa5/0x415 [] ? pre_handler_kretprobe+0x28/0xf4 [] ? pre_handler_kretprobe+0xea/0xf4 [] lock_release_non_nested+0xa4/0x1a5 [] ? pre_handler_kretprobe+0xea/0xf4 [] lock_release+0x141/0x166 [] _spin_unlock_irqrestore+0x19/0x50 [] pre_handler_kretprobe+0xea/0xf4 [] kprobe_exceptions_notify+0x1c9/0x43e [] notifier_call_chain+0x26/0x48 [] __atomic_notifier_call_chain+0x37/0x5a [] ? __atomic_notifier_call_chain+0x0/0x5a [] atomic_notifier_call_chain+0xc/0xe [] notify_die+0x2d/0x2f [] do_int3+0x1f/0x71 [] int3+0x2c/0x34 [] ? do_fork+0x1/0x288 [] ? kernel_thread+0x71/0x79 [] ? kthread+0x0/0x60 [] ? kthread+0x0/0x60 [] ? kernel_thread_helper+0x0/0x10 [] kthreadd+0xac/0x148 [] ? kthreadd+0x0/0x148 [] kernel_thread_helper+0x7/0x10 Signed-off-by: Ananth N Mavinakayanahalli Tested-by: Bharata B Rao Cc: Masami Hiramatsu Cc: Jim Keniston Cc: Linus Torvalds Cc: Andrew Morton Cc: [2.6.29.x, 2.6.28.x, 2.6.27.x] LKML-Reference: <20090318113621.GB4129@in.ibm.com> Signed-off-by: Ingo Molnar commit 84be58d4601c86306cd939ebf58a9b90989883a4 Author: Ingo Molnar Date: Wed Mar 18 11:50:29 2009 +0100 dma-debug: fix dma_debug_add_bus() definition for !CONFIG_DMA_API_DEBUG Impact: build fix Fix: arch/x86/kvm/x86.o: In function `dma_debug_add_bus': (.text+0x0): multiple definition of `dma_debug_add_bus' dma_debug_add_bus() should be a static inline function. Cc: Joerg Roedel LKML-Reference: <20090317120112.GP6159@amd.com> Signed-off-by: Ingo Molnar commit 28514fe5bbbdbc0f7c9700569378d55cafd061ea Author: Daniel Mack Date: Wed Mar 18 11:03:55 2009 +0100 ALSA: snd-usb-caiaq: bump version number Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 9311c9b4f12218b588e51806c44d290cfec678a3 Author: Daniel Mack Date: Wed Mar 18 11:03:54 2009 +0100 ALSA: snd-usb-caiaq: drop bogus iso packets Drop inbound packets that are smaller than expected. This has been observed at the very beginning of the streaming transaction. And when the hardware is in panic mode (which can only very rarely happen in case of massive EMI chaos), mute the input channels. Signed-off-by: Daniel Mack Tested-by: Mark Hills Signed-off-by: Takashi Iwai commit 1313e7041480f523a09dedc7ef2185d8ee94c163 Author: Daniel Mack Date: Wed Mar 18 11:03:53 2009 +0100 ALSA: snd-usb-caiaq: only warn once on streaming errors Limit the number of printed warnings to one in case of streaming errors. printk() happens to be expensive, especially in code called as often as here. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 7e6b6f2b949a52382f59a93ecbe86e32e4fcec7c Author: Paul Mundt Date: Wed Mar 18 19:07:16 2009 +0900 sh: kexec jump: fix for ftrace. Save and restore ftrace state when returning from kexec jump in machine_kexec(). Follows the x86 change. Signed-off-by: Paul Mundt commit a6bab7b5c18501e4dd3201ae8ac1dc6da5f07acc Author: Paul Mundt Date: Wed Mar 18 19:06:15 2009 +0900 sh: kexec: Drop SR.BL bit toggling. For the time being, this creates far more problems than it solves, evident by the second local_irq_disable(). Kill all of this off and rely on IRQ disabling to protect against the VBR reload. Signed-off-by: Paul Mundt commit b7cf6ddc13186f9272438a97aa75972d496d0b0a Author: Magnus Damm Date: Wed Mar 18 08:51:29 2009 +0000 sh: add kexec jump support Add kexec jump support to the SuperH architecture. Similar to the x86 implementation, with the following exceptions: - Instead of separating the assembly code flow into two parts for regular kexec and kexec jump we use a single code path. In the assembly snippet regular kexec is just kexec jump that never comes back. - Instead of using a swap page when moving data between pages the page copy assembly routine has been modified to exchange the data between the pages using registers. - We walk the page list twice in machine_kexec() to do and undo physical to virtual address conversion. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e4e063d0c288bd65c56dd855337780a541ed928d Author: Magnus Damm Date: Wed Mar 18 08:49:45 2009 +0000 sh: rework kexec segment code Rework the kexec code to avoid using P2SEG. Instead we walk the page list in machine_kexec() and convert the addresses from physical to virtual using C. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7be5c55af0cc58e54e42e1702d837527e15b8414 Author: Magnus Damm Date: Wed Mar 18 08:47:31 2009 +0000 sh: simplify kexec vbr code Setup the vbr register in machine_kexec(). This instead of passing values to the assembly snippet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 95f3c4ebffb5f5dd6c06bf48a8e24c7247b5139c Merge: 04dfcfc... 86f3195... Author: Ingo Molnar Date: Wed Mar 18 10:37:48 2009 +0100 Merge branch 'dma-api/debug' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 04dfcfcb54b073133bcca2c8f25b55e904558931 Merge: 0bd5c4f... ee568b2... Author: Ingo Molnar Date: Wed Mar 18 10:37:43 2009 +0100 Merge branch 'linus' into core/iommu commit 490362003457f8d387f6f6e73e3a7efbf56c3314 Author: Frederic Weisbecker Date: Tue Mar 17 22:38:58 2009 +0100 tracing/ftrace: stop {irqs, preempt}soff tracers when tracing is stopped Impact: fix a selftest warning In some cases, it's possible to see the following warning on irqsoff tracer selftest: [ 4.640003] Testing tracer irqsoff: <4>------------[ cut here ]------------ [ 4.653562] WARNING: at kernel/trace/trace.c:458 update_max_tr_single+0x9a/0xc4() [ 4.660000] Hardware name: System Product Name [ 4.660000] Modules linked in: [ 4.660000] Pid: 301, comm: kstop/1 Not tainted 2.6.29-rc8-tip #35837 [ 4.660000] Call Trace: [ 4.660000] [<4014b588>] warn_slowpath+0x79/0x8f [ 4.660000] [<402d6949>] ? put_dec+0x64/0x6b [ 4.660000] [<40162b56>] ? getnstimeofday+0x58/0xdd [ 4.660000] [<40162210>] ? clocksource_read+0x3/0xf [ 4.660000] [<4015eb44>] ? ktime_set+0x8/0x34 [ 4.660000] [<4014101a>] ? balance_runtime+0x8/0x56 [ 4.660000] [<405f6f11>] ? _spin_lock+0x3/0x10 [ 4.660000] [<4011f643>] ? ftrace_call+0x5/0x8 [ 4.660000] [<4015d0f1>] ? task_cputime_zero+0x3/0x27 [ 4.660000] [<40190ee7>] ? cpupri_set+0x90/0xcb [ 4.660000] [<405f7208>] ? _spin_lock_irqsave+0x22/0x34 [ 4.660000] [<40190f12>] ? cpupri_set+0xbb/0xcb [ 4.660000] [<405f7151>] ? _spin_unlock_irqrestore+0x23/0x35 [ 4.660000] [<4018493f>] ? ring_buffer_reset_cpu+0x27/0x51 [ 4.660000] [<405f7208>] ? _spin_lock_irqsave+0x22/0x34 [ 4.660000] [<40184962>] ? ring_buffer_reset_cpu+0x4a/0x51 [ 4.660000] [<405f7151>] ? _spin_unlock_irqrestore+0x23/0x35 [ 4.660000] [<4018cc29>] ? trace_hardirqs_off+0x1a/0x1c [ 4.660000] [<405f7151>] ? _spin_unlock_irqrestore+0x23/0x35 [ 4.660000] [<40184962>] ? ring_buffer_reset_cpu+0x4a/0x51 [ 4.660000] [<401850f3>] ? cpumask_next+0x15/0x18 [ 4.660000] [<4018a41f>] update_max_tr_single+0x9a/0xc4 [ 4.660000] [<4014e5fe>] ? exit_notify+0x16/0xf2 [ 4.660000] [<4018cd13>] check_critical_timing+0xcc/0x11e [ 4.660000] [<4014e5fe>] ? exit_notify+0x16/0xf2 [ 4.660000] [<4014e5fe>] ? exit_notify+0x16/0xf2 [ 4.660000] [<4018cdf1>] stop_critical_timing+0x8c/0x9f [ 4.660000] [<4014e5c4>] ? forget_original_parent+0xac/0xd0 [ 4.660000] [<4018ce3a>] trace_hardirqs_on+0x1a/0x1c [ 4.660000] [<4014e5c4>] forget_original_parent+0xac/0xd0 [ 4.660000] [<4014e5fe>] exit_notify+0x16/0xf2 [ 4.660000] [<4014e8a5>] do_exit+0x1cb/0x225 [ 4.660000] [<4015c72b>] ? kthread+0x0/0x69 [ 4.660000] [<4011f61d>] kernel_thread_helper+0xd/0x10 [ 4.660000] ---[ end trace a7919e7f17c0a725 ]--- [ 4.660164] .. no entries found ..FAILED! During the selftest of irqsoff tracer, we do that: /* disable interrupts for a bit */ local_irq_disable(); udelay(100); local_irq_enable(); /* stop the tracing. */ tracing_stop(); /* check both trace buffers */ ret = trace_test_buffer(tr, NULL); If a callsite performs a new max delay with irqs off just after tracing_stop, update_max_tr_single() -> ring_buffer_swap_cpu() will be called with the buffers disabled by tracing_stop(), hence the warning, then ring_buffer_swap_cpu() return -EAGAIN and update_max_tr_single() complains. Fix it by also stopping the tracer before stopping the tracing globally. A similar situation can happen with preemptoff and preemptirqsoff tracers where we apply the same fix. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt LKML-Reference: <1237325938-5240-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit a635cf0497342978d417cae19d4a4823932977ff Author: Carsten Emde Date: Wed Mar 18 09:00:41 2009 +0100 tracing: fix command line to pid reverse map Impact: fix command line to pid mapping map_cmdline_to_pid[] is checked in trace_save_cmdline(), but never updated. This results in stale pid to command line mappings and the tracer output will associate the wrong comm string. Signed-off-by: Carsten Emde Signed-off-by: Thomas Gleixner Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 50d88758a3f9787cbdbdbc030560b815721eab4b Author: Thomas Gleixner Date: Wed Mar 18 08:58:44 2009 +0100 tracing: fix trace_find_cmdline() Impact: prevent stale command line output In case there is no valid command line mapping for a pid trace_find_cmdline() returns without updating the comm buffer. The trace dump keeps the previous entry which results in confusing trace output: -0 [000] 280.702056 .... -23456 [000] 280.702080 .... Update the comm buffer with "<...>" when no mapping is found. Signed-off-by: Thomas Gleixner Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 2c7eea4c62ba090b7f4583c3d7337ea0019be900 Author: Thomas Gleixner Date: Wed Mar 18 09:03:19 2009 +0100 tracing: replace the crude (unsigned) -1 hackery Impact: cleanup The command line recorder uses (unsigned) -1 to mark non mapped entries in the pid to command line maps. The validity check is completely unintuitive: idx >= SAVED_CMDLINES There is no need for such casting games. Use a constant to mark unmapped entries and check for that constant to make the code readable and understandable. Signed-off-by: Thomas Gleixner Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 18aecd362a1c991fbf5f7919ae051a77532ba2f8 Author: Thomas Gleixner Date: Wed Mar 18 08:56:58 2009 +0100 tracing: stop command line recording when tracing is disabled Impact: prevent overwrite of command line entries When the tracer is stopped the command line recording continues to record. The check for tracing_is_on() is not sufficient here as the ringbuffer status is not affected by setting debug/tracing/tracing_enabled to 0. On a non idle system this can result in the loss of the command line information for the stopped trace, which makes the trace harder to read and analyse. Check tracer_enabled to allow further recording. Signed-off-by: Thomas Gleixner Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit af66df5ecf9c9e2d2ff86e8203510c1c4519d64c Author: Luis Henriques Date: Wed Mar 18 00:04:25 2009 +0000 sched: jiffies not printed per CPU The jiffies value was being printed for each CPU, which does not seem to make sense. Moved jiffies to system section. Signed-off-by: Luis Henriques Acked-by: Peter Zijlstra LKML-Reference: <20090318000425.GA2228@hades.domain.com> Signed-off-by: Ingo Molnar commit 37ba317c9ed19eb126e40bbf563f2711e191a636 Merge: 708dc51... ee568b2... Author: Ingo Molnar Date: Wed Mar 18 09:57:02 2009 +0100 Merge branches 'sched/cleanups' and 'linus' into sched/core commit 2c74d66624ddbda8101d54d1e184cf9229b378bc Author: Rusty Russell Date: Wed Mar 18 08:22:30 2009 +1030 x86, uv: fix cpumask iterator in uv_bau_init() Impact: fix boot crash on UV systems Commit 76ba0ecda0de9accea9a91cb6dbde46782110e1c "cpumask: use cpumask_var_t in uv_flush_tlb_others" used cur_cpu as an iterator; it was supposed to be zero for the code below it. Reported-by: Cliff Wickman Original-From: Cliff Wickman Signed-off-by: Rusty Russell Acked-by: Mike Travis Cc: steiner@sgi.com Cc: LKML-Reference: <200903180822.31196.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit 30e1e6d1af2b67558bccf322af2b3e0676b209ae Author: Rusty Russell Date: Tue Mar 17 14:50:34 2009 +1030 cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash Impact: Fix cpu offline when CONFIG_MAXSMP=y Changeset bc9b83dd1f66402b870301c3c7117b9c1484abb4 "cpumask: convert c1e_mask in arch/x86/kernel/process.c to cpumask_var_t" contained a bug: c1e_mask is manipulated even if C1E isn't detected (and hence not allocated). This is simply fixed by checking for NULL (which gcc optimizes out anyway of CONFIG_CPUMASK_OFFSTACK=n, since it knows ce1_mask can never be NULL). In addition, fix a leak where select_idle_routine re-allocates (and re-clears) c1e_mask on every cpu init. Reported-by: Ingo Molnar Signed-off-by: Rusty Russell Cc: Mike Travis LKML-Reference: <200903171450.34549.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit ce4e240c279a31096f74afa6584a62d64a1ba8c8 Author: Suresh Siddha Date: Tue Mar 17 10:16:54 2009 -0800 x86: add x2apic_wrmsr_fence() to x2apic flush tlb paths Impact: optimize APIC IPI related barriers Uncached MMIO accesses for xapic are inherently serializing and hence we don't need explicit barriers for xapic IPI paths. x2apic MSR writes/reads don't have serializing semantics and hence need a serializing instruction or mfence, to make all the previous memory stores globally visisble before the x2apic msr write for IPI. Add x2apic_wrmsr_fence() in flush tlb path to x2apic specific paths. Signed-off-by: Suresh Siddha Cc: Peter Zijlstra Cc: Oleg Nesterov Cc: Jens Axboe Cc: Linus Torvalds Cc: "Paul E. McKenney" Cc: Rusty Russell Cc: Steven Rostedt Cc: "steiner@sgi.com" Cc: Nick Piggin LKML-Reference: <1237313814.27006.203.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 4a1007934591fd0dcdf13454a6faebfcbe1a4ee6 Merge: ee50471... c673ba1... Author: Takashi Iwai Date: Wed Mar 18 07:50:56 2009 +0100 Merge branch 'fix/hda' into topic/hda commit ee5047102cf632351c418060bfbe3b6eb5c42e7b Author: Jaroslav Kysela Date: Tue Mar 17 14:30:31 2009 +0100 ALSA: snd-hda-intel - add checks for invalid values to *query_supported_pcm() If ratesp or formatsp values are zero, wrong values are passed to ALSA's the PCM midlevel code. The bug is showed more later than expected. Also, clean a bit the code. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit a6b6a14e0c60561f2902b078bd28d0e61defad70 Author: Andrew Morton Date: Wed Mar 18 10:40:25 2009 +1030 x86: use smp_call_function_single() in arch/x86/kernel/cpu/mcheck/mce_amd_64.c Attempting to rid us of the problematic work_on_cpu(). Just use smp_call_function_single() here. Signed-off-by: Andrew Morton Signed-off-by: Rusty Russell LKML-Reference: <20090318042217.EF3F1DDF39@ozlabs.org> Signed-off-by: Ingo Molnar commit 327019b01e068d66dada6a8b2571180ab3674d20 Merge: 03418c7... 62524d5... Author: Ingo Molnar Date: Wed Mar 18 06:59:56 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 03418c7efaa429dc7647ac93e3862e3fe1816873 Merge: 4176935... ee568b2... Author: Ingo Molnar Date: Wed Mar 18 06:58:45 2009 +0100 Merge branches 'tracing/ftrace' and 'linus' into tracing/core commit b363b3304bcf68c4541683b2eff70b29f0446a5b Author: Steve French Date: Wed Mar 18 05:57:22 2009 +0000 [CIFS] Fix memory overwrite when saving nativeFileSystem field during mount CIFS can allocate a few bytes to little for the nativeFileSystem field during tree connect response processing during mount. This can result in a "Redzone overwritten" message to be logged. Signed-off-by: Sridhar Vinay Acked-by: Shirish Pargaonkar CC: Stable Signed-off-by: Steve French commit c6c00919ab16717f228aac20ee72dc83c4430537 Author: Steve French Date: Wed Mar 18 05:50:07 2009 +0000 [CIFS] Rename compose_mount_options to cifs_compose_mount_options. Make it available to others for reuse. Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 41f13fe81dd1b08723ab9f3fc3c7f29cfa81f1a5 Author: Alex Deucher Date: Mon Mar 16 15:37:02 2009 -0400 drm/radeon: fix logic in r600_page_table_init() to match ati_gart This fixes page table init on rs600. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 62524d55e5b9ffe36e3bf3dd7a594114f150b449 Author: Steven Rostedt Date: Tue Mar 17 20:58:00 2009 -0400 tracing: make power tracer start/stop methods lighter weight The start/stop methods of a tracer should be able to be executed in all contexts. This patch converts the power tracer to do so. Signed-off-by: Steven Rostedt commit 5fec6ddcb43a91aa9a254c8ecf174c803de6f07e Author: Steven Rostedt Date: Tue Mar 17 19:59:53 2009 -0400 tracing: make sched_switch stop/start light weight The stopping and starting of a tracer should be light weight and be able to be called in all contexts. The sched_switch grabbed mutexes in the start/stop functions. This patch changes it to a simple variable, on/off. Signed-off-by: Steven Rostedt commit 97e7e4f391cac2b00417b581b432533d245d4fd0 Author: Witold Baryluk Date: Tue Mar 17 21:15:44 2009 +0100 tracing: optimization of branch tracer Impact: better performance for if branch tracer Use an array to count the hit and misses of a conditional instead of using another conditional. This cuts down on saturation of branch predictions and increases performance of modern pipelined architectures. Signed-off-by: Witold Baryluk Signed-off-by: Steven Rostedt commit af4617bdba34aa556272b34c3986b0a4d588f568 Author: Steven Rostedt Date: Tue Mar 17 18:09:55 2009 -0400 tracing: add global-clock option to provide cross CPU clock to traces Impact: feature to allow better serialized clock This patch adds an option called "global-clock" that will allow the tracer to switch to a slower but more accurate (across CPUs) clock. Signed-off-by: Steven Rostedt commit 37886f6a9f62d22530ffee8d3f9215c8345b6969 Author: Steven Rostedt Date: Tue Mar 17 17:22:06 2009 -0400 ring-buffer: add api to allow a tracer to change clock source This patch adds a new function called ring_buffer_set_clock that allows a tracer to assign its own clock source to the buffer. Signed-off-by: Steven Rostedt commit af50bb993dfa673cf21ab812efe620d7e0c36319 Author: Chauhan, Vijay Date: Tue Mar 17 18:51:40 2009 +0530 [SCSI] scsi_dh_rdac: Retry for NOT_READY check condition This patch adds retry for NOT_READY check condition - Quiesce in progress (02/A1/02) Signed-off-by: Vijay Chauhan Signed-off-by: James Bottomley commit ba33fadfabe88e838e73c76a6ff59546f5f6b92b Author: Eric Moore Date: Sun Mar 15 21:37:18 2009 -0600 [SCSI] mpt2sas: make global symbols unique The ioc_list global symbol is already used in 1st generation mpt fusion drivers, so this patch makes it unique in the 2nd generation driver. I've checked the entire sources, and I don't see any other global system missing the mpt2sas_xxx prefix. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 70a9b8734660698eb91efb8947a9e691d40235e1 Author: Martin K. Petersen Date: Mon Mar 9 11:33:31 2009 -0400 [SCSI] sd: Make revalidate less chatty sd_revalidate ends up being called several times during device setup. With this patch we print everything during the first scan. Subsequent invocations will only print a message if the parameter in question has actually changed (LUN capacity has increased, etc.). Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 2b301307f63dbecf06d91f58f003c7fb7addee24 Author: Matthew Wilcox Date: Thu Mar 12 14:20:30 2009 -0400 [SCSI] sd: Try READ CAPACITY 16 first for SBC-2 devices New features are being added to the READ CAPACITY 16 results, so we want to issue it in preference to READ CAPACITY 10. Unfortunately, some devices misbehave when they see a READ CAPACITY 16, so we restrict this command to devices which claim conformance to SPC-3 (aka SBC-2), or claim they have features which are only reported in the READ CAPACITY 16 data. The READ CAPACITY 16 command is optional, even for SBC-2 devices, so we fall back to READ CAPACITY 10 if READ CAPACITY 16 fails. [jejb: don't error if device supports SBC-2 but doesn't support RC16] Signed-off-by: Matthew Wilcox Tested-by: Martin K. Petersen Signed-off-by: James Bottomley commit 05d9881bc4c6f172997b7a59e4a1a95910c4ebd7 Merge: 3879f5d... 7f3ccb5... Author: Russell King Date: Tue Mar 17 23:51:52 2009 +0000 Merge branch 'for-russell' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 into devel commit fa4b57cc045d6134b9862b2873f9c8ba9ed53ffe Author: Suresh Siddha Date: Mon Mar 16 17:05:05 2009 -0700 x86, dmar: use atomic allocations for QI and Intr-remapping init Impact: invalid use of GFP_KERNEL in interrupt context Queued invalidation and interrupt-remapping will get initialized with interrupts disabled (while enabling interrupt-remapping). So use GFP_ATOMIC instead of GFP_KERNEL for memory alloacations. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 68a8ca593fac82e336a792226272455901fa83df Author: Suresh Siddha Date: Mon Mar 16 17:05:04 2009 -0700 x86: fix broken irq migration logic while cleaning up multiple vectors Impact: fix spurious IRQs During irq migration, we send a low priority interrupt to the previous irq destination. This happens in non interrupt-remapping case after interrupt starts arriving at new destination and in interrupt-remapping case after modifying and flushing the interrupt-remapping table entry caches. This low priority irq cleanup handler can cleanup multiple vectors, as multiple irq's can be migrated at almost the same time. While there will be multiple invocations of irq cleanup handler (one cleanup IPI for each irq migration), first invocation of the cleanup handler can potentially cleanup more than one vector (as the first invocation can see the requests for more than vector cleanup). When we cleanup multiple vectors during the first invocation of the smp_irq_move_cleanup_interrupt(), other vectors that are to be cleanedup can still be pending in the local cpu's IRR (as smp_irq_move_cleanup_interrupt() runs with interrupts disabled). When we are ready to unhook a vector corresponding to an irq, check if that vector is registered in the local cpu's IRR. If so skip that cleanup and do a self IPI with the cleanup vector, so that we give a chance to service the pending vector interrupt and then cleanup that vector allocation once we execute the lowest priority handler. This fixes spurious interrupts seen when migrating multiple vectors at the same time. [ This is apparently possible even on conventional xapic, although to the best of our knowledge it has never been seen. The stable maintainers may wish to consider this one for -stable. ] Signed-off-by: Suresh Siddha Cc: Eric W. Biederman Signed-off-by: H. Peter Anvin Cc: stable@kernel.org commit 05c3dc2c4b60387769cbe73174347de4cf85f0c9 Author: Suresh Siddha Date: Mon Mar 16 17:05:03 2009 -0700 x86, ioapic: Fix non atomic allocation with interrupts disabled Impact: fix possible race save_mask_IO_APIC_setup() was using non atomic memory allocation while getting called with interrupts disabled. Fix this by splitting this into two different function. Allocation part save_IO_APIC_setup() now happens before disabling interrupts. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 29b61be65a33c95564fa82e7e8d60d97adb68ea8 Author: Suresh Siddha Date: Mon Mar 16 17:05:02 2009 -0700 x86, x2apic: cleanup ifdef CONFIG_INTR_REMAP in io_apic code Impact: cleanup Clean up #ifdefs and replace them with helper functions. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 0280f7c416c652a2fd95d166f52b199ae61122c0 Author: Suresh Siddha Date: Mon Mar 16 17:05:01 2009 -0700 x86, x2apic: cleanup the IO-APIC level migration with interrupt-remapping Impact: simplification In the current code, for level triggered migration, we need to modify the io-apic RTE with the update vector information, along with modifying interrupt remapping table entry(IRTE) with vector and destination. This is to ensure that remote IRR bit inthe IOAPIC RTE gets cleared when the cpu does EOI. With this patch, for level triggered, we eliminate the io-apic RTE modification (with the updated vector information), by using a virtual vector (io-apic pin number). Real vector that is used for interrupting cpu will be coming from the interrupt-remapping table entry. Trigger mode in the IRTE will always be edge, and the actual level or edge trigger will be setup in the IO-APIC RTE. So a level triggered interrupt will appear as an edge to the local apic cpu but still as level to the IO-APIC. With this change, level irq migration can be done by simply modifying the interrupt-remapping table entry with out changing the io-apic RTE. And as the interrupt appears as edge at the cpu, in addition to do the local apic EOI, we need to do IO-APIC directed EOI to clear the remote IRR bit in the IO-APIC RTE. This simplies the irq migration in the presence of interrupt-remapping. Idea-by: Rajesh Sankaran Signed-off-by: Suresh Siddha Cc: Eric W. Biederman Signed-off-by: H. Peter Anvin commit cf6567fe40c55e9cffca7355cd34e50fb2871e4e Author: Suresh Siddha Date: Mon Mar 16 17:05:00 2009 -0700 x86, x2apic: fix clear_local_APIC() in the presence of x2apic Impact: cleanup, paranoia We were not clearing the local APIC in clear_local_APIC() in the presence of x2apic. Fix it. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 7c6d9f9785d156d0438401ef270322da3d5247db Author: Suresh Siddha Date: Mon Mar 16 17:04:59 2009 -0700 x86, x2apic: use virtual wire A mode in disable_IO_APIC() with interrupt-remapping Impact: make kexec work with x2apic disable_IO_APIC() gets called during crashdump aswell, which configures the IO-APIC/LAPIC so that legacy interrupts can be delivered for the kexec'd kernel. In the presence of interrupt-remapping, we need to change the interrupt-remapping configuration aswell as modifying IO-APIC for virtual wire B mode. To keep things simple during the crash, use virtual wire A mode (for which we don't need to touch io-apic and interrupt-remapping tables). Signed-off-by: Suresh Siddha Cc: Eric W. Biederman Signed-off-by: H. Peter Anvin commit 2e93456f5c069cf889c0c3acd1246ee88c49ae5c Author: Suresh Siddha Date: Mon Mar 16 17:04:58 2009 -0700 x86, intr-remapping: fix free_irte() to clear all the IRTE entries Impact: fix interrupt table entry leak Fix the typo which was not clearing all the interrupt remapping table entries corresponding to an irq. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 1531a6a6b81a4e6f9eec9a5608758a6ea14b96e0 Author: Suresh Siddha Date: Mon Mar 16 17:04:57 2009 -0700 x86, dmar: start with sane state while enabling dma and interrupt-remapping Impact: cleanup/sanitization Start from a sane state while enabling dma and interrupt-remapping, by clearing the previous recorded faults and disabling previously enabled queued invalidation and interrupt-remapping. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit eba67e5da6e971993b2899d2cdf459ce77d3dbc5 Author: Suresh Siddha Date: Mon Mar 16 17:04:56 2009 -0700 x86, dmar: routines for disabling queued invalidation and intr remapping Impact: new interfaces (not yet used) Routines for disabling queued invalidation and interrupt remapping. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 9d783ba042771284fb4ee5013c3d94220755ae7f Author: Suresh Siddha Date: Mon Mar 16 17:04:55 2009 -0700 x86, x2apic: enable fault handling for intr-remapping Impact: interface augmentation (not yet used) Enable fault handling flow for intr-remapping aswell. Fault handling code now shared by both dma-remapping and intr-remapping. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 0ac2491f57af5644f88383d28809760902d6f4d7 Author: Suresh Siddha Date: Mon Mar 16 17:04:54 2009 -0700 x86, dmar: move page fault handling code to dmar.c Impact: code movement Move page fault handling code to dmar.c This will be shared both by DMA-remapping and Intr-remapping code. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 4c5502b1c5744b2090414e1b80ca6388d5c46e06 Author: Suresh Siddha Date: Mon Mar 16 17:04:53 2009 -0700 x86, x2apic: fix lock ordering during IRQ migration Impact: fix potential deadlock on x2apic fix "hard-safe -> hard-unsafe lock order detected" with irq_2_ir_lock On x2apic enabled system: [ INFO: hard-safe -> hard-unsafe lock order detected ] 2.6.27-03151-g4480f15b #1 ------------------------------------------------------ swapper/1 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: (irq_2_ir_lock){--..}, at: [] get_irte+0x2f/0x95 and this task is already holding: (&irq_desc_lock_class){+...}, at: [] setup_irq+0x67/0x281 which would create a new lock dependency: (&irq_desc_lock_class){+...} -> (irq_2_ir_lock){--..} but this new dependency connects a hard-irq-safe lock: (&irq_desc_lock_class){+...} ... which became hard-irq-safe at: [] 0xffffffffffffffff to a hard-irq-unsafe lock: (irq_2_ir_lock){--..} ... which became hard-irq-unsafe at: ... [] __lock_acquire+0x571/0x706 [] lock_acquire+0x55/0x71 [] _spin_lock+0x2c/0x38 [] alloc_irte+0x8a/0x14b [] setup_IO_APIC_irq+0x119/0x30e [] setup_IO_APIC+0x146/0x6e5 [] native_smp_prepare_cpus+0x24e/0x2e9 [] kernel_init+0x5a/0x176 [] child_rip+0xa/0x11 [] 0xffffffffffffffff Fix this theoretical lock order issue by using spin_lock_irqsave() instead of spin_lock() Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit be721696cac9d66566d59b205ee573ecb2f7c35b Author: H. Peter Anvin Date: Tue Mar 17 15:26:06 2009 -0700 x86, setup: move 32-bit code to .text32 Impact: cleanup The setup code is mostly 16-bit code, but there is a small stub of 32-bit code at the end. Move the 32-bit code to a separate segment, .text32, to avoid scrambling the disassembly. Signed-off-by: H. Peter Anvin commit af4330631cd48987755f1a8d324dc318f60cf16b Merge: 2d6a5e9... 808ff69... Author: David S. Miller Date: Tue Mar 17 15:04:31 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 2d6a5e9500103680464a723a4564961675652680 Merge: bd257ed... f10023a... Author: David S. Miller Date: Tue Mar 17 15:01:30 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/igb/igb_main.c drivers/net/qlge/qlge_main.c drivers/net/wireless/ath9k/ath9k.h drivers/net/wireless/ath9k/core.h drivers/net/wireless/ath9k/hw.c commit 0a699af8e613a670be50245366fa18cb19ac5172 Author: H. Peter Anvin Date: Tue Mar 17 14:14:31 2009 -0700 x86-32: move _end to a dummy section Impact: build fix with CONFIG_RELOCATABLE Move _end into a dummy section, so that relocs.c will know it is a relocatable symbol. Signed-off-by: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Jeremy Fitzhardinge commit bd257ed9f1d129b4e881f513a406b435c8852565 Author: Dhananjay Phadke Date: Tue Mar 17 13:14:22 2009 -0700 netxen: fix firmware download warnings Fix following warnings, by using integer firmware types. drivers/net/netxen/netxen_nic_hw.c: In function 'netxen_load_firmware': drivers/net/netxen/netxen_nic_hw.c:1146: warning: comparison with string literal results in unspecified behavior drivers/net/netxen/netxen_nic_hw.c:1146: warning: comparison with string literal results in unspecified behavior drivers/net/netxen/netxen_nic_hw.c:1146: warning: comparison with string literal results in unspecified behavior drivers/net/netxen/netxen_nic_hw.c:1159: warning: comparison with string literal results in unspecified behavior drivers/net/netxen/netxen_nic_hw.c:1159: warning: comparison with string literal results in unspecified behavior drivers/net/netxen/netxen_nic_hw.c:1159: warning: comparison with string literal results in unspecified behavior Reported-by: Stephen Rothwell Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 2ffb4558194037133121e260022baa0d21590473 Author: Herbert Xu Date: Tue Mar 17 13:10:52 2009 -0700 gro: Fix vlan/netpoll check again Jarek Poplawski pointed out that my previous fix is broken for VLAN+netpoll as if netpoll is enabled we'd end up in the normal receive path instead of the VLAN receive path. This patch fixes it by calling the VLAN receive hook. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 704439ddf9f8ff1fc8c6d8abaac4bc4c95697e39 Author: Jeremy Fitzhardinge Date: Sat Mar 14 23:20:47 2009 -0700 x86/brk: put the brk reservations in their own section Impact: disambiguate real .bss variables from .brk storage Add a .brk section after the .bss section. This has no effect on the final vmlinux, but it more clearly distinguishes the space taken by actual .bss symbols, and the variable space reserved by .brk users. Signed-off-by: Jeremy Fitzhardinge commit 0b1c723d0bd199300a1a2de57a46000d17577498 Author: Jeremy Fitzhardinge Date: Sat Mar 14 23:19:38 2009 -0700 x86/brk: make the brk reservation symbols inaccessible from C Impact: bulletproofing, clarification The brk reservation symbols are just there to document the amount of space reserved by brk users in the final vmlinux file. Their addresses are irrelevent, and using their addresses will cause certain havok. Name them ".brk.NAME", which is a valid asm symbol but C can't reference it; it also highlights their special role in the symbol table. Signed-off-by: Jeremy Fitzhardinge commit da88b48b84e1a504b6a19aff9d5b8236a59e228a Merge: d2314e0... 85fab78... Author: Mark Brown Date: Tue Mar 17 19:07:26 2009 +0000 Merge branch 'pxa-ssp' into for-2.6.30 commit 60ac98213914cc615c67e84bfb964aa95a080d13 Author: H. Peter Anvin Date: Tue Mar 17 11:38:23 2009 -0700 x86-32: tighten the bound on additional memory to map Impact: Tighten bound to avoid masking errors The definition of MAPPING_BEYOND_END was excessive; this has a nasty tendency to mask bugs. We have learned over time that this kind of bug hiding can cause some very strange errors. Therefore, tighten the bound to only need to map the actual kernel area. Signed-off-by: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Yinghai Lu commit b8a22a6273d5aed248db2695ce9bf65eb3e9fbe6 Author: Jeremy Fitzhardinge Date: Mon Mar 16 12:10:07 2009 -0700 x86-32: remove ALLOCATOR_SLOP from head_32.S Impact: cleanup ALLOCATOR_SLOP is a vestigial remain from when we used the bootmem allocator to allocate the kernel's linear memory mapping. Now we directly reserve pages from the e820 mapping, and no longer require secondary structures to keep track of allocated pages. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit c090f532db3ab5b7be503f8ac84b0d33a18646c6 Author: Jeremy Fitzhardinge Date: Mon Mar 16 12:07:54 2009 -0700 x86-32: make sure we map enough to fit linear map pagetables Impact: crash fix head_32.S needs to map the kernel itself, and enough space so that mm/init.c can allocate space from the e820 allocator for the linear map of low memory. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 323a59613e5be6094c93261486de48a08d3a53f2 Author: Dmitry Artamonow Date: Fri Mar 13 01:03:49 2009 +0100 ALSA: drop outdated and broken sa11xx-uda1341 driver It depends on L3 support from 2.4 kernel (CONFIG_L3) that never got merged into mainline. Since there's no way to use it on any of supported machines (iPaq h3100 or h3600), better drop it for now. It can be reimplemented later using ASoC infrastructure (there's already a driver for uda1341 codec in mainline, so only CPU and machine parts need to be written). Signed-off-by: Dmitry Artamonow Cc: Russell King Signed-off-by: Takashi Iwai commit dbe36c9dd571e035078207862766963c4fc80262 Merge: 2ebfb8e... b1a0aac... Author: Takashi Iwai Date: Tue Mar 17 17:57:37 2009 +0100 Merge branch 'topic/snd_card_new-err' into topic/drop-l3 commit f2d28a2ebcb525a6ec7e2152106ddb385ef52b73 Author: Guillaume Knispel Date: Tue Mar 17 16:18:42 2009 +0100 printk: correct the behavior of printk_timed_ratelimit() Impact: fix jiffies-comparison sign-wrap behavior The behavior provided by printk_timed_ratelimit() is, in some situations, probably not what a caller would reasonably expect: bool printk_timed_ratelimit(unsigned long *caller_jiffies, unsigned int interval_msecs) { if (*caller_jiffies == 0 || time_after(jiffies, *caller_jiffies)) { *caller_jiffies = jiffies + msecs_to_jiffies(interval_msecs); return true; } return false; } On a 32 bit computer, if printk_timed_ratelimit() is initially called at time jiffies == Ja, *caller_jiffies is set to Ja + msecs_to_jiffies(interval_msecs): let's say Ja + 42 for this example. If this caller then doesn't call printk_timed_ratelimit() until jiffies == Ja + (1 << 31) + 42 (which can happen as soon as ~ 25 days later on a 1000 HZ system), printk_timed_ratelimit() will then always return false to this caller until jiffies loops completely (1 << 31 more ticks). Ths change makes it only return false if jiffies is in the small time window starting at the previous call when true was returned and ending interval_msecs later. Note that if jiffies loops completely between two calls to printk_timed_ratelimit(), it will obviously still wrongly return false, but this is something with a low probability. If something completely reliable is needed I guess jiffies_64 must be used (which this change does not do). Signed-off-by: Guillaume Knispel Cc: Ulrich Drepper Cc: Rusty Russell Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: <20090317161842.0059096b@xilun.lan.proformatique.com> Signed-off-by: Ingo Molnar commit 47239561e39bceefecc3cd67f71fcf86a198a8ff Merge: ed681a9... 5bee17f... Author: Ingo Molnar Date: Tue Mar 17 16:21:20 2009 +0100 Merge branch 'linus' into core/printk commit 1329f4550f8ee141437f3b5f4db0f2add7639e29 Author: David Woodhouse Date: Tue Mar 17 15:10:51 2009 +0000 solos: Disable DMA until we have an FPGA update with it actually implemented. Signed-off-by: David Woodhouse commit 0fc36aa52a602bfe2aeb7ded7e90b0fa70df24c2 Author: Nathan Williams Date: Sat Feb 7 10:19:13 2009 +1100 solos: Automatically determine number of ports Signed-off-by: Nathan Williams Signed-off-by: David Woodhouse commit 97d759d3e86f9c7ced094352838e7e4d1cf8cddf Author: David Woodhouse Date: Tue Mar 17 14:59:34 2009 +0000 solos: Reset device on unload, free pending skbs Signed-off-by: David Woodhouse commit 7f3ccb5a22c945916390a9bd7101d0f553fa0fbd Author: Krzysztof Hałasa Date: Tue Mar 17 14:39:30 2009 +0100 IXP4xx: PCI ixp4xx_scan_bus() is __devinit. Signed-off-by: Krzysztof Hałasa commit de3ce856d67b770f7d546e3f3e6a3972deb319a8 Author: Krzysztof Hałasa Date: Tue Mar 17 13:51:52 2009 +0100 IXP4xx: cpu_is_ixp4*() now recognizes all IXP4xx processors. Signed-off-by: Krzysztof Hałasa commit 5ca328d24d25fa2c8d2aa33cb85116695be11070 Author: Krzysztof Hałasa Date: Fri Mar 13 19:09:00 2009 +0100 IXP4xx: add Ethernet and NPE support for IXP43x CPU. Signed-off-by: Krzysztof Hałasa commit 0a07232ff62d1523c5fa7292180890f4de670b95 Author: Krzysztof Hałasa Date: Fri Mar 13 17:57:04 2009 +0100 IXP4xx: workaround for PCI prefetch problems near 64 MB boundary. Map unused registers at the end of DMA region at 64 MB to allow PCI masters to cross the boundary when prefetching data from SDRAM. Signed-off-by: Krzysztof Hałasa commit d2314e0e27566f8830ebed3587cc049e07e6a4ee Author: Atsushi Nemoto Date: Mon Mar 16 23:26:20 2009 +0900 ASoC: Only deregister AC97 dev if it's name was not "AC97" The commit 14fa43f53ff3a9c3d8b9662574b7369812a31a97 ("ASoC: Only register AC97 bus if it's not done already") added a condition for calling of soc_ac97_dev_register() but not added for calling of soc_ac97_dev_unregister(). This patch adds same condition for soc_ac97_dev_unregister(). Without this fix, kernel crashes when unloading an asoc driver. Signed-off-by: Atsushi Nemoto Signed-off-by: Mark Brown commit c20351846efcb755ba849d9fb701fbd9a1ffb7c2 Author: Paul Mundt Date: Tue Mar 17 21:19:49 2009 +0900 sh: Flush only the needed range when unmapping a VMA. This follows the ARM change from Aaro Koskinen: When unmapping N pages (e.g. shared memory) the amount of TLB flushes done can be (N*PAGE_SIZE/ZAP_BLOCK_SIZE)*N although it should be N at maximum. With PREEMPT kernel ZAP_BLOCK_SIZE is 8 pages, so there is a noticeable performance penalty when unmapping a large VMA and the system is spending its time in flush_tlb_range(). The problem is that tlb_end_vma() is always flushing the full VMA range. The subrange that needs to be flushed can be calculated by tlb_remove_tlb_entry(). This approach was suggested by Hugh Dickins, and is also used by other arches. The speed increase is roughly 3x for 8M mappings and for larger mappings even more. Bits and peices are taken from the ARM patch as well as the existing arch/um implementation that is quite similar. The end result is a significant reduction in both partial and full TLB flushes initiated through flush_tlb_range(). At the same time, the nommu implementation was broken, had a superfluous cache flush, and subsequently would have triggered a BUG_ON() if a code-path had triggered it. Tidy this up for correctness and provide a nopped-out implementation there. More background on the initial discussion can be found at: http://marc.info/?t=123609820900002&r=1&w=2 http://marc.info/?t=123660375800003&r=1&w=2 Signed-off-by: Paul Mundt commit 86f319529372953e353dc998bc6a761949614903 Author: Joerg Roedel Date: Mon Mar 16 17:50:28 2009 +0100 dma-debug/x86: register pci bus for dma-debug leak detection Impact: detect dma memory leaks for pci devices Signed-off-by: Joerg Roedel commit 41531c8f5f05aba5ec645d9770557eedbf75b422 Author: Joerg Roedel Date: Mon Mar 16 17:32:14 2009 +0100 dma-debug: add a check dma memory leaks Impact: allow architectures to monitor busses for dma mem leakage This patch adds checking code to detect if a device has pending DMA operations when it is about to be unbound from its device driver. Signed-off-by: Joerg Roedel commit 2e34bde18576a02c897ae6b699ea26301d92be1b Author: Joerg Roedel Date: Mon Mar 16 16:51:55 2009 +0100 dma-debug: add checks for kernel text and rodata Impact: get notified if a device dma maps illegal areas This patch adds a check to print a warning message when a device driver tries to map a memory area from the kernel text segment or rodata. Signed-off-by: Joerg Roedel commit 6c132d1bcdc716e898b4092bb1abc696505c37e7 Author: David Woodhouse Date: Mon Jan 19 16:52:39 2009 +0100 dma-debug: print stacktrace of mapping path on unmap error Impact: saves stacktrace of a dma mapping and prints it if there is an error Signed-off-by: David Woodhouse Signed-off-by: Joerg Roedel commit 187f9c3f05373df4f7cbae2e656450acdbba7558 Author: Joerg Roedel Date: Fri Jan 9 16:28:07 2009 +0100 dma-debug: Documentation update Impact: add documentation about DMA-API debugging to DMA-API.txt Signed-off-by: Joerg Roedel commit 2118d0c548e8a2205e1a29eb5b89e5f2e9ae2c8b Author: Joerg Roedel Date: Fri Jan 9 15:13:15 2009 +0100 dma-debug: x86 architecture bindings Impact: make use of DMA-API debugging code in x86 Signed-off-by: Joerg Roedel commit ac26c18bd35d982d1ba06020a992b1085fefc3e2 Author: David Woodhouse Date: Thu Feb 12 16:19:13 2009 +0100 dma-debug: add function to dump dma mappings This adds a function to dump the DMA mappings that the debugging code is aware of -- either for a single device, or for _all_ devices. This can be useful for debugging -- sticking a call to it in the DMA page fault handler, for example, to see if the faulting address _should_ be mapped or not, and hence work out whether it's IOMMU bugs we're seeing, or driver bugs. Signed-off-by: David Woodhouse commit 337fff8b5ed0573ea106491c6de47bd7fe623500 Author: Thomas Gleixner Date: Mon Mar 16 10:04:53 2009 +0100 debugobjects: delay free of internal objects Impact: avoid recursive kfree calls, less slab activity on heavy load debugobjects checks on kfree whether tracked objects are freed. When a tracked object is freed debugobjects frees the internal reference object as well. The debug object slab cache is marked to not recurse into debugobjects when a slab objects is freed, but the recursive call can be problematic versus locking in the memory allocator. Defer the freeing of debug slab objects via schedule_work. The reasons not to use RCU are: 1) rcu makes the data structure larger 2) there is no real need for rcu as nothing references the obj after we freed it 3) under heavy load it is easier to reuse the to be freed objects instead of allocating new objects from the slab. This lowered the slab activity significantly in a heavy load networking test where lots of timers are created/destroyed. The workqueue based delayed free allows us just to put the to be freed objects back into the object pool and reuse them right away. Signed-off-by: Thomas Gleixner LKML-Reference: <200903162049.58058.nickpiggin@yahoo.com.au> commit 1be1cb7b47f0744141ed61cdb25648819ae1a56f Author: Thomas Gleixner Date: Mon Mar 16 18:53:18 2009 +0100 debugobjects: replace static objects when slab cache becomes available Impact: refactor/consolidate object management, prepare for delayed free debugobjects allocates static reference objects to track objects which are initialized or activated before the slab cache becomes available. These static reference objects have to be handled seperately in free_object(). The handling of these objects is in the way of implementing a delayed free functionality. The delayed free is required to avoid callbacks into the mm code from debug_check_no_obj_freed(). Replace the static object references with dynamic ones after the slab cache has been initialized. The static objects are now marked initdata. Signed-off-by: Thomas Gleixner LKML-Reference: <200903162049.58058.nickpiggin@yahoo.com.au> commit 708dc5125309cd33c5daaad3026cc4ae6ef39c8b Author: Luis Henriques Date: Mon Mar 16 19:59:02 2009 +0000 sched: small optimisation of can_migrate_task() There were 3 invocations of task_hot() in can_migrate_task(). Replace these 3 invocations by only one invocation, cached in a local variable. Signed-off-by: Luis Henriques LKML-Reference: <20090316195902.GA6197@hades.domain.com> Signed-off-by: Ingo Molnar commit 80dd99b368cf6501be88ab517bbbb5bf352b75b8 Author: Luis Henriques Date: Mon Mar 16 19:58:09 2009 +0000 sched: fix typos in documentation Fixed typos in function documentation. Signed-off-by: Luis Henriques LKML-Reference: <20090316195809.GA6073@hades.domain.com> Signed-off-by: Ingo Molnar commit f0348c438c9ea156194d31fadde4a9e75522196f Author: Yinghai Lu Date: Mon Mar 16 16:33:59 2009 -0700 x86: MTRR workaround for system with stange var MTRRs Impact: don't trim e820 according to wrong mtrr Ozan reports that his server emits strange warning. it turns out the BIOS sets the MTRRs incorrectly. Ignore those strange ranges, and don't trim e820, just emit one warning about BIOS Reported-by: Ozan Çağlayan Signed-off-by: Yinghai Lu LKML-Reference: <49BEE1E7.7020706@kernel.org> Signed-off-by: Ingo Molnar commit 4176935b58eeb636917e65a2c388e4607e36cce6 Merge: c269fc8... 6adaad1... Author: Ingo Molnar Date: Tue Mar 17 10:37:37 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 3a3b311ca375a37b29bb78b030f96bf97dee97f5 Author: Paul Mundt Date: Tue Mar 17 17:59:31 2009 +0900 sh: Update debugfs ASID dumping for 16-bit ASID support. Signed-off-by: Paul Mundt commit c54a43e90b80993b2e0772d678563cb2bc6a1b3b Author: Paul Mundt Date: Tue Mar 17 17:58:33 2009 +0900 sh: tlb-pteaex: Kill off legacy PTEA updates. While harmless, PTEA has different semantics on these parts, and is only used in extended TLB mode. Kill off the legacy support. Signed-off-by: Paul Mundt commit 8263a67e169fdf0d06d172acbf6c03ae172a69d4 Author: Paul Mundt Date: Tue Mar 17 17:49:49 2009 +0900 sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. This adds support for extended ASIDs (up to 16-bits) on newer SH-X3 cores that implement the PTAEX register and respective functionality. Presently only the 65nm SH7786 (90nm only supports legacy 8-bit ASIDs). The main change is in how the PTE is written out when loading the entry in to the TLB, as well as in how the TLB entry is selectively flushed. While SH-X2 extended mode splits out the memory-mapped U and I-TLB data arrays for extra bits, extended ASID mode splits out the address arrays. While we don't use the memory-mapped data array access, the address array accesses are necessary for selective TLB flushes, so these are implemented newly and replace the generic SH-4 implementation. With this, TLB flushes in switch_mm() are almost non-existent on newer parts. Signed-off-by: Paul Mundt commit 37ba1b62836d2440980cf553c49556393b05c6cd Merge: 1713c0d... dde332b... Author: Takashi Iwai Date: Tue Mar 17 09:28:13 2009 +0100 Merge branch 'fix/opl3sa2-suspend' into topic/isa-misc commit c269fc8c537d761f36cb98e637ae934d9331a9d5 Author: Tom Zanussi Date: Tue Mar 17 01:20:59 2009 -0500 tracing: fix leak in event_format_read() Impact: fix memory leak If event_format_read() exits early due to nonzero ppos, the previous kmalloc doesn't get freed - might as well do the check before the kmalloc and avoid the problem. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker LKML-Reference: <1237270859.8033.141.camel@charm-linux> Signed-off-by: Ingo Molnar commit e4106133341121aeaad732d4613de06d9033b5ac Merge: 7243f21... 2fc1dfb... Author: Ingo Molnar Date: Tue Mar 17 08:37:20 2009 +0100 Merge branch 'tracing/syscalls' into tracing/core commit da78800632197ac12adcdefbf09991d82adb8201 Author: Nobuhiro Iwamatsu Date: Tue Mar 17 05:53:26 2009 +0000 sh: sh7763rdp: Change IRQ number for sh_eth of sh7763rdp IRQ for sh_eth of sh7763rdp became multi handling. Therefore, the IRQ number of sh_eth is changed, too. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 32910e2c52cae552f2651c5360bae8033adb8aac Author: Nobuhiro Iwamatsu Date: Tue Mar 17 05:54:37 2009 +0000 sh: espt-giga board support This adds support for the ESPT-Giga (Ethernet Serial Parallel Translator) SH7763-based reference board. Board support is relatively sparse, presently supporting serial, gigabit ethernet, USB host, and MTD. More information (in Japanese) available at: http://www.cente.jp/product/cente_hard/ESPT-Giga.html Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit e60cc7a6f02598fc23c68a656fe9c263d6531ca0 Author: Bjorn Helgaas Date: Fri Mar 13 12:08:26 2009 -0600 ACPI: move private declarations to internal.h A number of things that shouldn't be exposed outside the ACPI core were declared in include/acpi/acpi_drivers.h, where anybody can see them. This patch moves those declarations to a new "internal.h" inside drivers/acpi. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 1c48aa36ef301d7b07674313bae65ef2496801a7 Author: Bjorn Helgaas Date: Thu Feb 19 14:45:47 2009 -0700 ACPI: update Kconfig help texts (no functional changes) Use "help" (not "---help---") consistently throughout. ACPI can't be a module, so if both ACPI & APM are configured, we use ACPI. Update pointers to ACPI CA and Linux ACPI projects. Replace "Compaq" with "Hewlett-Packard" in the spec developer list. Fix typo in /sys/module path. The user-space daemon is "acpid", not "acpi". Add standard "To compile this driver as a module ..." help text. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit c686d141c7c668ac186015841a1ccd285a1f3362 Author: Bjorn Helgaas Date: Tue Feb 17 13:49:10 2009 -0700 ACPI: PCI: use generic pci_swizzle_interrupt_pin() Use the generic pci_swizzle_interrupt_pin() instead of ACPI-specific code. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 5f0dccaa81e239477413d0def1133850530f1bbe Author: Bjorn Helgaas Date: Tue Feb 17 14:00:55 2009 -0700 ACPI: pci_link: simplify list of link devices We don't need a struct containing a count and a list_head; a simple list_head is sufficient. The list iterators handle empty lists fine. Furthermore, we don't need to check for null list entries because we only add non-null entries. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 6eca4b4ca168981d7648be371945c2a21f463a45 Author: Bjorn Helgaas Date: Tue Feb 17 14:00:50 2009 -0700 ACPI: pci_link: remove unnecessary null pointer checks Better to oops and learn about a bug than to silently cover it up. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit c9d6244329c8149312dba27e78dc4a83b35a6ae5 Author: Bjorn Helgaas Date: Tue Feb 17 14:00:45 2009 -0700 ACPI: pci_link: remove unnecessary casts and initializations Remove unnecessary casts and initializations. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 1c9ca3a7d41b5db884033900b539b9aeb61a399e Author: Bjorn Helgaas Date: Tue Feb 17 14:00:40 2009 -0700 ACPI: pci_link: clean up whitespace This patch makes whitespace and indentation more consistent. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit ff69f2bba67bd45514923aaedbf40fe351787c59 Author: alex.shi Date: Wed Mar 4 11:55:26 2009 -0800 acpi: fix of pmtimer overflow that make Cx states time incorrect We found Cx states time abnormal in our some of machines which have 16 LCPUs, the C0 take too many time while system is really idle when kernel enabled tickless and highres. powertop output is below: PowerTOP version 1.9 (C) 2007 Intel Corporation Cn Avg residency P-states (frequencies) C0 (cpu running) (40.5%) 2.53 Ghz 0.0% C1 0.0ms ( 0.0%) 2.53 Ghz 0.0% C2 128.8ms (59.5%) 2.40 Ghz 0.0% 1.60 Ghz 100.0% Wakeups-from-idle per second : 4.7 interval: 20.0s no ACPI power usage estimate available Top causes for wakeups: 41.4% ( 24.9) : extra timer interrupt 20.2% ( 12.2) : usb_hcd_poll_rh_status (rh_timer_func) After tacking detailed for this issue, Yakui and I find it is due to 24 bit PM timer overflows when some of cpu sleep more than 4 seconds. With tickless kernel, the CPU want to sleep as much as possible when system idle. But the Cx sleep time are recorded by pmtimer which length is determined by BIOS. The current Cx time was gotten in the following function from driver/acpi/processor_idle.c: static inline u32 ticks_elapsed(u32 t1, u32 t2) { if (t2 >= t1) return (t2 - t1); else if (!(acpi_gbl_FADT.flags & ACPI_FADT_32BIT_TIMER)) return (((0x00FFFFFF - t1) + t2) & 0x00FFFFFF); else return ((0xFFFFFFFF - t1) + t2); } If pmtimer is 24 bits and it take 5 seconds from t1 to t2, in above function, just about 1 seconds ticks was recorded. So the Cx time will be reduced about 4 seconds. and this is why we see above powertop output. To resolve this problem, Yakui and I use ktime_get() to record the Cx states time instead of PM timer as the following patch. the patch was tested with i386/x86_64 modes on several platforms. Acked-by: Venkatesh Pallipadi Tested-by: Alex Shi Signed-off-by: Alex Shi Signed-off-by: Yakui.zhao Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 40f49e7ed77f1b753a7243c0137e4767a50ea8bd Author: Paul Mundt Date: Tue Mar 17 12:47:56 2009 +0900 sh: dma: Make G2 DMA configurable. Follow the PVR2 DMAC change for G2 DMA. Signed-off-by: Paul Mundt commit 6adaad14d7d4d3ef31b4e2dc992b18b5da7c4eb3 Author: Steven Rostedt Date: Mon Mar 16 21:57:17 2009 -0400 tracing: stop comm recording on tracing off Impact: fix for losing comms in trace The command lines of tasks are cached at sched switch to not need to record them at every trace point. Disabling the tracing on stops the recording of traces, but does not stop the caching of command lines. When the tracing is off the cache may overflow and cause the tracing to show incorrect tasks matching the PIDs. This patch disables prevents updates to the comm cache when the ring buffer is off. Signed-off-by: Steven Rostedt commit 4ca530852346be239b7c19e7bec5d2b78855bebe Author: Steven Rostedt Date: Mon Mar 16 19:20:15 2009 -0400 tracing: protect reader of cmdline output Impact: fix to one cause of incorrect comm outputs in trace The spinlock only protected the creation of a comm <=> pid pair. But it was possible that a reader could look up a pid, and get the wrong comm because it had no locking. This also required changing trace_find_cmdline to copy the comm cache and not just send back a pointer to it. Signed-off-by: Steven Rostedt commit afd4672dc7610b7feef5190168aa917cc2e417e4 Author: Theodore Ts'o Date: Mon Mar 16 23:12:23 2009 -0400 ext4: Add auto_da_alloc mount option Add a mount option which allows the user to disable automatic allocation of blocks whose allocation by delayed allocation when the file was originally truncated or when the file is renamed over an existing file. This feature is intended to save users from the effects of naive application writers, but it reduces the effectiveness of the delayed allocation code. This mount option disables this safety feature, which may be desirable for prodcutions systems where the risk of unclean shutdowns or unexpected system crashes is low. Signed-off-by: "Theodore Ts'o" commit 03303549b1695dc024d4a653cc16bd79f78f9750 Author: Frederic Weisbecker Date: Mon Mar 16 22:41:00 2009 +0100 tracing/ftrace: fix the check on nopped sites Impact: fix a dynamic tracing failure Recently, the function and function graph tracers failed to use dynamic tracing after the following commit: fa9d13cf135efbd454453a53b6299976bea245a9 (ftrace: don't try to __ftrace_replace_code on !FTRACE_FL_CONVERTED rec) The patch is right except a mistake on the check for the FTRACE_FL_CONVERTED flag. The code patching is aborted in case of successfully nopped sites. What we want is the opposite: ignore the callsites that haven't been nopped. Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 42854dc0a6320ff36722749acafa0697522d9556 Author: Jeremy Fitzhardinge Date: Mon Mar 16 17:24:34 2009 -0700 x86, paravirt: prevent gcc from generating the wrong addressing mode Impact: fix crash on VMI (VMware) When we generate a call sequence for calling a paravirtualized function, we presume that the generated code is "call *0xXXXXX", which is a 6 byte opcode; this is larger than a normal direct call, and so we can patch a direct call over it. At the moment, however we give gcc enough rope to hang us by putting the address in a register and generating a two byte indirect-via-register call. Prevent this by explicitly dereferencing the function pointer and passing it into the asm as a constant. This prevents crashes in VMI, as it cannot handle unpatchable callsites. Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria LKML-Reference: <49BEEDC2.2070809@goop.org> Signed-off-by: H. Peter Anvin commit da62e71d13ad0b76011491e36cb58999c464516a Author: Paul Mundt Date: Tue Mar 17 09:30:36 2009 +0900 sh: dma: Make PVR2 DMA configurable. With arch/sh/drivers/dma/ always being built, the Dreamcast DMA engines are being unconditionally built in, regardless of whether the DMA API is enabled or not. This is a regression from previous behaviour, but there is not much advantage in building them all in unconditionally regardless. Add a new config option to make it optional, and update the only user of it to reflect that. Signed-off-by: Paul Mundt commit 3879f5d6f03b66626af014cbb6071ad4d79b1c42 Merge: 607b067... 6e1588c... Author: Russell King Date: Mon Mar 16 22:28:04 2009 +0000 Merge branch 'imx-fb-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into devel Conflicts: drivers/video/mx3fb.c commit 808ff697b357cee54e214efd27921a9ec6461a94 Author: Reinette Chatre Date: Wed Mar 11 11:18:01 2009 -0700 iwlwifi: correct log level when error occurs user needs to see this message even if debugging disabled Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 18d426c4a8991d1d6c0dc33a62b610b8a6ffc1d2 Author: Reinette Chatre Date: Wed Mar 11 11:18:00 2009 -0700 iwlwifi: print contents of control register when error occurs hopefully the register contents will guide us to why this failure occured Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 48676eb3c3de9013de7d9a63fb8ffb70cd540d95 Author: Mohamed Abbas Date: Wed Mar 11 11:17:59 2009 -0700 iwlagn: fix warning when set WEP key iwl_clear_station_table will be called every time rxon called. In this function ucode_key_table is set to 0 even though a static WEP security is set. This will cause in many warning and might be an issue if dynamic WEP is set. This patch make sure we keep track of all existing static WEP when this function is called. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fd9377ee6c351b3fd27bcc56fd5e24622df180bb Author: Reinette Chatre Date: Wed Mar 11 11:17:58 2009 -0700 iwl3945: unmap previously mapped memory During preparation of TX we create DMA mapping to TX command as part of preparing the TFD. This mapping needs to be cleared at the time TFD is freed. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 732587ab438d7528e38df7ceb2c46db9774dcf08 Author: Abhijeet Kolekar Date: Wed Mar 11 11:17:57 2009 -0700 iwl3945: use iwl_tx_cmd_complete iwl3945 uses iwl_tx_cmd_complete to reclaim the unused buffers of the queue. iwl_tx_cmd_complete in turn call the iwl_hcmd_queue_reclaim which will unmap the dma mapping to tx_cmd and frees the memory. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dd5b687edacab6cfacf7b9983e86a60c0612e994 Author: Abhijeet Kolekar Date: Wed Mar 11 11:17:56 2009 -0700 iwl3945 : fix rate scaling Patch fixes the bug 1900 at http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1900 Issues: Throughput and success ratio calculations were not done properly. Number of retries were exceeding 16. Fix: Patch fixes above issues by doing window calculations inline with iwlwifi Patch adds sanity check to limit number of retries to 16. Signed-off-by: Abhijeet Kolekar Acked-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5c8df2d56a160a31386ee7807adfc1c74e826535 Author: Abhijeet Kolekar Date: Wed Mar 11 11:17:55 2009 -0700 iwl3945: use iwl_led structure 3945 can now use iwl_led's structure from iwlwifi. Patch also removes CONFIG_IWL3945_LEDS flag from Kconfig as 3945's led support will now be enabled if user selects CONFIG_IWLWIFI_LEDS. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fa11d525ef9e4870a080868a7588d27ca8e87c5e Author: Abhijeet Kolekar Date: Wed Mar 11 11:17:54 2009 -0700 iwl3945: fix sparse error error is: iwl3945-base.c:545:5: warning: symbol 'iwl3945_set_dynamic_key' was not declared. Should it be static? Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3c4955f8d9b706231d226d7a73877cb7d786277f Author: Wey-Yi Guy Date: Tue Mar 10 14:35:12 2009 -0700 iwlwifi: verify the antenna selection when receive fixed rate debugfs When iwlwifi driver receive fixed rate debugfs command, validate the antenna selection, if the selection is invalid, report the valid antenna choice and do not set the rate scale table to fixed rate. Otherwise, set the entire rate scale table to the fixed rate request by the user. this validation can prevent sysassert happen in uCode Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit df36c044f51ba6889c2d8b0efd285303bf2a0fbe Author: Wey-Yi Guy Date: Tue Mar 10 14:35:11 2009 -0700 iwlwifi: check IEEE80211_TX_STAT_AMPDU for agg pkt when perform rate scaling, in tx status function, checking for IEEE80211_TX_STAT_AMPDU flag instead of IEEE_TX_CTL_AMPDU flag to perform AMPDU rate scaling operation. IEEE80211_TX_CTL_AMPDU was set by mac80211 for aggregation pkt. But when iwlwifi receive the tx status reply, it reset the flag to following info->flags = IEEE80211_TX_STAT_ACK; info->flags |= IEEE80211_TX_STAT_AMPDU; it causes the rate-scaling to not work for aggregation pkt if we checking for IEEE80211_TX_CTL_AMPDU flag. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8fe723117a8ef543b6e68ba24e50e1c15250f6c5 Author: Wey-Yi Guy Date: Tue Mar 10 14:35:10 2009 -0700 iwlwifi: HT performance improvement changes During rate scaling, checking for 0 retry count before decrement the count by 1, this can avoid the retry count to become 255 (0xff), which will cause the rate to drop faster than what we expect during good condition (receive 0 retry packet). also change the algorithm to make the rate not drop faster than what we like. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 86b4766b059e071c5e8d680be48cf730355dca5a Author: Wey-Yi Guy Date: Tue Mar 10 14:35:09 2009 -0700 iwlwifi: remove un-necessary rs_tl_turn_on_agg() after agg enabled After the MLME handshaking complete and tx aggregation started for the tid. Do not send unnecessary turn on aggregation request to mac80211. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit adb7b5e62ba84b57692ebfa12f4b80d6cf0801a9 Author: Wey-Yi Guy Date: Tue Mar 10 14:35:08 2009 -0700 iwlwifi: add rf information in rate_scale debugfs command Adding more Radio information when displaying rate_scale_table. This can help to understand how many antenna and the current RF condition such as SISO, MIMO2, MIMO3. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d8ae4f52d8244cc4a0f0983e65dfc31739739de9 Author: Wey-Yi Guy Date: Tue Mar 10 14:35:07 2009 -0700 iwlwifi: add valid tx antenna information in rate_scale_table debugfs when display rate_scale_table debugfs information, also display valid tx antenna information, this will help user to select correct antenna when issue fixed rate debugfs command Signed-off-by: Wey-Yi Guy Acked-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 141fa61f10c419cb9b47a042eed79df621db75c6 Author: John Daiker Date: Tue Mar 10 06:59:54 2009 -0700 ray_cs: checkpatch.pl and Lindent cleanups Before: 1099 errors, 93 warnings, 2854 lines checked After: 19 errors, 47 warnings, 2976 lines checked The big bulk of this is code indent and over 80 character lines (Lindent did this part) Other changes are foo * bar spacing, and trailing whitespace. v2: Cleans up ill-indented comments. Subsequently, this reduces the number of warnings, too. Thanks to Joe Perches for pointing this out! v3: Ran the whole file through Lindent first... which does most of the work for me. :) Again, thanks to Joe Perches for this. This is my final answer! Signed-off-by: John Daiker Signed-off-by: John W. Linville commit a66098daacee2f354dab311b58011e7076aa248c Author: Lennert Buytenhek Date: Tue Mar 10 10:13:33 2009 +0100 mwl8k: Marvell TOPDOG wireless driver Add a driver for Marvell 88w8xxx TOPDOG PCI/PCIe wireless parts. This initial version supports the 88w8687 802.11b/g PCIe part on channels 1-11, and only STA mode is currently implemented. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 217ba9da8ea6bb270a1f463367083cc5d99f2493 Author: Jouni Malinen Date: Tue Mar 10 10:55:50 2009 +0200 ath9k: Fix FIF_PROMISC_IN_BSS processing in station mode We must not disable ACK sending in this case since it would break normal station operations. In addition, clarify the comment about AP mode to make more sense. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit eeee1320b768a18822691126becc802c706aab5a Author: Sujith Date: Tue Mar 10 10:39:53 2009 +0530 ath9k: Add spectrum management to HW capabilities Signed-off-by: Sujith Signed-off-by: John W. Linville commit 15cc0f1ac670d9ff59cbcddb668900e8824b372a Author: Luis R. Rodriguez Date: Mon Mar 9 22:09:42 2009 -0400 ath9k: make few eeprom and calib items static This fixes the sparse complaints: drivers/net/wireless/ath9k/eeprom.c:1407:5: warning: symbol 'ath9k_hw_4k_get_spur_channel' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:1436:19: warning: symbol 'eep_4k_ops' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2808:5: warning: symbol 'ath9k_hw_def_get_spur_channel' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2837:19: warning: symbol 'eep_def_ops' was not declared. Should it be static? CC [M] drivers/net/wireless/ath9k/eeprom.o CHECK drivers/net/wireless/ath9k/mac.c CC [M] drivers/net/wireless/ath9k/mac.o CHECK drivers/net/wireless/ath9k/calib.c drivers/net/wireless/ath9k/calib.c:883:6: warning: symbol 'ar9285_clc' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c117fa0bf5f5b3d362b590ed6e80499defe14505 Author: Luis R. Rodriguez Date: Mon Mar 9 22:09:41 2009 -0400 ath9k: downgrade xmit queue full message to xmit debug This is not a fatal message, hitting it simply means we're going to tell the upper layers to slow their horses down but as we make more descriptors available we let the show continue by waking up the queues in ath_wake_mac80211_queue(). We downgrade this as otherwise we fill up your kernel log with messages which can be common under heavy traffic. Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4a5af9c2923b6d8ce31a7fe84d7dc5431cd844a0 Author: Luis R. Rodriguez Date: Mon Mar 9 22:08:27 2009 -0400 mac80211_hwsim: add regulatory testing options This adds a module parameter for mac80211_hwsim regulatory testing. This module parameter is designed specifically to help test the different possible types of driver specific regulatory requests and also helps to test world roaming, all without any hardware. If you want to just simply test different alpha2s just use the userspace regulatory request as this won't buy you anything new. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 73d54c9e74c4d8ee8a41bc516f481f0f754eca32 Author: Luis R. Rodriguez Date: Mon Mar 9 22:07:42 2009 -0400 cfg80211: add regulatory netlink multicast group This allows us to send to userspace "regulatory" events. For now we just send an event when we change regulatory domains. We also notify userspace when devices are using their own custom world roaming regulatory domains. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7db90f4a25bd4184f3d36dfa4f512f53b0448da7 Author: Luis R. Rodriguez Date: Mon Mar 9 22:07:41 2009 -0400 cfg80211: move enum reg_set_by to nl80211.h We do this so we can later inform userspace who set the regulatory domain and provide details of the request. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0fee54cab7d5ebc58fad8c6a0703c4ea016405e3 Author: Luis R. Rodriguez Date: Mon Mar 9 22:07:40 2009 -0400 cfg80211: remove REGDOM_SET_BY_INIT This is not used as we can always just assume the first regulatory domain set will _always_ be a static regulatory domain. REGDOM_SET_BY_CORE will be the first request from cfg80211 for a regdomain and that then populates the first regulatory request. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1a28c78b46caec7628985728e7f0c4aef68e33e7 Author: Herton Ronaldo Krzesinski Date: Tue Mar 10 10:11:09 2009 -0300 mac80211: deauth before flushing STA information Even after commit "mac80211: deauth when interface is marked down" (e327b847 on Linus tree), userspace still isn't notified when interface goes down. There isn't a problem with this commit, but because of other code changes it doesn't work on kernels >= 2.6.28 (works if same/similar change applied on 2.6.27 for example). The issue is as follows: after commit "mac80211: restructure disassoc/deauth flows" in 2.6.28, the call to ieee80211_sta_deauthenticate added by commit e327b847 will not work: because we do sta_info_flush(local, sdata) inside ieee80211_stop (iface.c), all stations in interface are cleared, so when calling ieee80211_sta_deauthenticate->ieee80211_set_disassoc (mlme.c), inside ieee80211_set_disassoc we have this in the beginning: sta = sta_info_get(local, ifsta->bssid); if (!sta) { The !sta check triggers, thus the function returns early and ieee80211_sta_send_apinfo(sdata, ifsta) later isn't called, so wpa_supplicant/userspace isn't notified with SIOCGIWAP. This commit moves deauthentication to before flushing STA info (sta_info_flush), thus the above can't happen and userspace is really notified when interface goes down. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit af88b9078d4aa31d667d2d82601ede9cae3bac37 Author: Helmut Schaa Date: Mon Mar 9 15:47:08 2009 +0100 mac80211: handle failed scan requests in STA mode If cfg80211 requests a scan it awaits either a return code != 0 from the scan function or the cfg80211_scan_done to be called. In case of a STA mac80211's scan function ever returns 0 and queues the scan request. If ieee80211_sta_work is executed and ieee80211_start_scan fails for some reason cfg80211_scan_done will never be called but cfg80211 still thinks the scan was triggered successfully and will refuse any future scan requests due to drv->scan_req not being cleaned up. If a scan is triggered from within the MLME a similar problem appears. If ieee80211_start_scan returns an error, local->scan_req will not be reset and mac80211 will refuse any future scan requests. Hence, in both cases call ieee80211_scan_failed (which notifies cfg80211 and resets local->scan_req) if ieee80211_start_scan returns an error. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 8830cb678b13004ab54f606345769f1e74e378c6 Author: John Daiker Date: Sun Mar 8 22:18:35 2009 -0700 atmel: checkpatch.pl cleanups Before: 881 errors, 265 warnings, 4507 lines checked After: 114 errors, 273 warnings, 4548 lines checked This was mostly "space required after that ',' (ctx:VxV)". Also a fair number of whitespace, code indent, and C99 comment cleanups. New warnings introduced are all "line over 80 character" md5sums are identical, as I skipped any fixes which may have altered the resulting binary. Signed-off-by: John Daiker Signed-off-by: John W. Linville commit 62b4fb66c5611c4e2b9279810c2d037fb5b5fa68 Author: Sujith Date: Mon Mar 9 09:32:01 2009 +0530 ath9k: Fix bug in reading debugfs file 'rcstat' The rate table would not have been chosen before the interface has been brought up. Reading 'rcstat' in this case would result in an oops, fix this. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c37452b0687e5c8942dd4866f7c614105e6050c3 Author: Sujith Date: Mon Mar 9 09:31:57 2009 +0530 ath9k: Fix bug in TX aggregation mac80211 expects the driver to fill in the starting sequence number of an ADDBA request to initiate TX aggregation. IEEE80211_TX_CTL_AMPDU would be set for frames only after a successful ADDBA exchange, but we have to increment the internal sequence counter for the normal(non-AMPDU) data frames proerly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9c81e8be236b7f1c94f9d055a97a83f84c81890f Author: Sujith Date: Mon Mar 9 09:31:49 2009 +0530 ath9k: Initialize ANI properly ANI was not being initialized correctly for all HW variants. This patch fixes it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 22e5b08585f7282060c464a36908b19cb4809fde Author: Bob Copeland Date: Sun Mar 8 00:10:22 2009 -0500 ath5k: update LED table with reported devices This patch adds support for Acer Ferrari 5000, and also specifies the subsystem device ids for previously reported e-machines e510 and Acer Aspire One A150. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit cdb02dc6146950155e79a4e3225e1b58cf2b0c54 Author: Bob Copeland Date: Sun Mar 8 00:10:21 2009 -0500 ath5k: use a table for LED parameters Put the device id-to-gpio mapping in a table to make it easier to add new devices. The list of supported devices is unchanged. Signed-off-by: Bob Copeland Acked-by: Jiri Slaby Signed-off-by: John W. Linville commit 0ed4548f81b69363a6257dbc23086fc9fe4a23cb Author: Bob Copeland Date: Sun Mar 8 00:10:20 2009 -0500 ath5k: extract LED code into a separate file Move LED code out of base.c for clarity. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 8d6c39efed5987d3c1ade96e93753125a099f512 Author: Jiri Slaby Date: Sat Mar 7 10:26:42 2009 +0100 ath5k: don't change mac in eeprom_read_mac on error Do not touch mac parameter passed to ath5k_eeprom_read_mac unless we are sure we have correct address. I.e. when returning error, do not change it. While at it, use '= {}' compiler trick for memsetting mac_d. Signed-off-by: Jiri Slaby Acked-by: Nick Kossifidis Cc: Luis R. Rodriguez Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 2c91108c55477334f6854a587ec6e9111d8f1407 Author: Jiri Slaby Date: Sat Mar 7 10:26:41 2009 +0100 ath5k: constify stuff Make some structures const to place them in .rodata, since we won't change them. Most important parts of objdump -h: - 0 .text 00011170 + 0 .text 00011140 - 5 .rodata 0000828e + 5 .rodata 0000895e - 13 .data 00000560 + 13 .data 00000110 - 14 .devinit.data 00000260 Signed-off-by: Jiri Slaby Acked-by: Nick Kossifidis Cc: Luis R. Rodriguez Cc: Bob Copeland Signed-off-by: John W. Linville commit 77dcb6a9526b1e0d159a9300e512c7271bff3163 Author: Jay Sternberg Date: Fri Mar 6 13:52:55 2009 -0800 iwlwifi: correct device name for 1000 series device name was changed from 100 to 1000 Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8337031ef393c8c4f9a25049fd4edd32c9911edc Author: Abhijeet Kolekar Date: Fri Mar 6 13:52:54 2009 -0800 iwl3945: add test for new association Add check for new association to ease reading. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 346de732cbd11bdc364ae80def2380a5002d7e6b Author: Christian Lamparter Date: Thu Mar 5 21:28:57 2009 +0100 p54: completely ignore rx'd frames with bad FCS Passing frames with a bad FCS to the user is an optional feature. However it doesn't work reliable and strangely not in the native monitor mode?! Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 05c9a4cfe41f44abd5e73964fc734f01e2981442 Author: John Daiker Date: Fri Mar 6 07:09:41 2009 -0800 airo_cs: checkpatch.pl cleanups Hopefully nothing controversial here, since the driver hasn't been touched in a while! Before: 36 errors, 6 warnings, 482 lines checked After: 0 errors, 3 warnings, 485 lines checked This was nearly all trailing whitespace, * and parenthesis spacing, and code indent changes. md5sum of object file before and after are identical. Signed-off-by: John Daiker Signed-off-by: John W. Linville commit be1b08af61379be23d9975eaab29054e9166b13c Author: Vasanthakumar Thiagarajan Date: Fri Mar 6 20:38:36 2009 +0530 ath9k: Use suitable macros with 4k eeprom data This patch improves range and connection stability in AR9285. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit cc88aff0732132e496d1c93a468a4577e93390ea Author: Helmut Schaa Date: Fri Mar 6 15:32:31 2009 +0100 ipw2x00: remove obsolete enums Remove obsolete enums from ipw2x00/ieee80211.h, they are not used anymore. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit d74cc9a7a317cc173fb522252fdff9e4cdd282a0 Author: Helmut Schaa Date: Fri Mar 6 15:32:26 2009 +0100 ipw2x00: Use IE definitions from linux/ieee80211.h Use IE definitions from linux/ieee80211.h and drop the appropriate enum from ipw2x00/ieee80211.h Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 30e1863ccb2eb8052eb134abe51d6884cac50e29 Author: Helmut Schaa Date: Fri Mar 6 15:32:20 2009 +0100 ipw2x00: remove duplicated defines Remove several duplicated defines from ipw2x00/ieee80211.h which are also available in linux/ieee80211.h. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 3756162b06001d122ce31c716f9784636c592c9c Author: Helmut Schaa Date: Fri Mar 6 12:02:25 2009 +0100 libipw: fix debug output Replace all remaining occurrences of CONFIG_IEEE80211_DEBUG with CONFIG_LIBIPW_DEBUG in libipw to allow debug output again. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 5077fd358b652b8ec33ae7158f99e08d29ad65c0 Author: Gabor Juhos Date: Fri Mar 6 11:17:55 2009 +0100 ath9k: always compile ath_radio_{en,dis}able ath_radio_{en,dis}able is only compiled if RFKILL is enabled, but it is required by the 'ath9k_wiphy_select' function. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 521031154365062ce334e05384139777db23d526 Author: Gabor Juhos Date: Fri Mar 6 09:57:39 2009 +0100 ath9k: fix compile error in debug.c drivers/net/wireless/ath9k/debug.c: In function 'read_file_wiphy': drivers/net/wireless/ath9k/debug.c:377: error: implicit declaration of function 'put_unaligned_le32' drivers/net/wireless/ath9k/debug.c:378: error: implicit declaration of function 'put_unaligned_le16' Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 9251f0b418b202e2712c3408a5c6a5904ce4f453 Author: Gabor Juhos Date: Fri Mar 6 09:57:38 2009 +0100 ath9k: fix compile error in ahb.c drivers/net/wireless/ath9k/ahb.c: In function 'ath_ahb_probe': drivers/net/wireless/ath9k/ahb.c:136: error: 'aphy' undeclared (first use in this function) Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 6b765deb01dd076e64a4b01d2101d74206e7df84 Author: Gabor Juhos Date: Fri Mar 6 09:08:53 2009 +0100 ath9k: fix AR_SREV_9100_OR_LATER macro The current macro is wrong, because detects some AR5416 devices as an AR9100 device. The AR5416 devices would have performance issues after this change, because the contents of the ar5416 specific and of the ar9100 specificinitval arrays are swapped. Fortunately we can correct this with the rename of the arrays simply. Changes-licesed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Signed-off-by: John W. Linville commit d4376ebe168024695f15bfdf603ea6f083dc80f8 Author: Gabor Juhos Date: Fri Mar 6 09:08:52 2009 +0100 ath9k: move ar9100 version checking macros into a more appropriate place All other version checking macros are in a common location within the reg.h file. The AR_SREV_9100_OR_LATER macro is wrong currently, but will be fixed with the next patch. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Signed-off-by: John W. Linville commit a8c96d3b225d4c9e6ff341923e3f76de401c75b2 Author: Gabor Juhos Date: Fri Mar 6 09:08:51 2009 +0100 ath9k: cleanup AR5416 version checking macros Currently we have two different versions of this macros. Because they would have to do the same thing, we should simplify and merge them. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Signed-off-by: John W. Linville commit 978b53264235eef1d2d2e9fd16ae26b3471c0b57 Author: Senthil Balasubramanian Date: Fri Mar 6 11:24:11 2009 +0530 ath9k: Incorrect AR9285 version check macro Fix AR9285 1.1 and 1.2 version check macro. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 4e845168380a5954dd8702be5229e3e1b477ed81 Author: Senthil Balasubramanian Date: Fri Mar 6 11:24:10 2009 +0530 ath9k: INI update for AR9285 and periodic PA offset caliberation This patch updates the initvalues for AR9285 chipset and also adds periodic PA offset caliberation. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit b03a9db95a285e13a5e4f2913e9d22a84bf50cc6 Author: Senthil Balasubramanian Date: Fri Mar 6 11:24:09 2009 +0530 ath9k: RX buffers may be accessed/freed even before initialized/alloced. accessing RXBUF list in ath_rx_cleanup may cause panic if ath_descdma_setup fails even before RXBUF list is initialized. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit f0e6ce13c17afd74a49e0ef043d72581562f73ae Author: Senthil Balasubramanian Date: Fri Mar 6 11:24:08 2009 +0530 ath9k: Get rid of unnecessary ATOMIC memory alloc during init time We can sleep for memory during init time and so allocating rx buffers, descriptro buffers with GFP_KERNEL should help us to get rid of transient alloc fails. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit ec329acef99ded8dad59e1ef8a5a02b823083353 Author: Luis R. Rodriguez Date: Thu Mar 5 21:19:22 2009 -0800 cfg80211: fix max tx power for world regdom on 5 GHz to 20dBm This is the lowest value amongst countries which do enable 5 GHz operation. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 611b6a82aaae33a4d3a274fd6cccbdcd1c7cef4d Author: Luis R. Rodriguez Date: Thu Mar 5 21:19:21 2009 -0800 cfg80211: Enable passive scan on channels 12-14 for world roaming Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 22cad73587ac85e2e9d1f52aae62023aec093654 Author: Luis R. Rodriguez Date: Thu Mar 5 21:13:06 2009 -0800 mac80211_hwsim: add support for 5 GHz ACME Inc. is now selling a dual band radio. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 94041b294094bbd9fbbe11aa71278fdc70d29d6d Author: Christian Lamparter Date: Fri Mar 6 02:15:08 2009 +0100 p54: enable power save support This patch enables power save support on all p54 devices. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d0b45aef4f628e69f8da8c670d6879a8a02fe0f2 Author: Christian Lamparter Date: Fri Mar 6 01:02:04 2009 +0100 p54: initial SoftLED support This patch adds SoftLED support for all p54 devices. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit efeada2c0aa1219b15787da48cfa282803e9d99e Author: Christian Lamparter Date: Thu Mar 5 21:31:05 2009 +0100 p54: fix iwconfig txpower off Disabling the receiver logic with P54_FILTER_TYPE_RX_DISABLED is not supported by all firmwares. However we have an alternative: hibernation. And the only side effect - so far - is a bit less power consumption. WIN! Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ad5e72ee81ed074cfe6bb2a1ca231b5413efa41f Author: Christian Lamparter Date: Thu Mar 5 21:30:37 2009 +0100 p54pci: convert printk(KERN_* to dev_* This patch replaces most printk(KERN_* "") with their by dev_* analogue. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2ac710720c523dd243662746da4381dd4f1772f8 Author: Christian Lamparter Date: Thu Mar 5 21:30:10 2009 +0100 p54: unify ieee80211 device registration All three drivers (p54pci, p54usb and p54spi) are implementing the same functionality three times. So, why not put it into the shared library?! Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit fbf95296c1c8b1ba09bdea0438ce2c61e0e3be5d Author: Christian Lamparter Date: Thu Mar 5 21:29:51 2009 +0100 p54usb: stop USB core interference in exit path The patch fixes a problem when the (Soft)LED stayed on after the module was unloaded. It turned out that the USB core disables all endpoints before calling the disconnect method. So it was impossible to switch off the radio & LEDs. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 19d8bc22bcea749da2ba065a1ff9e054fadb556e Author: Gabor Juhos Date: Thu Mar 5 16:55:18 2009 +0100 ath9k: create a common debugfs_root for all device instances The driver are trying to create an 'ath9k' directory in debugfs for each device currently. If there are more than one device in the system, the second try will always fail. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Signed-off-by: John W. Linville commit 0eeb59fe2cd84b62f374874a59e62402e13f48b3 Author: Jouni Malinen Date: Thu Mar 5 17:23:46 2009 +0200 mac80211: Fix WMM ACM parsing and AC downgrade operation Incorrect local->wmm_acm bits were set for AC_BK and AC_BE. Fix this and add some comments to make it easier to understand the AC-to-UP(pair) mapping. Set the wmm_acm bits (and show WMM debug) even if the driver does not implement conf_tx() handler. In addition, fix the ACM-based AC downgrade code to not use the highest priority in error cases. We need to break the loop to get the correct AC_BK value (3) instead of returning 0 (which would indicate AC_VO). The comment here was not really very useful either, so let's provide somewhat more helpful description of the situation. Since it is very unlikely that the ACM flag would be set for AC_BK and AC_BE, these bugs are not likely to be seen in real life networks. Anyway, better do these things correctly should someone really use silly AP configuration (and to pass some functionality tests, too). Remove the TODO comment about handling ACM. Downgrading AC is perfectly valid mechanism for ACM. Eventually, we may add support for WMM-AC and send a request for a TS, but anyway, that functionality won't be here at the location of this TODO comment. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2bfc5cb57b55ed2204bca7668e082f7bf485760a Author: Andrey Borzenkov Date: Sat Feb 28 23:09:09 2009 +0300 orinoco: firmware: consistently compile out fw cache support if not requested Currently part of support for FW caching is unconditionally compiled in even if it is never used. Consistently remove caching support if not requested by user. Signed-off-by: Andrey Borzenkov Signed-off-by: John W. Linville commit d1c76af9e2434fac3add561e26c61b06503de986 Author: Herbert Xu Date: Mon Mar 16 10:50:02 2009 -0700 GRO: Move netpoll checks to correct location As my netpoll fix for net doesn't really work for net-next, we need this update to move the checks into the right place. As it stands we may pass freed skbs to netpoll_receive_skb. This patch also introduces a netpoll_rx_on function to avoid GRO completely if we're invoked through netpoll. This might seem paranoid but as netpoll may have an external receive hook it's better to be safe than sorry. I don't think we need this for 2.6.29 though since there's nothing immediately broken by it. This patch also moves the GRO_* return values to netdevice.h since VLAN needs them too (I tried to avoid this originally but alas this seems to be the easiest way out). This fixes a bug in VLAN where it continued to use the old return value 2 instead of the correct GRO_DROP. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0269ea4937343536ec7e85649932bc8c9686ea78 Author: Pablo Neira Ayuso Date: Mon Mar 16 17:10:36 2009 +0100 netfilter: xtables: add cluster match This patch adds the iptables cluster match. This match can be used to deploy gateway and back-end load-sharing clusters. The cluster can be composed of 32 nodes maximum (although I have only tested this with two nodes, so I cannot tell what is the real scalability limit of this solution in terms of cluster nodes). Assuming that all the nodes see all packets (see below for an example on how to do that if your switch does not allow this), the cluster match decides if this node has to handle a packet given: (jhash(source IP) % total_nodes) & node_mask For related connections, the master conntrack is used. The following is an example of its use to deploy a gateway cluster composed of two nodes (where this is the node 1): iptables -I PREROUTING -t mangle -i eth1 -m cluster \ --cluster-total-nodes 2 --cluster-local-node 1 \ --cluster-proc-name eth1 -j MARK --set-mark 0xffff iptables -A PREROUTING -t mangle -i eth1 \ -m mark ! --mark 0xffff -j DROP iptables -A PREROUTING -t mangle -i eth2 -m cluster \ --cluster-total-nodes 2 --cluster-local-node 1 \ --cluster-proc-name eth2 -j MARK --set-mark 0xffff iptables -A PREROUTING -t mangle -i eth2 \ -m mark ! --mark 0xffff -j DROP And the following commands to make all nodes see the same packets: ip maddr add 01:00:5e:00:01:01 dev eth1 ip maddr add 01:00:5e:00:01:02 dev eth2 arptables -I OUTPUT -o eth1 --h-length 6 \ -j mangle --mangle-mac-s 01:00:5e:00:01:01 arptables -I INPUT -i eth1 --h-length 6 \ --destination-mac 01:00:5e:00:01:01 \ -j mangle --mangle-mac-d 00:zz:yy:xx:5a:27 arptables -I OUTPUT -o eth2 --h-length 6 \ -j mangle --mangle-mac-s 01:00:5e:00:01:02 arptables -I INPUT -i eth2 --h-length 6 \ --destination-mac 01:00:5e:00:01:02 \ -j mangle --mangle-mac-d 00:zz:yy:xx:5a:27 In the case of TCP connections, pickup facility has to be disabled to avoid marking TCP ACK packets coming in the reply direction as valid. echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose BTW, some final notes: * This match mangles the skbuff pkt_type in case that it detects PACKET_MULTICAST for a non-multicast address. This may be done in a PKTTYPE target for this sole purpose. * This match supersedes the CLUSTERIP target. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 1546000fe8db0d3f47b0ef1dd487ec23fbd95313 Author: Cyrill Gorcunov Date: Mon Mar 16 16:30:49 2009 +0100 net: netfilter conntrack - add per-net functionality for DCCP protocol Module specific data moved into per-net site and being allocated/freed during net namespace creation/deletion. Signed-off-by: Cyrill Gorcunov Acked-by: Daniel Lezcano Signed-off-by: Patrick McHardy commit 81a1d3c31e3517f9939b3e04d21cf4a6b0997419 Author: Cyrill Gorcunov Date: Mon Mar 16 16:23:30 2009 +0100 net: sysctl_net - use net_eq to compare nets Signed-off-by: Cyrill Gorcunov Acked-by: Daniel Lezcano Signed-off-by: Patrick McHardy commit acc738fec03bdaa5b77340c32a82fbfedaaabef0 Author: Jan Engelhardt Date: Mon Mar 16 15:35:29 2009 +0100 netfilter: xtables: avoid pointer to self Commit 784544739a25c30637397ace5489eeb6e15d7d49 (netfilter: iptables: lock free counters) broke a number of modules whose rule data referenced itself. A reallocation would not reestablish the correct references, so it is best to use a separate struct that does not fall under RCU. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 60aa49243d09afc873f082567d2e3c16634ced84 Author: Jonathan Corbet Date: Sun Feb 1 14:52:56 2009 -0700 Rationalize fasync return values Most fasync implementations do something like: return fasync_helper(...); But fasync_helper() will return a positive value at times - a feature used in at least one place. Thus, a number of other drivers do: err = fasync_helper(...); if (err < 0) return err; return 0; In the interests of consistency and more concise code, it makes sense to map positive return values onto zero where ->fasync() is called. Cc: Al Viro Signed-off-by: Jonathan Corbet commit 250981e6e1ef04947eccaa55e8c25ddcaa47a02e Author: Thomas Gleixner Date: Mon Mar 16 13:07:21 2009 +0100 x86: reduce preemption off section in exit thread Impact: latency improvement No need to keep preemption disabled over the kfree call. Signed-off-by: Thomas Gleixner commit 76398425bb06b07cc3a3b1ce169c67dc9d6874ed Author: Jonathan Corbet Date: Sun Feb 1 14:26:59 2009 -0700 Move FASYNC bit handling to f_op->fasync() Removing the BKL from FASYNC handling ran into the challenge of keeping the setting of the FASYNC bit in filp->f_flags atomic with regard to calls to the underlying fasync() function. Andi Kleen suggested moving the handling of that bit into fasync(); this patch does exactly that. As a result, we have a couple of internal API changes: fasync() must now manage the FASYNC bit, and it will be called without the BKL held. As it happens, every fasync() implementation in the kernel with one exception calls fasync_helper(). So, if we make fasync_helper() set the FASYNC bit, we can avoid making any changes to the other fasync() functions - as long as those functions, themselves, have proper locking. Most fasync() implementations do nothing but call fasync_helper() - which has its own lock - so they are easily verified as correct. The BKL had already been pushed down into the rest. The networking code has its own version of fasync_helper(), so that code has been augmented with explicit FASYNC bit handling. Cc: Al Viro Cc: David Miller Reviewed-by: Christoph Hellwig Signed-off-by: Jonathan Corbet commit db1dd4d376134eba0e08af523b61cc566a4ea1cd Author: Jonathan Corbet Date: Fri Feb 6 15:25:24 2009 -0700 Use f_lock to protect f_flags Traditionally, changes to struct file->f_flags have been done under BKL protection, or with no protection at all. This patch causes all f_flags changes after file open/creation time to be done under protection of f_lock. This allows the removal of some BKL usage and fixes a number of longstanding (if microscopic) races. Reviewed-by: Christoph Hellwig Cc: Al Viro Signed-off-by: Jonathan Corbet commit 684999149002dd046269666a390458e0acb38280 Author: Jonathan Corbet Date: Fri Feb 6 13:52:43 2009 -0700 Rename struct file->f_ep_lock This lock moves out of the CONFIG_EPOLL ifdef and becomes f_lock. For now, epoll remains the only user, but a future patch will use it to protect f_flags as well. Cc: Davide Libenzi Reviewed-by: Christoph Hellwig Signed-off-by: Jonathan Corbet commit 95ba434f898c3cb5c7457dce265bf0ab72ba8ce9 Author: Scott James Remnant Date: Mon Mar 16 15:31:10 2009 +0100 netfilter: auto-load ip_queue module when socket opened The ip_queue module is missing the net-pf-16-proto-3 alias that would causae it to be auto-loaded when a socket of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: Patrick McHardy commit 26c3b6780618f09abb5f7e03b09b13dbb8e8aa24 Author: Scott James Remnant Date: Mon Mar 16 15:30:14 2009 +0100 netfilter: auto-load ip6_queue module when socket opened The ip6_queue module is missing the net-pf-16-proto-13 alias that would cause it to be auto-loaded when a socket of that type is opened. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: Tim Gardner Signed-off-by: Patrick McHardy commit f0a3c0869f3b0ef93d9df044e9a41e40086d4c97 Author: Pablo Neira Ayuso Date: Mon Mar 16 15:28:09 2009 +0100 netfilter: ctnetlink: move event reporting for new entries outside the lock This patch moves the event reporting outside the lock section. With this patch, the creation and update of entries is homogeneous from the event reporting perspective. Moreover, as the event reporting is done outside the lock section, the netlink broadcast delivery can benefit of the yield() call under congestion. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit e098360f159b3358f085543eb6dc2eb500d6667c Author: Pablo Neira Ayuso Date: Mon Mar 16 15:27:22 2009 +0100 netfilter: ctnetlink: cleanup conntrack update preliminary checkings This patch moves the preliminary checkings that must be fulfilled to update a conntrack, which are the following: * NAT manglings cannot be updated * Changing the master conntrack is not allowed. This patch is a cleanup. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit b9591448e5160ccd353d8547ade018cfdf2b3e09 Author: Takashi Iwai Date: Mon Mar 16 15:25:00 2009 +0100 ALSA: hda - Fix ALC662 beep again The previous commit breaks the (digital-) beep on ALC662. ALC662 has the connection index 0x05 while ALC662 and ALC272 have the index 0x04 for the beep widget. Signed-off-by: Takashi Iwai commit 7ec4749675bf33ea639bbcca8a5365ccc5091a6a Author: Pablo Neira Ayuso Date: Mon Mar 16 15:25:46 2009 +0100 netfilter: ctnetlink: cleanup master conntrack assignation This patch moves the assignation of the master conntrack to ctnetlink_create_conntrack(), which is where it really belongs. This patch is a cleanup. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit b8dbed0f095263b9ced5bd2e6d54743a7fa13f1b Author: Jaroslav Kysela Date: Mon Mar 16 14:56:58 2009 +0100 ALSA: snd-hda-intel: Fix ALC662/ALC663 Beep Amplifier Index ALC662/663 codecs have Beep Amplifier Index 0x04 not 0x05 in 0x0b NID. Confirmed by testing on real hardware. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 1db7a748dfd50d7615913730763c024444900030 Author: Pablo Neira Ayuso Date: Mon Mar 16 15:18:50 2009 +0100 netfilter: conntrack: increase drop stats if sequence adjustment fails This patch increases the statistics of packets drop if the sequence adjustment fails in ipv4_confirm(). Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 67c0d57930ff9a24c6c34abee1b01f7716a9b0e2 Author: Stephen Hemminger Date: Mon Mar 16 15:17:23 2009 +0100 netfilter: Kconfig spelling fixes (trivial) Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy commit 9d2493f88f846b391a15a736efc7f4b97d6c4046 Author: Christoph Paasch Date: Mon Mar 16 15:15:35 2009 +0100 netfilter: remove IPvX specific parts from nf_conntrack_l4proto.h Moving the structure definitions to the corresponding IPvX specific header files. Signed-off-by: Patrick McHardy commit 4740cd8b4f27d6ac11e76c432d5d03fb780b2596 Merge: cb1b778... 6cc8764... Author: Felix Blyakher Date: Mon Mar 16 09:15:27 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs commit cb1b77804091cc3491da4338a3599e318f358b25 Merge: da5309c... 5bee17f... Author: Felix Blyakher Date: Mon Mar 16 09:15:13 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 852fd9e50f62b4ea7afe26eee0710464de4801b8 Author: Mark Brown Date: Mon Mar 16 14:13:12 2009 +0000 ASoC: Each PXA AC97 DAI needs a separate ops Signed-off-by: Mark Brown commit f2a5d6a2ea2fa24573a8ce7ea7a7a2cce42e3588 Author: Mark Brown Date: Mon Mar 16 14:02:07 2009 +0000 ASoC: Fix some missing dai_ops conversions Signed-off-by: Mark Brown commit 10d9e3d99ee8332bb73a3d7f12a8cd8ffab8b136 Author: Joonyoung Shim Date: Mon Mar 16 21:23:35 2009 +0900 ASoC: twl4030 - Fix build error CC sound/soc/codecs/twl4030.o sound/soc/codecs/twl4030.c:1400: warning: braces around scalar initializer sound/soc/codecs/twl4030.c:1400: warning: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1401: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1401: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1401: warning: initialization from incompatible pointer type sound/soc/codecs/twl4030.c:1402: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1402: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1402: warning: excess elements in scalar initializer sound/soc/codecs/twl4030.c:1402: warning: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1403: error: field name not in record or union initializer sound/soc/codecs/twl4030.c:1403: error: (near initialization for 'twl4030_dai.ops') sound/soc/codecs/twl4030.c:1403: warning: excess elements in scalar initializer sound/soc/codecs/twl4030.c:1403: warning: (near initialization for 'twl4030_dai.ops') Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit c7a913cd5535554d6f5d5e1f5ef46c4307cf2afc Author: Eric Leblond Date: Mon Mar 16 14:55:27 2009 +0100 netfilter: print the list of register loggers This patch modifies the proc output to add display of registered loggers. The content of /proc/net/netfilter/nf_log is modified. Instead of displaying a protocol per line with format: proto:logger it now displays: proto:logger (comma_separated_list_of_loggers) NONE is used as keyword if no logger is used. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit ca735b3aaa945626ba65a3e51145bfe4ecd9e222 Author: Eric Leblond Date: Mon Mar 16 14:54:21 2009 +0100 netfilter: use a linked list of loggers This patch modifies nf_log to use a linked list of loggers for each protocol. This list of loggers is read and write protected with a mutex. This patch separates registration and binding. To be used as logging module, a module has to register calling nf_log_register() and to bind to a protocol it has to call nf_log_bind_pf(). This patch also converts the logging modules to the new API. For nfnetlink_log, it simply switchs call to register functions to call to bind function and adds a call to nf_log_register() during init. For other modules, it just remove a const flag from the logger structure and replace it with a __read_mostly. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 988f831df398ff36f67b095245060c24c354e9e9 Author: Nobuhiro Iwamatsu Date: Mon Mar 16 03:22:07 2009 +0000 sh: Move IRQ multi definition of DMAC to defconfig When SuperH CPU has IRQ multi of DMAC, SH_DMA_IRQ_MULTI becomes enable. The following CPU's are Multi IRQ of DMAC now. - SH775X and SH7091 - SH776X - SH7780 - SH7785 If SH_DMA_IRQ_MULTI becomes enable, dma-sh api driver is optimized for Multi IRQ. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 50cca715a64b66ccf173767d94d4020ea0a6129c Author: Francesco VIRLINZI Date: Fri Mar 13 08:08:01 2009 +0000 sh: clkfwk: Safer resume from hibernation. This patch fixes a possible problem in the resume from hibenration. It temporaneally saves the clk->rate on the stack to avoid any possible change during the clk->set_parent(..) call. Signed-off-by: Francesco Virlinzi Signed-off-by: Paul Mundt commit e9edb3fec2260b5a64e9ca9e09160b74f1b106e3 Author: Paul Mundt Date: Mon Mar 16 20:00:17 2009 +0900 sh: Consolidate SH-Mobile CPU code in arch/sh/kernel/cpu/shmobile/. Signed-off-by: Paul Mundt commit 2feb075a33905c2f6ef6be484c75ba6a35f6d12d Author: Magnus Damm Date: Fri Mar 13 15:36:55 2009 +0000 video: sh_mobile_lcdcfb suspend/resume support This patch adds suspend/resume support to the LCDC driver for SuperH Mobile - sh_mobile_lcdcfb. We simply stop hardware on suspend and start it again on resume. For RGB panels this is trivial, but for SYS panels in deferred io mode this becomes a bit more difficult - we need to wait for a frame end interrupt to make sure the clocks are balanced before stopping the actual hardware. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 93356d07474b1f16f25e79e81597c2a6b8c2a783 Author: Magnus Damm Date: Fri Mar 13 15:27:14 2009 +0000 sh: add ap325 lcd power off support Improve the ap325 board code to allow the lcd panel and backlight to be powered off. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7759491274bc5ba7cd72b3b9cc5ec8247b937efb Author: Magnus Damm Date: Fri Mar 13 15:23:04 2009 +0000 sh: SuperH Mobile suspend support This patch contains CONFIG_SUSPEND support to the SuperH architecture. If enabled, SuperH Mobile processors will register their suspend callbacks during boot. To suspend, use "echo mem > /sys/power/state". To allow wakeup, make sure "/sys/device/platform/../power/wakeup" contains "enabled". Additional per-device driver patches are most likely needed. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7a516280b6a99634933b417834e178bde8659da1 Author: Nobuhiro Iwamatsu Date: Fri Mar 13 05:03:37 2009 +0000 sh: Fix compile error by operands(mov.l) in sh3/entry.S -- log -- arch/sh/kernel/cpu/sh4/../sh3/entry.S:365: Error: invalid operands for opcode make[4]: *** [arch/sh/kernel/cpu/sh4/../sh3/entry.o] Error 1 make[3]: *** [arch/sh/kernel/cpu/sh4] Error 2 -- log -- Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 02ebd32f52c10f90f810e85d0281e9e81dd6e741 Author: Nobuhiro Iwamatsu Date: Fri Mar 13 04:31:34 2009 +0000 sh: Disable get_dma_error_irq for non-SH4 targets. dma-sh's get_dma_error_irq() is only used by SH4, as the SH3 doesn't have the DMA Error interrupt. Disable it out for non-SH4 builds. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit a83c0b739f3ad1887704cfa9f1ee5ee208cf1532 Author: Francesco VIRLINZI Date: Wed Mar 11 10:39:02 2009 +0000 sh: PMB hibernation support This implements preliminary suspend/resume support for the PMB. Signed-off-by: Francesco Virlinzi Signed-off-by: Paul Mundt commit 039a718ebb37298de87801288673859ac40b6fc4 Author: Nobuhiro Iwamatsu Date: Thu Mar 12 06:34:39 2009 +0000 sh: Revert CONFIG_NR_ONCHIP_DMA_CHANNELS to MAX_DMA_CHANNELS Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 4c3f450ba4e4c00df91f98664b58f9a98dc049fd Author: Kuninori Morimoto Date: Thu Mar 12 08:40:15 2009 +0000 sh: Add OHCI USB support for SH7786 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit fb1cd01a33ecb8a49d590c034ba146dff80c5597 Author: Artem Bityutskiy Date: Mon Mar 16 09:56:57 2009 +0200 UBIFS: introduce a helpful variable This patch introduces a helpful @c->idx_leb_size variable. The patch also fixes some spelling issues and makes comments use "LEB" instead of "eraseblock", which is more correct. Signed-off-by: Artem Bityutskiy commit c9927c3ee2d3d14893efd793a2a9ea772ddb4289 Author: Artem Bityutskiy Date: Mon Mar 16 09:42:03 2009 +0200 UBIFS: use KERN_CONT Signed-off-by: Artem Bityutskiy commit 0a6fb8d9c435c612171b453449f98da28e9969a5 Author: Artem Bityutskiy Date: Sat Mar 14 16:35:27 2009 +0200 UBIFS: fix lprops committing bug When writing lprop nodes, do not forget to set @from to 0 when switching the LEB. This fixes the following bug: UBIFS error (pid 27768): ubifs_leb_write: writing -15456 bytes at 16:15880, error -22 UBIFS error (pid 27768): do_commit: commit failed, error -22 UBIFS warning (pid 27768): ubifs_ro_mode: switched to read-only mode, error -22 Pid: 27768, comm: freespace Not tainted 2.6.29-rc4-ubifs-2.6 #43 Call Trace: [] ubifs_ro_mode+0x54/0x56 [ubifs] [] do_commit+0x4f5/0x50a [ubifs] [] ubifs_run_commit+0xbc/0xdb [ubifs] [] ubifs_budget_space+0x742/0x9ed [ubifs] [] ? __mutex_lock_common+0x361/0x3ae [] ? ubifs_write_begin+0x18d/0x44c [ubifs] [] ubifs_write_begin+0x321/0x44c [ubifs] [] ? trace_hardirqs_on_caller+0x1f/0x14d [] generic_file_buffered_write+0x12f/0x2d9 [] __generic_file_aio_write_nolock+0x261/0x295 [] generic_file_aio_write+0x69/0xc5 [] ubifs_aio_write+0x14c/0x19e [ubifs] [] do_sync_write+0xe7/0x12d [] ? autoremove_wake_function+0x0/0x38 [] ? security_file_permission+0x11/0x13 [] vfs_write+0xab/0x105 [] sys_write+0x47/0x6f [] system_call_fastpath+0x16/0x1b Signed-off-by: Artem Bityutskiy commit a6bc3262c561780d2a6587aa3d5715b1e7d8fa13 Author: Stephen Rothwell Date: Mon Mar 16 18:52:56 2009 +1100 sparseirq, powerpc/cell: fix unused variable warning in interrupt.c This new compiler warning: arch/powerpc/platforms/cell/interrupt.c: In function 'handle_iic_irq': arch/powerpc/platforms/cell/interrupt.c:240: warning: unused variable 'cpu' Triggers because the local variable 'cpu' became unused due to commit: dee4102: sparseirq: use kstat_irqs_cpu instead Remove the variable. Signed-off-by: Stephen Rothwell Cc: Yinghai Lu Cc: ppc-dev LKML-Reference: <20090316185256.4a160374.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit edb35028e40515beb2f94808aff8b3e71fb9f35a Merge: 8f8573a... cb065c0... 5bee17f... Author: Ingo Molnar Date: Mon Mar 16 09:20:13 2009 +0100 Merge branches 'irq/genirq' and 'linus' into irq/core commit 514ec49a5f5146a6c0ade1a688787acf13617868 Author: Hidetoshi Seto Date: Mon Mar 16 17:07:33 2009 +0900 x86, mce: remove incorrect __cpuinit for intel_init_cmci() Impact: Bug fix on UP Referring commit cc3ca22063784076bd240fda87217387a8f2ae92, Peter removed __cpuinit annotations for mce_cpu_features() and its successor functions, which caused troubles on UP configurations. However the intel_init_cmci() was introduced after that and it also has __cpuinit annotation even though it is called from mce_cpu_features(). Remove the annotation from that function too. Signed-off-by: Hidetoshi Seto Cc: H. Peter Anvin Cc: Andi Kleen Signed-off-by: Ingo Molnar commit 2fc1dfbe17e7705c55b7a99da995fa565e26f151 Author: Frederic Weisbecker Date: Mon Mar 16 01:45:03 2009 +0100 tracing/core: fix early free of cpumasks Impact: fix crashes when tracing cpumasks While ring-buffer allocation, the cpumasks are allocated too, including the tracing cpumask and the per-cpu file mask handler. But these cpumasks are freed accidentally just after. Fix it. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker LKML-Reference: <1237164303-11476-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ac1d52d0b85854958c7e78c8006e39aadb6ce4b8 Author: Frederic Weisbecker Date: Mon Mar 16 00:32:41 2009 +0100 tracing/ftrace: fix double calls to tracing_start() Impact: fix a warning during preemptirqsoff selftests When the preemptirqsoff selftest fails, we see the following warning: [ 6.050000] Testing tracer preemptirqsoff: .. no entries found .. ------------[ cut here ]------------ [ 6.060000] WARNING: at kernel/trace/trace.c:688 tracing_start+0x67/0xd3() [ 6.060000] Modules linked in: [ 6.060000] Pid: 1, comm: swapper Tainted: G [ 6.060000] Call Trace: [ 6.060000] [] warn_slowpath+0xb1/0x100 [ 6.060000] [] ? trace_preempt_on+0x35/0x4b [ 6.060000] [] ? tracing_start+0x31/0xd3 [ 6.060000] [] ? tracing_start+0x31/0xd3 [ 6.060000] [] ? __lock_acquired+0xe6/0x1f2 [ 6.060000] [] ? tracing_start+0x31/0xd3 [ 6.060000] [] tracing_start+0x67/0xd3 [ 6.060000] [] ? irqsoff_tracer_reset+0x2d/0x57 [ 6.060000] [] trace_selftest_startup_preemptirqsoff+0x1c8/0x1f1 [ 6.060000] [] register_tracer+0x12f/0x241 [ 6.060000] [] ? init_irqsoff_tracer+0x0/0x53 [ 6.060000] [] init_irqsoff_tracer+0x3b/0x53 This is because in fail case, the preemptirqsoff tracer selftest calls twice the tracing_start() function: int trace_selftest_startup_preemptirqsoff(struct tracer *trace, struct trace_array *tr) { if (!ret && !count) { printk(KERN_CONT ".. no entries found .."); ret = -1; tracing_start(); <----- goto out; } [...] out: trace->reset(tr); tracing_start(); <------ tracing_max_latency = save_max; return ret; } Since it is well handled in the out path, we don't need the conditional one. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker LKML-Reference: <1237159961-7447-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 59f586db98919d7d9c43527b26c8de1cdf9ed912 Author: Frederic Weisbecker Date: Sun Mar 15 22:10:39 2009 +0100 tracing/core: fix missing mutex unlock on tracing_set_tracer() Impact: fix possible locking imbalance In case of ring buffer resize failure, tracing_set_tracer forgot to release trace_types_lock. Fix it. Signed-off-by: Frederic Weisbecker LKML-Reference: <1237151439-6755-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0ea1c4156bf9e2eb370cc5c6fa6eb112bd844dec Author: Frederic Weisbecker Date: Sun Mar 15 22:10:38 2009 +0100 tracing/syscalls: select kallsysms Syscall tracing must select kallsysms. The arch code builds a table to find the syscall metadata by syscall number. It needs the syscalls names resolution from the symbol table to know which name found on the syscalls metadatas match a function pointer from the arch sys_call_table. Reported-by: Andrew Morton Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker LKML-Reference: <1237151439-6755-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5be71b61f17b0e3bc8ad0b1a1b7b53ab7d574ebb Author: Frederic Weisbecker Date: Sun Mar 15 22:10:37 2009 +0100 tracing/syscalls: protect thread flag toggling from races Impact: fix syscall tracer enable/disable race The current thread flag toggling is racy as shown in the following scenario: - task A is the last user of syscall tracing, it releases the TIF_SYSCALL_FTRACE on each tasks - at the same time task B start syscall tracing. refcount == 0 so it sets up TIF_SYSCALL_FTRACE on each tasks. The effect of the mixup is unpredictable. So this fix adds a mutex on {start,stop}_syscall_tracing(). Reported-by: Andrew Morton Reported-by: Ingo Molnar LKML-Reference: <1237151439-6755-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6404434525bb9f8f2239998f30fd7c93f2efa5b3 Author: Frederic Weisbecker Date: Sun Mar 15 22:10:36 2009 +0100 tracing/syscalls: various cleanups Impact: cleanup - Drop unused cpu variable - Fix some errors on comments Signed-off-by: Frederic Weisbecker LKML-Reference: <1237151439-6755-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ac99c58c9e56967037382e31f865b72b10127965 Author: Frederic Weisbecker Date: Sun Mar 15 22:10:35 2009 +0100 tracing/syscalls: fix missing release of tracing Impact: fix 'stuck' syscall tracer The syscall tracer uses a refcounter to enable several users simultaneously. But the refcounter did not behave correctly and always restored its value to 0 after calling start_syscall_tracing(). Therefore, stop_syscall_tracing() couldn't release correctly the tasks from tracing. Also the tracer forgot to reset the buffer when it is released. Drop the pointless refcount decrement on start_syscall_tracing() and reset the buffer when we release the tracer. This fixes two reported issue: - when we switch from syscall tracer to another tracer, syscall tracing continued. - incorrect use of the refcount. Reported-by: Andrew Morton Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker LKML-Reference: <1237151439-6755-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 7243f2145a9b06e5cf9a49fc9b8b9a4fff6fb42e Merge: b478b78... 62395ef... 5bee17f... Author: Ingo Molnar Date: Mon Mar 16 09:12:42 2009 +0100 Merge branches 'tracing/ftrace', 'tracing/syscalls' and 'linus' into tracing/core Conflicts: arch/parisc/kernel/irq.c commit 4c55bb0149b604901e4989d1ee0fddc53df8eb0c Author: Giuliano Pochini Date: Sun Mar 15 21:33:55 2009 +0100 ALSA: echoaudio: remove line-out volume from vmixer cards With this patch the drivers do not set the vmixer volume anymore at startup because it is actually the output volume of the voices and ALSA mandates that the volume must be 0 by default. Signed-off-by: Giuliano Pochini Signed-off-by: Takashi Iwai commit 9f5d790d1b0af8e3705df12fd5d49a1df2a45c47 Author: Giuliano Pochini Date: Sun Mar 15 21:33:34 2009 +0100 ALSA: echoaudio: remove line-out volume from vmixer cards There is a long standing bug in the drivers for cards with a vmixer because I overlooked a detail in the c++ generic driver by echoaudio. Those cards do not have a line-out volume control. It is a virtual control provided by the generic driver. The bug is harmless because the DSP just ignores the command to change the volume. *NB:* It breaks alsa-tools/echomixer. A patch for it will follow. This patch removes the line-out volume control from vmixer-equipped cards. Signed-off-by: Giuliano Pochini Signed-off-by: Takashi Iwai commit 6cc87645e2a3c28d857b074e90bf88bfcd117afa Author: Dave Chinner Date: Mon Mar 16 08:29:46 2009 +0100 xfs: factor out code to find the longest free extent in the AG Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig commit cb4c8cc1e92bc68c952e9a81a9fb9736bd8150de Author: Christoph Hellwig Date: Mon Mar 16 08:25:25 2009 +0100 xfs: kill VN_BAD Remove this rather pointless wrapper and use is_bad_inode directly. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 8fab451e3cfe02a5e3dfc4bab3cfb975bc11fc09 Author: Christoph Hellwig Date: Mon Mar 16 08:24:46 2009 +0100 xfs: kill vn_atime_* helpers. Two out of three are unused already, and the third is better done open-coded with a comment describing what's going on here. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 076e6acb8f0d9532ee6c50512c1927c0a8e34f2f Author: Christoph Hellwig Date: Mon Mar 16 08:24:13 2009 +0100 xfs: cleanup xlog_bread Most callers of xlog_bread need to call xlog_align to get the actual offset. Consolidate that call into the main xlog_bread and provide a _xlog_bread for those few that don't want the actual offset. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit ff0205e032b9733bb634ad5dadc79a0f6d30c721 Author: Christoph Hellwig Date: Mon Mar 16 08:20:52 2009 +0100 xfs: cleanup xlog_recover_do_trans Change the big if-elsif-else block handling the different item types into a more natural switch, remove assignments in conditionals and remove an out of place comment from centuries ago on IRIX. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit dd0bbad81c8d02315a5035d3d6ea441dd1254dc1 Author: Christoph Hellwig Date: Mon Mar 16 08:19:59 2009 +0100 xfs: remove another leftover of the old inode log item format There's another little snipplet of code left from the handling of the old inode log item format in xlog_recover_do_inode_trans. Kill it as it can't be reached anymore. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 21b699c89545ed94d9a1c6fcc8ac704784f68f40 Author: Christoph Hellwig Date: Mon Mar 16 08:19:29 2009 +0100 xfs: cleanup log unmount handling Kill the current xfs_log_unmount wrapper and opencode the two function calls in the only caller. Rename the current xfs_log_unmount_dealloc to xfs_log_unmount as it undoes xfs_log_mount and the new name makes that more clear. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 81f1adf01224f5c0be5f90f43664f799c1f7bb2d Author: Rusty Russell Date: Mon Mar 16 14:40:39 2009 +1030 cpumask: use mm_cpumask() wrapper: sparc Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell commit e9b375120b593d3081c2f63e8ccf350cccc8fd68 Author: Rusty Russell Date: Mon Mar 16 14:40:38 2009 +1030 cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL.: sparc Impact: cleanup (Thanks to Al Viro for reminding me of this, via Ingo) CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so: #define CPU_MASK_ALL (cpumask_t) { { ... } } Taking the address of such a temporary is questionable at best, unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added CPU_MASK_ALL_PTR: #define CPU_MASK_ALL_PTR (&CPU_MASK_ALL) Which formalizes this practice. One day gcc could bite us over this usage (though we seem to have gotten away with it so far). So replace everywhere which used &CPU_MASK_ALL or CPU_MASK_ALL_PTR with the modern "cpu_all_mask" (a real struct cpumask *), and remove CPU_MASK_ALL_PTR altogether. Also remove the confusing and deprecated large-NR_CPUS-only "cpu_mask_all". Signed-off-by: Rusty Russell Acked-by: Ingo Molnar Reported-by: Al Viro Cc: Al Viro Cc: Mike Travis commit cc301d261f5d49cbff66b2f459f58f2652899cdb Author: Rusty Russell Date: Mon Mar 16 14:40:28 2009 +1030 cpumask: remove the now-obsoleted pcibus_to_cpumask(): sparc Impact: reduce stack usage for large NR_CPUS cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell commit 7b45101d09ab13eafc0c3a5232e1606654d122ea Author: Rusty Russell Date: Mon Mar 16 14:40:25 2009 +1030 cpumask: remove cpu_coregroup_map: sparc Impact: cleanup cpu_coregroup_mask is the New Hotness. Signed-off-by: Rusty Russell commit ec7c14bde80a11e325f26b339b8570a929e87223 Author: Rusty Russell Date: Mon Mar 16 14:40:24 2009 +1030 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc Impact: cleanup, futureproof In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit e305cb8f09b6e51940f78516f962ea819bc30ccd Author: Rusty Russell Date: Mon Mar 16 14:40:23 2009 +1030 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc64 Impact: cleanup, futureproof In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit 89229071c049e518668e34b234167d5ed9c94534 Author: Rusty Russell Date: Mon Mar 16 14:40:23 2009 +1030 cpumask: Use accessors code.: sparc64 Impact: use new API Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but is straightforward. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit fe73971cdd9287eba5f834eb3794768c22718581 Author: Rusty Russell Date: Mon Mar 16 14:40:22 2009 +1030 cpumask: Use accessors code: sparc Impact: use new API Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but it is mostly straightforward. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit f46df02a5799460e74bcb5a3875d4245978f3bd2 Author: Rusty Russell Date: Mon Mar 16 14:40:22 2009 +1030 cpumask: arch_send_call_function_ipi_mask: sparc We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(), and by defining it, the old arch_send_call_function_ipi is defined by the core code. Signed-off-by: Rusty Russell commit fd8e18e9f486bcbdd8e0d817e6aa8622a5034540 Author: Rusty Russell Date: Mon Mar 16 14:40:22 2009 +1030 cpumask: Use smp_call_function_many(): sparc64 Impact: Use new API Change smp_call_function_mask() callers to smp_call_function_many(). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 9bc181d8d7cb6462de0c315e364780ad275f7c57 Author: Rusty Russell Date: Mon Mar 16 14:19:38 2009 +1030 cpumask: Use accessors code.: parisc Impact: use new API Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but it is mostly straightforward. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit bd071e1a371d31db243edc4714ff9e8d1ea1309e Author: Rusty Russell Date: Mon Mar 16 14:19:37 2009 +1030 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: parisc Impact: cleanup, futureproof In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit 91887a362984324e254473e92820758c8e658f78 Author: Rusty Russell Date: Mon Mar 16 14:19:37 2009 +1030 cpumask: arch_send_call_function_ipi_mask: parisc We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(), and by defining it, the old arch_send_call_function_ipi is defined by the core code. We also take the chance to change send_IPI_mask() and use the new for_each_cpu() iterator. Signed-off-by: Rusty Russell commit 4c395bdd3f2ca8f7e8efad881e16071182c3b8ca Author: Frans Pop Date: Wed Mar 4 11:55:28 2009 -0800 hp-wmi: notify of a potential docking state change on resume It is possible that the system gets docked or undocked while it's suspended. Generate an input event on resume to notify user space if there was a state change. As it is a switch, we can generate the event unconditionally; the input layer will only pass it on if there is an actual change. Signed-off-by: Frans Pop Cc: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 5d8c39f68e1dc78c1a958e28bc685a5bac125b21 Author: Rusty Russell Date: Mon Mar 16 14:12:48 2009 +1030 cpumask: use mm_cpumask() wrapper: ia64 Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell commit 2af51a3f817a22661fcb52da7c96d078a699f40f Author: Rusty Russell Date: Mon Mar 16 14:12:43 2009 +1030 cpumask: Use accessors code.: ia64 Impact: use new API Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but is straightforward. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 5dd3c9949a3e92ea7fd8c75d888031f7aff1f1d0 Author: Rusty Russell Date: Mon Mar 16 14:12:42 2009 +1030 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: ia64 Impact: cleanup, futureproof In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit 40fe697a1759b85f5e06c490599f4f7b03de3be7 Author: Rusty Russell Date: Mon Mar 16 14:12:41 2009 +1030 cpumask: arch_send_call_function_ipi_mask: ia64 We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(). We also take the chance to wean send_IPI_mask off the obsolescent for_each_cpu_mask(): making it take the pointer seemed the most natural way. Signed-off-by: Rusty Russell commit d4e3676dba299e24acb66de6da2a0bb44d0d2414 Author: Rusty Russell Date: Mon Mar 16 14:12:40 2009 +1030 cpumask: remove the now-obsoleted pcibus_to_cpumask(): ia64 Impact: reduce stack usage for large NR_CPUS cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell commit b9d65c04773850ff3a82f69d43981be650e658a1 Author: Rusty Russell Date: Mon Mar 16 14:11:47 2009 +1030 cpumask: use mm_cpumask() wrapper: cris Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell commit afc6ca01f6da831ff09f4dabdef3b50f114e9e1e Author: Rusty Russell Date: Mon Mar 16 14:11:47 2009 +1030 cpumask: Use accessors code.: cris Impact: use new API Use the accessors rather than frobbing bits directly. Most of this is in arch code I haven't even compiled, but is straightforward. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 3e7be3fb40296aab48a91ec599f22d2c5e8a4351 Author: Rusty Russell Date: Mon Mar 16 14:11:46 2009 +1030 cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: cris Impact: cleanup, futureproof In fact, all cpumask ops will only be valid (in general) for bit numbers < nr_cpu_ids. So use that instead of NR_CPUS in various places. This is always safe: no cpu number can be >= nr_cpu_ids, and nr_cpu_ids is initialized to NR_CPUS at boot. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Ingo Molnar commit afece1c6587010cc81d1a43045c855774e8234a3 Author: Ilpo Järvinen Date: Sat Mar 14 14:23:07 2009 +0000 tcp: make sure xmit goal size never becomes zero It's not too likely to happen, would basically require crafted packets (must hit the max guard in tcp_bound_to_half_wnd()). It seems that nothing that bad would happen as there's tcp_mems and congestion window that prevent runaway at some point from hurting all too much (I'm not that sure what all those zero sized segments we would generate do though in write queue). Preventing it regardless is certainly the best way to go. Signed-off-by: Ilpo Järvinen Cc: Evgeniy Polyakov Cc: Ingo Molnar Signed-off-by: David S. Miller commit 2a3a041c4e2c1685e668b280c121a5a40a029a03 Author: Ilpo Järvinen Date: Sat Mar 14 22:45:16 2009 +0000 tcp: cache result of earlier divides when mss-aligning things The results is very unlikely change every so often so we hardly need to divide again after doing that once for a connection. Yet, if divide still becomes necessary we detect that and do the right thing and again settle for non-divide state. Takes the u16 space which was previously taken by the plain xmit_size_goal. This should take care part of the tso vs non-tso difference we found earlier. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0c54b85f2828128274f319a1eb3ce7f604fe2a53 Author: Ilpo Järvinen Date: Sat Mar 14 14:23:05 2009 +0000 tcp: simplify tcp_current_mss There's very little need for most of the callsites to get tp->xmit_goal_size updated. That will cost us divide as is, so slice the function in two. Also, the only users of the tp->xmit_goal_size are directly behind tcp_current_mss(), so there's no need to store that variable into tcp_sock at all! The drop of xmit_goal_size currently leaves 16-bit hole and some reorganization would again be necessary to change that (but I'm aiming to fill that hole with u16 xmit_goal_size_segs to cache the results of the remaining divide to get that tso on regression). Bring xmit_goal_size parts into tcp.c Signed-off-by: Ilpo Järvinen Cc: Evgeniy Polyakov Cc: Ingo Molnar Signed-off-by: David S. Miller commit 72211e90501f954f586481c25521c3724cda3cc7 Author: Ilpo Järvinen Date: Sat Mar 14 14:23:04 2009 +0000 tcp: don't check mtu probe completion in the loop It seems that no variables clash such that we couldn't do the check just once later on. Therefore move it. Also kill dead obvious comment, dead argument and add unlikely since this mtu probe does not happen too often. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c887e6d2d9aee56ee7c9f2af4cec3a5efdcc4c72 Author: Ilpo Järvinen Date: Sat Mar 14 14:23:03 2009 +0000 tcp: consolidate paws check Wow, it was quite tricky to merge that stream of negations but I think I finally got it right: check & replace_ts_recent: (s32)(rcv_tsval - ts_recent) >= 0 => 0 (s32)(ts_recent - rcv_tsval) <= 0 => 0 discard: (s32)(ts_recent - rcv_tsval) > TCP_PAWS_WINDOW => 1 (s32)(ts_recent - rcv_tsval) <= TCP_PAWS_WINDOW => 0 I toggled the return values of tcp_paws_check around since the old encoding added yet-another negation making tracking of truth-values really complicated. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c43d558a5139a3b22dcac3f19f64ecb39130b02e Author: Ilpo Järvinen Date: Sat Mar 14 14:23:02 2009 +0000 tcp: kill dead end_seq variable in clean_rtx_queue I've already forgotten what for this was necessary, anyway it's no longer used (if it ever was). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5861f8e58dd84fc34b691c2e8d4824dea68c360e Author: Ilpo Järvinen Date: Sat Mar 14 14:23:01 2009 +0000 tcp: remove pointless .dsack/.num_sacks code In the pure assignment case, the earlier zeroing is still in effect. David S. Miller raised concerns if the ifs are there to avoid dirtying cachelines. I came to these conclusions: > We'll be dirty it anyway (now that I check), the first "real" statement > in tcp_rcv_established is: > > tp->rx_opt.saw_tstamp = 0; > > ...that'll land on the same dword. :-/ > > I suppose the blocks are there just because they had more complexity > inside when they had to calculate the eff_sacks too (maybe it would > have been better to just remove them in that drop-patch so you would > have had less head-ache :-)). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7cd0a63872ac6ef97265f07adc367ca4f984468e Author: Jarek Poplawski Date: Sun Mar 15 20:00:19 2009 -0700 pkt_sched: Change misleading code in class delete. While looking for a possible reason of bugzilla report on HTB oops: http://bugzilla.kernel.org/show_bug.cgi?id=12858 I found the code in htb_delete calling htb_destroy_class on zero refcount is very misleading: it can suggest this is a common path, and destroy is called under sch_tree_lock. Actually, this can never happen like this because before deletion cops->get() is done, and after delete a class is still used by tclass_notify. The class destroy is always called from cops->put(), so without sch_tree_lock. This doesn't mean much now (since 2.6.27) because all vulnerable calls were moved from htb_destroy_class to htb_delete, but there was a bug in older kernels. The same change is done for other classful scheds, which, it seems, didn't have similar locking problems here. Reported-by: m0sia Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 8bdd663aba341c15cd2fa9dbd7061b8b387964dc Author: Eric Dumazet Date: Sun Mar 15 19:59:13 2009 -0700 net: reorder fields of struct socket On x86_64, its rather unfortunate that "wait_queue_head_t wait" field of "struct socket" spans two cache lines (assuming a 64 bytes cache line in current cpus) offsetof(struct socket, wait)=0x30 sizeof(wait_queue_head_t)=0x18 This might explain why Kenny Chang noticed that his multicast workload was performing bad with 64 bit kernels, since more cache lines ping pongs were involved. This litle patch moves "wait" field next "fasync_list" so that both fields share a single cache line, to speedup sock_def_readable() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 569106c70e49ad67c69fa7d43a2a5218e63a4619 Author: Lennert Buytenhek Date: Thu Mar 12 09:48:37 2009 +0100 [ARM] mv78xx0: Add Marvell RD-78x00-mASA Reference Design support Signed-off-by: Lennert Buytenhek Acked-by: Stanislav Samsonov Signed-off-by: Nicolas Pitre commit 698fe13b215ec6b956e867dcbc4a4c0992a61ca2 Author: Nicolas Pitre Date: Tue Mar 3 22:19:03 2009 -0500 [ARM] Kirkwood: update defconfig Signed-off-by: Nicolas Pitre commit e96c33d9eddcea86ffd39a592eaca8bb21792002 Author: Nicolas Pitre Date: Tue Mar 3 01:16:07 2009 -0500 [ARM] Kirkwood: SheevaPlug LED support Signed-off-by: Nicolas Pitre commit 3ec0d47427be9ff5b82ba5c5e853c691a942ed65 Author: Nicolas Pitre Date: Mon Mar 2 23:44:41 2009 -0500 [ARM] Kirkwood: SheevaPlug USB Power Enable setup Ideally, the default should be set to 0 and let the EHCI driver turn it on as needed. This makes USB usable in the mean time. Signed-off-by: Nicolas Pitre commit 4640fa606bf996d275a6e208e3654e9e943afe60 Author: Shadi Ammouri Date: Tue Feb 24 15:26:23 2009 -0500 [ARM] Kirkwood: Marvell SheevaPlug support Signed-off-by: Nicolas Pitre commit d6f818f71fa5db79969aaecba302745199376169 Merge: ace14b8... 305b076... Author: Nicolas Pitre Date: Sun Mar 15 21:41:23 2009 -0400 Merge commit '305b07680f' into orion/master commit 053a96ca11a9785a7e63fc89eed4514a6446ec58 Author: Nicolas Pitre Date: Fri Sep 19 00:36:12 2008 -0400 [ARM] add CONFIG_HIGHMEM option Here it is... HIGHMEM for the ARM architecture. :-) If you don't have enough ram for highmem pages to be allocated and still want to test this, then the cmdline option "vmalloc=" can be used with a value large enough to force the highmem threshold down. Successfully tested on a Marvell DB-78x00-BP Development Board with 2 GB of RAM. Signed-off-by: Nicolas Pitre commit 3f973e22160257c5bda85815be5b1540d391a671 Author: Nicolas Pitre Date: Tue Nov 4 00:48:42 2008 -0500 [ARM] ignore high memory with VIPT aliasing caches VIPT aliasing caches have issues of their own which are not yet handled. Usage of discard_old_kernel_data() in copypage-v6.c is not highmem ready, kmap/fixmap stuff doesn't take account of cache colouring, etc. If/when those issues are handled then this could be reverted. Signed-off-by: Nicolas Pitre commit 3902a15e784e9b1efa8e6ad246489c609e0ef880 Author: Nicolas Pitre Date: Thu Sep 18 22:55:47 2008 -0400 [ARM] xsc3: add highmem support to L2 cache handling code On xsc3, L2 cache ops are possible only on virtual addresses. The code is rearranged so to have a linear progression requiring the least amount of pte setups in the highmem case. To protect the virtual mapping so created, interrupts must be disabled currently up to a page worth of address range. The interrupt disabling is done in a way to minimize the overhead within the inner loop. The alternative would consist in separate code for the highmem and non highmem compilation which is less preferable. Signed-off-by: Nicolas Pitre commit 1bb772679ffb0ba1ff1d40d8c6b855ab029f177d Author: Nicolas Pitre Date: Fri Sep 12 16:11:51 2008 -0400 [ARM] Feroceon: add highmem support to L2 cache handling code The choice is between looping over the physical range and performing single cache line operations, or to map highmem pages somewhere, as cache range ops are possible only on virtual addresses. Because L2 range ops are much faster, we go with the later by factoring the physical-to-virtual address conversion and use a fixmap entry for it in the HIGHMEM case. Possible future optimizations to avoid the pte setup cost: - do the pte setup for highmem pages only - determine a threshold for doing a line-by-line processing on physical addresses when the range is small Signed-off-by: Nicolas Pitre commit 58edb515724f9e63e569536d01ac8d8f8ddb367a Author: Nicolas Pitre Date: Tue Sep 9 15:54:13 2008 -0400 [ARM] make page_to_dma() highmem aware If a machine class has a custom __virt_to_bus() implementation then it must provide a __arch_page_to_dma() implementation as well which is _not_ based on page_address() to support highmem. This patch fixes existing __arch_page_to_dma() and provide a default implementation otherwise. The default implementation for highmem is based on __pfn_to_bus() which is defined only when no custom __virt_to_bus() is provided by the machine class. That leaves only ebsa110 and footbridge which cannot support highmem until they provide their own __arch_page_to_dma() implementation. But highmem support on those legacy platforms with limited memory is certainly not a priority. Signed-off-by: Nicolas Pitre commit 43377453af83b8ff8c1c731da1508bd6b84ebfea Author: Nicolas Pitre Date: Thu Mar 12 22:52:09 2009 -0400 [ARM] introduce dma_cache_maint_page() This is a helper to be used by the DMA mapping API to handle cache maintenance for memory identified by a page structure instead of a virtual address. Those pages may or may not be highmem pages, and when they're highmem pages, they may or may not be virtually mapped. When they're not mapped then there is no L1 cache to worry about. But even in that case the L2 cache must be processed since unmapped highmem pages can still be L2 cached. Signed-off-by: Nicolas Pitre commit 3297e760776af18a26bf30046cbaaae2e730c5c2 Author: Nicolas Pitre Date: Wed Mar 4 22:49:41 2009 -0500 highmem: atomic highmem kmap page pinning Most ARM machines have a non IO coherent cache, meaning that the dma_map_*() set of functions must clean and/or invalidate the affected memory manually before DMA occurs. And because the majority of those machines have a VIVT cache, the cache maintenance operations must be performed using virtual addresses. When a highmem page is kunmap'd, its mapping (and cache) remains in place in case it is kmap'd again. However if dma_map_page() is then called with such a page, some cache maintenance on the remaining mapping must be performed. In that case, page_address(page) is non null and we can use that to synchronize the cache. It is unlikely but still possible for kmap() to race and recycle the virtual address obtained above, and use it for another page before some on-going cache invalidation loop in dma_map_page() is done. In that case, the new mapping could end up with dirty cache lines for another page, and the unsuspecting cache invalidation loop in dma_map_page() might simply discard those dirty cache lines resulting in data loss. For example, let's consider this sequence of events: - dma_map_page(..., DMA_FROM_DEVICE) is called on a highmem page. --> - vaddr = page_address(page) is non null. In this case it is likely that the page has valid cache lines associated with vaddr. Remember that the cache is VIVT. --> for (i = vaddr; i < vaddr + PAGE_SIZE; i += 32) invalidate_cache_line(i); *** preemption occurs in the middle of the loop above *** - kmap_high() is called for a different page. --> - last_pkmap_nr wraps to zero and flush_all_zero_pkmaps() is called. The pkmap_count value for the page passed to dma_map_page() above happens to be 1, so the page is unmapped. But prior to that, flush_cache_kmaps() cleared the cache for it. So far so good. - A fresh pkmap entry is assigned for this kmap request. The Murphy law says this pkmap entry will eventually happen to use the same vaddr as the one which used to belong to the other page being processed by dma_map_page() in the preempted thread above. - The kmap_high() caller start dirtying the cache using the just assigned virtual mapping for its page. *** the first thread is rescheduled *** - The for(...) loop is resumed, but now cached data belonging to a different physical page is being discarded ! And this is not only a preemption issue as ARM can be SMP as well, making the above scenario just as likely. Hence the need for some kind of pkmap page pinning which can be used in any context, primarily for the benefit of dma_map_page() on ARM. This provides the necessary interface to cope with the above issue if ARCH_NEEDS_KMAP_HIGH_GET is defined, otherwise the resulting code is unchanged. Signed-off-by: Nicolas Pitre Reviewed-by: MinChan Kim Acked-by: Andrew Morton commit 3835f6cb645bdb9a58aa6e062fe1d5777f1a9748 Author: Nicolas Pitre Date: Wed Sep 17 15:21:55 2008 -0400 [ARM] mem_init(): make highmem pages available for use Signed-off-by: Nicolas Pitre commit d73cd42893f4cdc06e6829fea2347bb92cb789d1 Author: Nicolas Pitre Date: Mon Sep 15 16:44:55 2008 -0400 [ARM] kmap support The kmap virtual area borrows a 2MB range at the top of the 16MB area below PAGE_OFFSET currently reserved for kernel modules and/or the XIP kernel. This 2MB corresponds to the range covered by 2 consecutive second-level page tables, or a single pmd entry as seen by the Linux page table abstraction. Because XIP kernels are unlikely to be seen on systems needing highmem support, there shouldn't be any shortage of VM space for modules (14 MB for modules is still way more than twice the typical usage). Because the virtual mapping of highmem pages can go away at any moment after kunmap() is called on them, we need to bypass the delayed cache flushing provided by flush_dcache_page() in that case. The atomic kmap versions are based on fixmaps, and __cpuc_flush_dcache_page() is used directly in that case. Signed-off-by: Nicolas Pitre commit 5f0fbf9ecaf354fa4bbf266fffdea2ea3d14a0ed Author: Nicolas Pitre Date: Tue Sep 16 13:05:53 2008 -0400 [ARM] fixmap support This is the minimum fixmap interface expected to be implemented by architectures supporting highmem. We have a second level page table already allocated and covering 0xfff00000-0xffffffff because the exception vector page is located at 0xffff0000, and various cache tricks already use some entries above 0xffff0000. Therefore the PTEs covering 0xfff00000-0xfffeffff are free to be used. However the XScale cache flushing code already uses virtual addresses between 0xfffe0000 and 0xfffeffff. So this reserves the 0xfff00000-0xfffdffff range for fixmap stuff. The Documentation/arm/memory.txt information is updated accordingly, including the information about the actual top of DMA memory mapping region which didn't match the code. Signed-off-by: Nicolas Pitre commit 26ade896b6ba3fd017ef4a26e71e7b7569222cb6 Author: Robert Jarzmik Date: Sun Mar 15 14:10:54 2009 +0100 ASoC: Allow choice of ac97 gpio reset line As the PXA27x series allow 2 gpios to reset the ac97 bus, allow through platform data configuration the definition of the correct gpio which will reset the AC97 bus. This comes from a silicon defect on the PXA27x series, where the gpio must be manually controlled in warm reset cases. Signed-off-by: Robert Jarzmik Signed-off-by: Mark Brown commit 607b067e161185d5c441aa366ff9fccd4fd676cb Author: Dmitry Artamonow Date: Sun Mar 15 19:14:27 2009 +0100 [ARM] 5427/1: h3600: ipaq_model_ops final cleanup Since now ipaq_model_ops used only for accessing h3600 EGPIOs, drop it completely and use assign_h3600_egpio() directly. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 104a416d80fca22284319b06eff87b6f632a3649 Author: Dmitry Artamonow Date: Sun Mar 15 19:13:16 2009 +0100 [ARM] 5426/1: h3600: remove clr_h3600_egpio/set_h3600_egpio helpers Replace all occurences with assign_h3600_egpio. Also simplify code a bit by replacing couple of if-else statements with one-line equivalents. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit ddcd8c09001e66f78488bfc238ed5bd8441d4496 Author: Dmitry Artamonow Date: Sun Mar 15 19:11:21 2009 +0100 [ARM] 5425/1: h3600: first stage of ipaq_model_ops cleanup Remove unused fields and associated funtions-accesors. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit f110b3f2a61d26329290036dac3d70a6733099de Author: Dmitry Artamonow Date: Sun Mar 15 19:09:50 2009 +0100 [ARM] 5424/1: h3600: clean up mtd partitions table Right now iPaq h3600's default MTD partitions table is a mess. It has two #ifdefs with #else, giving total 3 variants, depending on your kernel config. Replace all this with simple two-partitions scheme (bootloader + rootfs), that used by both shipped WindowsCE and most of the linux distributions (Familiar, Angstrom) Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit f84e85ef3ccedd450d2dd266798c97b05b7b3563 Author: Dmitry Artamonow Date: Sun Mar 15 19:04:56 2009 +0100 [ARM] 5423/1: SA1100: remove unused H3600_SLEEVE Kconfig option There's no actual code for iPAQ sleeves support in kernel that depends on this config option. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 0920dce7d5889634faa336f65833ee44f3b7651e Author: Akinobu Mita Date: Mon Mar 16 00:15:18 2009 +0900 x86, mm: remove unnecessary include file from iomap_32.c asm/highmem.h inclusion is added to use kmap_atomic_prot_pfn() by commit bb6d59ca927d855ffac567b35c0a790c67016103 Now kmap_atomic_prot_pfn is moved to iomap_32.c by commit dd63fdcc63f0f853b116b52e56200a0e0227cf5f So the asm/highmem.h inclusion in iomap_32.c is unnecessary now. Signed-off-by: Akinobu Mita LKML-Reference: <20090315151517.GA29074@localhost.localdomain> Signed-off-by: Ingo Molnar commit b221337ae4ef9baff84d6d5ecb806e79a5597329 Author: Artem Bityutskiy Date: Sun Mar 15 17:20:22 2009 +0200 UBIFS: fix bogus assertion Empty journal head LEBs are accounted as taken empty as well, so the GC LEB does not have to be the only taken empty LEB when nounting/remounting. Signed-off-by: Artem Bityutskiy commit da5309cd28ffda6ed8a4147bd14f1e4fbbd6503d Author: Felix Blyakher Date: Thu Mar 12 09:33:37 2009 -0500 Fix xfs debug build breakage by pushing xfs_error.h after xfs_mount.h, which it depends on. Reported-by: Stephen Rothwell Reviewed-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 78772a7cc627720e8d81c1e7f9158947996d8a7a Merge: 97fb44e... cefdb2a... Author: Russell King Date: Sun Mar 15 10:10:13 2009 +0000 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit c61cf4cfe7c73c7aa62dde3ff82cd475b9c41481 Author: Yinghai Lu Date: Sun Mar 15 00:59:19 2009 -0700 x86: print out more info in e820_update_range() Impact: help debug e820 bugs Try to print out more info, to catch wrong call parameters. Signed-off-by: Yinghai Lu LKML-Reference: <49BCB557.3030000@kernel.org> Signed-off-by: Ingo Molnar commit 6d7942dc2a70a7e74c352107b150265602671588 Author: Yinghai Lu Date: Sat Mar 14 14:32:41 2009 -0700 x86: fix 64k corruption-check Impact: fix boot crash Need to exit early if the addr is far above 64k. The crash got exposed by: 78a8b35: x86: make e820_update_range() handle small range update Signed-off-by: Yinghai Lu Cc: LKML-Reference: <49BC2279.2030101@kernel.org> Signed-off-by: Ingo Molnar commit 2bd2753ff46346543ab92e80df9d96366e21baa5 Author: Yinghai Lu Date: Mon Mar 9 01:15:57 2009 -0700 x86: put initial_pg_tables into .bss Impact: makes vmlinux section information more useful Don't use ram after _end blindly for pagetables. aka init pages is before _end put those pg table into .bss [Adapted to use brk segment - Jeremy] v2: keep initial page table up to 512M only. v4: put initial page tables just before _end Signed-off-by: Yinghai Lu Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 796216a57fe45c04adc35bda1f0782efec78a713 Author: Jeremy Fitzhardinge Date: Thu Mar 12 16:09:49 2009 -0700 x86: allow extend_brk users to reserve brk space Impact: new interface; remove hard-coded limit Add RESERVE_BRK(name, size) macro to reserve space in the brk area. This should be a conservative (ie, larger) estimate of how much space might possibly be required from the brk area. Any unused space will be freed, so there's no real downside on making the reservation too large (within limits). The name should be unique within a given file, and somewhat descriptive. The C definition of RESERVE_BRK() ends up being more complex than one would expect to work around a cluster of gcc infelicities: The first attempt was to simply try putting __section(.brk_reservation) on a variable. This doesn't work because it ends up making it a @progbits section, which gets actual space allocated in the vmlinux executable. The second attempt was to emit the space into a section using asm, but gcc doesn't allow arguments to be passed to file-level asm() statements, making it hard to pass in the size. The final attempt is to wrap the asm() in a function to allow it to have arguments, and put the function itself into the .discard section, which vmlinux*.lds drops entirely from the emitted vmlinux. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 7543c1de84ed93c6769c9f20dced08a522af8912 Author: Yinghai Lu Date: Thu Mar 12 16:04:42 2009 -0700 x86-32: compute initial mapping size more accurately Impact: simplification We only need to map the kernel in head_32.S, not the whole of lowmem. We use 512MB as a reasonable (but arbitrary) limit on the maximum size of the kernel image. Signed-off-by: Yinghai Lu Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 6de6cb442e76bbaf2e685150be8ddac0f237a59c Author: Jeremy Fitzhardinge Date: Fri Feb 27 13:35:45 2009 -0800 x86: use brk allocation for DMI Impact: use new interface instead of previous ad hoc implementation Use extend_brk() to allocate memory for DMI rather than having an ad-hoc allocator. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit ccf3fe02e35f4abca2589f99022cc25084bbd8ae Author: Jeremy Fitzhardinge Date: Fri Feb 27 13:27:38 2009 -0800 x86-32: use brk segment for allocating initial kernel pagetable Impact: use new interface instead of previous ad hoc implementation Rather than having special purpose init_pg_table_start/end variables to delimit the kernel pagetable built by head_32.S, just use the brk mechanism to extend the bss for the new pagetable. This patch removes init_pg_table_start/end and pg0, defines __brk_base (which is page-aligned and immediately follows _end), initializes the brk region to start there, and uses it for the 32-bit pagetable. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 5368a2be34b96fda9c05d79424fa63a73ead04ed Author: H. Peter Anvin Date: Sat Mar 14 17:19:51 2009 -0700 x86: move brk initialization out of #ifdef CONFIG_BLK_DEV_INITRD Impact: build fix The brk initialization functions were incorrectly located inside an #ifdef CONFIG_VLK_DEV_INITRD block, causing the obvious build failure in minimal configurations. Signed-off-by: H. Peter Anvin Cc: Jeremy Fitzhardinge commit 93dbda7cbcd70a0bd1a99f39f44a9ccde8ab9040 Author: Jeremy Fitzhardinge Date: Thu Feb 26 17:35:44 2009 -0800 x86: add brk allocation for very, very early allocations Impact: new interface Add a brk()-like allocator which effectively extends the bss in order to allow very early code to do dynamic allocations. This is better than using statically allocated arrays for data in subsystems which may never get used. The space for brk allocations is in the bss ELF segment, so that the space is mapped properly by the code which maps the kernel, and so that bootloaders keep the space free rather than putting a ramdisk or something into it. The bss itself, delimited by __bss_stop, ends before the brk area (__brk_base to __brk_limit). The kernel text, data and bss is reserved up to __bss_stop. Any brk-allocated data is reserved separately just before the kernel pagetable is built, as that code allocates from unreserved spaces in the e820 map, potentially allocating from any unused brk memory. Ultimately any unused memory in the brk area is used in the general kernel memory pool. Initially the brk space is set to 1MB, which is probably much larger than any user needs (the largest current user is i386 head_32.S's code to build the pagetables to map the kernel, which can get fairly large with a big kernel image and no PSE support). So long as the system has sufficient memory for the bootloader to reserve the kernel+1MB brk, there are no bad effects resulting from an over-large brk. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit b9719a4d9cfa5d46fa6a1eb3e3fc2238e7981e4d Author: Jeremy Fitzhardinge Date: Tue Mar 10 11:19:18 2009 -0700 x86: make section delimiter symbols part of their section Impact: cleanup Move the symbols delimiting a section part of the section (section relative) rather than absolute. This avoids any unexpected gaps between the section-start symbol and the first data in the section, which could be caused by implicit alignment of the section data. It also makes the general form of vmlinux_64.lds.S consistent with vmlinux_32.lds.S. Signed-off-by: Jeremy Fitzhardinge Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: H. Peter Anvin commit ff4fbd43fe82de28710761f2cc2ed122d716483a Author: Dhananjay Phadke Date: Fri Mar 13 14:52:06 2009 +0000 netxen: update version to 4.0.30 To mark all features and bugfixes submitted since 4.0.11. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d8b100c5da003b6f8c410453e1e6e74ced8d1cc1 Author: Dhananjay Phadke Date: Fri Mar 13 14:52:05 2009 +0000 netxen: add receive side scaling (rss) support This patch enables the load balancing capability of firmware and hardware to spray traffic into different cpus through separate rx msix interrupts. The feature is being enabled for NX3031, NX2031 (old) will be enabled later. This depends on msi-x and compatibility with msi and legacy is maintained by enabling single rx ring. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 9b3ef55c6ddbe8c7b76707eae9a77d874fe2cec0 Author: Dhananjay Phadke Date: Fri Mar 13 14:52:04 2009 +0000 netxen: remove old lro code Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 438627c77b877e445a4b918a50ff910a5ea2a12d Author: Dhananjay Phadke Date: Fri Mar 13 14:52:03 2009 +0000 netxen: sanitize variable names o remove max_ prefix from ring sizes, since they don't really represent max possible sizes. o cleanup naming of rx ring types (normal, jumbo, lro). o simplify logic to choose rx ring size, gig ports get half rx ring of 10 gig ports. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 0b72e659a10ec50acbef90756bf04177b66c8266 Author: Dhananjay Phadke Date: Fri Mar 13 14:52:02 2009 +0000 netxen: add suspend resume support Detach network interface on PCI suspend and recreate hardware context after resumes. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit fbb52f2272e6265295f0e5f6187b628e4c162eca Author: Dhananjay Phadke Date: Fri Mar 13 14:52:01 2009 +0000 netxen: fix endianness in serial number Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 09e1c061484005aa26264c3f82f2c83a273c4094 Author: PJ Waskiewicz Date: Fri Mar 13 22:15:54 2009 +0000 ixgbe: Add documentation for the driver Documentation for the ixgbe driver in the kernel docs area is missing. This adds that documentation. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4df1046622797804150327bada9fdc564c090417 Author: Jesse Brandeburg Date: Fri Mar 13 22:15:31 2009 +0000 ixgbe: Cleanup some whitespace issues, fixup and add some comments Cleanup a bit of whitespace, add some function header comments, and fix a few comments around the driver. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 885125399e2c72b6466cfd2fbcb755be499b53a2 Author: PJ Waskiewicz Date: Fri Mar 13 22:15:10 2009 +0000 ixgbe: Two small fixes for 82599 when bringing the device down and for WoL The Tx DMA unit should be disabled when bringing the device down. Also, the KX4 device with 82599 supports WoL, so we should clear the Wake Up Status (WUS) after a PCIe slot reset. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jesse Brandeburg Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9891ca7cdc42354ec48c0f76256fdcc9808ffc7e Author: Jesse Brandeburg Date: Fri Mar 13 22:14:50 2009 +0000 ixgbe: Add a few safety nets for register writes and descriptor cleanups There are possible times that a driver may fail to completely initialize, due to a buggy platform or a buggy kernel. In those cases, we'd rather fail gracefully instead of a panic. Add a few safety checks to some critical paths to try and prevent a panic in these corner-case situations. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2a41ff81162c7c406bb2a04e425a7ed51c85d89d Author: Jesse Brandeburg Date: Fri Mar 13 22:14:30 2009 +0000 ixgbe: Cleanup on the Rx init path This cleans up the following pieces of the Rx initialization path: - Enable the ECC memory fault interrupt in OTHER causes. - Fix an 82598 initialization of RDRXCTL when depending on RSS and VMDq to be enabled. We don't need these features enabled to safely set the MVMEN bit to allow multiple SRRCTL register mappings into the RXDCTL registers. - Fix the RSS initialization path to not stomp on DCB accidentally. When configuring the MRQC (multiple Rx queue contol) register, we want to make sure we only OR in features as necessary, instead of full assignment. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9a1a69adad69ce4e85c9cbb40a3f960a7cb015cf Author: Jesse Brandeburg Date: Fri Mar 13 22:14:10 2009 +0000 ixgbe: Fix the Tx clean logic to return proper status The Tx accounting when cleaning during NAPI was not completely properly. We should use the work_limit to determine when to finish cleaning, and use the same to return the cleaned status. The impact of running like this causes the NAPI clean for this Tx to get stuck in a scheduling loop, and can result in Tx not getting cleaned, ending with a Tx hang and device reset. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4dd64df8954cc6d485f7c98ab18e0480f0c7d865 Author: Jesse Brandeburg Date: Fri Mar 13 22:13:49 2009 +0000 ixgbe: fix bug with napi add before request_irq Occasionally if the driver was loaded in a system that didn't support MSI-X or MSI and was on a shared interrupt, the driver would then panic in NAPI on the first shared interrupt because we hadn't called napi_add yet. Solution: call napi_add before calling request_irq Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 509ee935ec0828e534e4d48d08d4d0b4bc17ea92 Author: Jesse Brandeburg Date: Fri Mar 13 22:13:28 2009 +0000 ixgbe: Fix interrupt configuration for 82599 The interrupt models using EITR have changed in 82599. The way the register is laid out, the change is transparent to some of the existing code. However, some of it isn't. This patch fixes all the cases where EITR handling is different than 82598. Signed-off-by: Jesse Brandeburg Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 40dcd79a7bd2e0d6bf4680db4bc0268c9f149a1d Author: PJ Waskiewicz Date: Fri Mar 13 22:13:08 2009 +0000 ixgbe: Disable DROP_EN for Rx queues 82599 mistakenly enabled drop on Rx queues in the packet buffer. The default mode should be store-and-forward from the FIFO. Signed-off-by: Peter P Waskiewicz Jr Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d51019a4daac885ac4dead9d45d3a2a61189d9fd Author: PJ Waskiewicz Date: Fri Mar 13 22:12:48 2009 +0000 ixgbe: Fix an accounting problem when the Rx FIFO is full The rx_no_dma_resources counter reported by ethtool -S ethX is not counting correctly. In 82599, the queue mappings for the counters need to be mapped properly, and accounted for properly. Signed-off-by: Peter P Waskiewicz Jr Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1339b9e975902dcb8ef81ace678cfb6626d4bf3f Author: PJ Waskiewicz Date: Fri Mar 13 22:12:29 2009 +0000 ixgbe: Fix get_supported_physical_layer() due to new 82599 PHY types A purely cosmetic change. Report which physical layer is present, instead of PHY unknown. 82599 added new PHY types for the SFP+ devices, and this was missed getting updated. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c8ea5ea9da338d6af015148105f07fc35eda8a92 Author: Alexander Duyck Date: Fri Mar 13 20:42:35 2009 +0000 igb: add support for 82576 quad copper adapter Add support for 82576 copper adapter and necessary code to restrict wol for quad port adapter to first port. Signed-off-by: Alexander Duyck Acked-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9eb2341d0df6e5d33508008879987bf5bb146804 Author: Alexander Duyck Date: Fri Mar 13 20:42:15 2009 +0000 igb: add support for another dual port 82576 non-security nic Adding device id to support 82576NS dual port copper NIC. Signed-off-by: Alexander Duyck Acked-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 75f4f382e3f92d1d2fcb77fe6ed7beda19185f0f Author: Alexander Duyck Date: Fri Mar 13 20:41:55 2009 +0000 igb: correct typo that was setting vfta mask to 1 This patch corrects a typo that was doing a less than comparison instead of a left shift due to the fact that I didn't get enough <'s in there. This resolves an issue in which vlans were not functioning correctly. Signed-off-by: Alexander Duyck Acked-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cad6d05f5676d879bb2a48154aea26cd81ebf1bb Author: Alexander Duyck Date: Fri Mar 13 20:41:37 2009 +0000 igb: add PF to pool Add Pf to pool if adding a VLVF register value and the VFTA bit is already set. This patch addresses the unlikely situation that the PF adds a vlan entry when the vlvf is full, and a vf later adds the vlan to the vlvf. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a2cf8b6ce17415fc84f51300fd6be372d95bfcea Author: Alexander Duyck Date: Fri Mar 13 20:41:17 2009 +0000 igb: support wol on second port We need to support wol on the second port for situations such as when the lan ports are on the motherboard itself. Signed-off-by: Alexander Duyck Acked-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bd38e5d124ddd11c457c5ae7242cd039045d80e0 Author: Alexander Duyck Date: Fri Mar 13 20:40:58 2009 +0000 igb: resolve warning of unused adapter struct If DCA is undefined then the adapter struct becomes unnecessary. To resolve this issue the DCA calls can simply make a call to the adapter struct through the rx_ring adapter struct member. Signed-off-by: Alexander Duyck Acked-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5e6d5b17db099dd575490545a4f0af9a99fa8bbe Author: Alexander Duyck Date: Fri Mar 13 20:40:38 2009 +0000 igb: remove netif running call from igb_poll The netif_running check in igb poll is a hold over from the use of fake netdevs to use multiple queues with NAPI prior to 2.6.24. It is no longer necessary to have the call there and it currently can cause errors if work_done == budget. Signed-off-by: Alexander Duyck Acked-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 92be791759945a9170394e92c03a2e75175d6bbe Author: Maciej Sosnowski Date: Fri Mar 13 20:40:21 2009 +0000 igb: switch to new dca API With the new DCA API, the driver should use dca3_get_tag() instead of the obsolete dca_get_tag(). Signed-off-by: Maciej Sosnowski < maciej.sosnowski@intel.com> Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4c3c4cdb1de232ff37cf4339eb2f36c84e20da6 Author: Jaswinder Singh Rajput Date: Fri Mar 13 19:59:26 2009 +0530 x86: cpu_debug add support for various AMD CPUs Impact: Added AMD CPUs support Added flags for various AMD CPUs. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 48f4c485c275e9550fa1a1191768689cc3ae0037 Author: Sebastian Andrzej Siewior Date: Sat Mar 14 12:24:02 2009 +0100 x86/centaur: merge 32 & 64 bit version there should be no difference, except: * the 64bit variant now also initializes the padlock unit. * ->c_early_init() is executed again from ->c_init() * the 64bit fixups made into 32bit path. Signed-off-by: Sebastian Andrzej Siewior Cc: herbert@gondor.apana.org.au LKML-Reference: <1237029843-28076-2-git-send-email-sebastian@breakpoint.cc> Signed-off-by: Ingo Molnar commit 0ca0f16fd17c5d880dd0abbe03595b0c7c5b3c95 Merge: c550033... 7a81d9a... 88200bc... 0f3fa48... 91219bc... 0634023... 773e673... 5a8ac9d... 16a6791... 895791d... Author: Ingo Molnar Date: Sat Mar 14 16:25:40 2009 +0100 Merge branches 'x86/apic', 'x86/asm', 'x86/cleanups', 'x86/debug', 'x86/kconfig', 'x86/mm', 'x86/ptrace', 'x86/setup' and 'x86/urgent'; commit 'v2.6.29-rc8' into x86/core commit f55aa59106b66cd547c8f296e0b3430ad76554c5 Author: Adrian Hunter Date: Mon Feb 23 12:47:25 2009 +0200 UBIFS: fix bug where page is marked uptodate when out of space UBIFS fast path in write_begin may mark a page up to date and then discover that there may not be enough space to do the write, and so fall back to a slow path. The slow path tries harder, but may still find no space - leaving the page marked up to date, when it is not. This patch ensures that the page is marked not up to date in that case. The bug that this patch fixes becomes evident when the write is into a hole (sparse file) or is at the end of the file and a subsequent read is off the end of the file. In both cases, the file system should return zeros but was instead returning the page that had not been written because the file system was out of space. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 0da205e01bc58cfad660659e3c901223d3596c57 Author: Matthew Wilcox Date: Thu Mar 12 14:20:29 2009 -0400 [SCSI] sd: Refactor sd_read_capacity() The sd_read_capacity() function was about 180 lines long and included a backwards goto and a tricky state variable. Splitting out read_capacity_10() and read_capacity_16() (about 50 lines each) reduces sd_read_capacity to about 100 lines and gets rid of the backwards goto and the state variable. I've tried to avoid any behaviour change with this patch. [jejb: upped transfer request to standard recommended 32 for RC16] Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 85fab7802a4bc00cc752f430e22a0d9fc41fe199 Author: Mark Brown Date: Fri Mar 13 14:27:08 2009 +0000 ASoC: Fix Zylonite for non-networked SSP mode This also simplifies the code a bit. Signed-off-by: Mark Brown commit 0ce36c5f7f87632f26c8fbefe68b5116eda152d2 Author: Mark Brown Date: Fri Mar 13 14:26:08 2009 +0000 ASoC: Fix non-networked I2S mode for PXA SSP Two issues are fixed here: - I2S transmits the left frame with the clock low but I don't seem to get LRCLK out without SFRMDLY being set so invert SFRMP and set a delay. - I2S has a clock cycle prior to the first data byte in each channel so we need to delay the data by one cycle. Tested-by: Daniel Mack Signed-off-by: Mark Brown commit ed681a91ab805341675d166a9592551093c0a2d9 Author: Vegard Nossum Date: Sat Mar 14 12:08:50 2009 +0100 vsprintf: unify the format decoding layer for its 3 users, cleanup Impact: cleanup Rename FORMAT_TYPE_WITDH to => FORMAT_TYPE_WIDTH Cc: Frederic Weisbecker Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit adf26f84a62b492e002d3b75af671f23ddd3be0a Author: Vegard Nossum Date: Sat Mar 14 12:08:50 2009 +0100 fix regression from "vsprintf: unify the format decoding layer for its 3 users" Jeremy Fitzhardinge reported: > Change fef20d9c1380f04ba9492d6463148db07b413708, "vsprintf: > unify the format decoding layer for its 3 users", causes a > regression in xenbus which results in no devices getting > attached to a new domain. %.*s is broken - fix it. Reported-by: Jeremy Fitzhardinge Cc: Frederic Weisbecker Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit d4c90e37a21154c1910b2646e9544bdd32d5bc3a Author: Yinghai Lu Date: Fri Mar 13 14:08:49 2009 -0700 x86: print the continous part of fixed mtrrs together Impact: print out fewer lines 1. print continuous range with same type together 2. change _INFO to _DEBUG Signed-off-by: Yinghai Lu LKML-Reference: <49BACB61.8000302@kernel.org> Signed-off-by: Ingo Molnar commit 63516ef6d6a8379ee5c32463efc6a75f9da8a309 Author: Yinghai Lu Date: Fri Mar 13 12:46:07 2009 -0700 x86: fix get_mtrr() warning about smp_processor_id() with CONFIG_PREEMPT=y Impact: fix debug warning Jaswinder noticed that there is a warning about smp_processor_id() in get_mtrr(). Fix it by wrapping the printout into a get/put_cpu() pair. Reported-by: Jaswinder Singh Rajput Signed-off-by: Yinghai Lu Cc: Andrew Morton LKML-Reference: <49BAB7FF.4030107@kernel.org> [ changed to get/put_cpu(), cleaned up surrounding code a it. ] Signed-off-by: Ingo Molnar commit 78a8b35bc7abf8b8333d6f625e08c0f7cc1c3742 Author: Yinghai Lu Date: Thu Mar 12 22:36:01 2009 -0700 x86: make e820_update_range() handle small range update Impact: enhance e820 code to handle more cases Try to handle new range which could be covered by one entry. Signed-off-by: Yinghai Lu Cc: jbeulich@novell.com LKML-Reference: <49B9F0C1.10402@kernel.org> Signed-off-by: Ingo Molnar commit 0f3fa48a7eaf5d1118cfda1650e8c759b2a116e4 Author: Ingo Molnar Date: Sat Mar 14 08:46:17 2009 +0100 x86: cpu/common.c more cleanups Complete/fix the cleanups of cpu/common.c: - fix ugly warning due to asm/topology.h -> linux/topology.h change - standardize the style across the file - simplify/refactor the code flow where possible Cc: Jaswinder Singh Rajput LKML-Reference: <1237009789.4387.2.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit b478b782e110fdb4135caa3062b6d687e989d994 Author: Lai Jiangshan Date: Fri Mar 13 15:10:26 2009 +0800 kallsyms, tracing: output more proper symbol name Impact: bugfix, output more reliable symbol lookup result Debug tools(dump_stack(), ftrace...) are like to print out symbols. But it is always print out the first aliased symbol.(Aliased symbols are symbols with the same address), and the first aliased symbol is sometime not proper. # echo function_graph > current_tracer # cat trace ...... 1) 1.923 us | select_nohz_load_balancer(); 1) + 76.692 us | } 1) | default_idle() { 1) ==========> | __irqentry_text_start() { 1) 0.000 us | native_apic_mem_write(); 1) | irq_enter() { 1) 0.000 us | idle_cpu(); 1) | tick_check_idle() { 1) 0.000 us | tick_check_oneshot_broadcast(); 1) | tick_nohz_stop_idle() { ...... It's very embarrassing, it ouputs "__irqentry_text_start()", actually, it should output "smp_apic_timer_interrupt()". (these two symbol are the same address, but "__irqentry_text_start" is deemed to the first aliased symbol by scripts/kallsyms) This patch puts symbols like "__irqentry_text_start" to the second aliased symbols. And a more proper symbol name becomes the first. Aliased symbols mostly come from linker script. The solution is guessing "is this symbol defined in linker script", the symbols defined in linker script will not become the first aliased symbol. And if symbols are found to be equal in this "linker script provided" criteria, symbols are sorted by the number of prefix underscores. Signed-off-by: Lai Jiangshan Acked-by: Sam Ravnborg Reviewed-by: Paulo Marques LKML-Reference: <49BA06E2.7080807@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c550033ced484d8d333bc1edc0a482728680e689 Merge: a98fe7f... 7a46c59... Author: Ingo Molnar Date: Sat Mar 14 09:50:10 2009 +0100 Merge branch 'core/percpu' into x86/core commit 895791dac6946d535991edd11341046f8e85ea77 Author: Pallipadi, Venkatesh Date: Fri Mar 13 16:35:44 2009 -0700 VM, x86, PAT: add a new vm flag to track full pfnmap at mmap Impact: cleanup Add a new vm flag VM_PFN_AT_MMAP to identify a PFNMAP that is fully mapped with remap_pfn_range. Patch removes the overloading of VM_INSERTPAGE from the earlier patch. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Acked-by: Nick Piggin LKML-Reference: <20090313233543.GA19909@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit 62395efdb0ef42e664ca81677901268c403a6286 Merge: ccd50df... 88200bc... Author: Ingo Molnar Date: Sat Mar 14 08:16:21 2009 +0100 Merge branch 'x86/asm' into tracing/syscalls We need the wider TIF work-mask checks in entry_32.S. Signed-off-by: Ingo Molnar commit 88200bc28da38bcda1cb1bd218216e83b426d8a8 Author: Jaswinder Singh Rajput Date: Sat Mar 14 12:08:13 2009 +0530 x86: entry_32.S fix compile warnings - fix work mask bit width Fix: arch/x86/kernel/entry_32.S:446: Warning: 00000000080001d1 shortened to 00000000000001d1 arch/x86/kernel/entry_32.S:457: Warning: 000000000800feff shortened to 000000000000feff arch/x86/kernel/entry_32.S:527: Warning: 00000000080001d1 shortened to 00000000000001d1 arch/x86/kernel/entry_32.S:541: Warning: 000000000800feff shortened to 000000000000feff arch/x86/kernel/entry_32.S:676: Warning: 0000000008000091 shortened to 0000000000000091 TIF_SYSCALL_FTRACE is 0x08000000 and until now we checked the first 16 bits of the work mask - bit 27 falls outside of that. Update the entry_32.S code to check the full 32-bit mask. [ %cx => %ecx fix from Cyrill Gorcunov ] Signed-off-by: Jaswinder Singh Rajput Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: "H. Peter Anvin" LKML-Reference: <1237012693.18733.3.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 9766cdbcb260389669e9679b2aa87c11832f479f Author: Jaswinder Singh Rajput Date: Sat Mar 14 11:19:49 2009 +0530 x86: cpu/common.c cleanups - fix various style problems - declare varibles before they get used - introduced clear_all_debug_regs - fix header files issues LKML-Reference: <1237009789.4387.2.camel@localhost.localdomain> Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 9c705260feea6ae329bc6b6d5f6d2ef0227eda0a Author: Gabriele Paoloni Date: Fri Mar 13 16:09:12 2009 -0700 ppp: ppp_mp_explode() redesign I found the PPP subsystem to not work properly when connecting channels with different speeds to the same bundle. Problem Description: As the "ppp_mp_explode" function fragments the sk_buff buffer evenly among the PPP channels that are connected to a certain PPP unit to make up a bundle, if we are transmitting using an upper layer protocol that requires an Ack before sending the next packet (like TCP/IP for example), we will have a bandwidth bottleneck on the slowest channel of the bundle. Let's clarify by an example. Let's consider a scenario where we have two PPP links making up a bundle: a slow link (10KB/sec) and a fast link (1000KB/sec) working at the best (full bandwidth). On the top we have a TCP/IP stack sending a 1000 Bytes sk_buff buffer down to the PPP subsystem. The "ppp_mp_explode" function will divide the buffer in two fragments of 500B each (we are neglecting all the headers, crc, flags etc?.). Before the TCP/IP stack sends out the next buffer, it will have to wait for the ACK response from the remote peer, so it will have to wait for both fragments to have been sent over the two PPP links, received by the remote peer and reconstructed. The resulting behaviour is that, rather than having a bundle working @1010KB/sec (the sum of the channels bandwidths), we'll have a bundle working @20KB/sec (the double of the slowest channels bandwidth). Problem Solution: The problem has been solved by redesigning the "ppp_mp_explode" function in such a way to make it split the sk_buff buffer according to the speeds of the underlying PPP channels (the speeds of the serial interfaces respectively attached to the PPP channels). Referring to the above example, the redesigned "ppp_mp_explode" function will now divide the 1000 Bytes buffer into two fragments whose sizes are set according to the speeds of the channels where they are going to be sent on (e.g . 10 Byets on 10KB/sec channel and 990 Bytes on 1000KB/sec channel). The reworked function grants the same performances of the original one in optimal working conditions (i.e. a bundle made up of PPP links all working at the same speed), while greatly improving performances on the bundles made up of channels working at different speeds. Signed-off-by: Gabriele Paoloni Signed-off-by: David S. Miller commit a2025b8b1039e5abaa38319b2eaab3b17867479a Author: Roel Kluin Date: Fri Mar 13 16:05:14 2009 -0700 tcp: '< 0' test on unsigned promote 'cnt' to size_t, to match 'len'. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 8db09f26f912f7c90c764806e804b558da520d4f Author: Roel Kluin Date: Fri Mar 13 16:04:12 2009 -0700 x25: '< 0' and '>= 0' test on unsigned skb->len is an unsigned int, so the test in x25_rx_call_request() always evaluates to true. len in x25_sendmsg() is unsigned as well. so -ERRORS returned by x25_output() are not noticed. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 73ce7b01b4496a5fbf9caf63033c874be692333f Author: Denys Fedoryshchenko Date: Fri Mar 13 16:02:07 2009 -0700 ipv4: arp announce, arp_proxy and windows ip conflict verification Windows (XP at least) hosts on boot, with configured static ip, performing address conflict detection, which is defined in RFC3927. Here is quote of important information: " An ARP announcement is identical to the ARP Probe described above, except that now the sender and target IP addresses are both set to the host's newly selected IPv4 address. " But it same time this goes wrong with RFC5227. " The 'sender IP address' field MUST be set to all zeroes; this is to avoid polluting ARP caches in other hosts on the same link in the case where the address turns out to be already in use by another host. " When ARP proxy configured, it must not answer to both cases, because it is address conflict verification in any case. For Windows it is just causing to detect false "ip conflict". Already there is code for RFC5227, so just trivially we just check also if source ip == target ip. Signed-off-by: Denys Fedoryshchenko Signed-off-by: David S. Miller commit 1f8ae0a21d83f43006d7f6d2862e921dbf2eeddd Author: Tomasz Lemiech Date: Fri Mar 13 15:43:38 2009 -0700 tulip: Fix for MTU problems with 802.1q tagged frames The original patch was submitted last year but wasn't discussed or applied because of missing maintainer's CCs. I only fixed some formatting errors, but as I saw tulip is very badly formatted and needs further work. Original description: This patch fixes MTU problem, which occurs when using 802.1q VLANs. We should allow receiving frames of up to 1518 bytes in length, instead of 1514. Based on patch written by Ben McKeegan for 2.4.x kernels. It is archived at http://www.candelatech.com/~greear/vlan/howto.html#tulip I've adjusted a few things to make it apply on 2.6.x kernels. Tested on D-Link DFE-570TX quad-fastethernet card. Signed-off-by: Tomasz Lemiech Signed-off-by: Ivan Vecera Signed-off-by: Ben McKeegan Acked-by: Grant Grundler Signed-off-by: David S. Miller commit a390d1f379cf821248b735f43d2e1147ebb8241d Author: Marcin Slusarz Date: Fri Mar 13 15:41:19 2009 -0700 phylib: convert state_queue work to delayed_work It closes a race in phy_stop_machine when reprogramming of phy_timer (from phy_state_machine) happens between del_timer_sync and cancel_work_sync. Without this change it could lead to crash if phy_device would be freed after phy_stop_machine (timer would fire and schedule freed work). Signed-off-by: Marcin Slusarz Acked-by: Jean Delvare Signed-off-by: David S. Miller commit 97fb44eb6bc01f4ffed4300e475aa15e44877375 Merge: e4707dd... 148854c... Author: Russell King Date: Fri Mar 13 21:44:51 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel Conflicts: arch/arm/mach-at91/gpio.c commit 34cd347cec6dba8075ceca06efd4fb0c6574cb75 Author: Pavel Roskin Date: Fri Mar 13 14:17:16 2009 -0700 bmac: remove unused variable bp in bmac_misc_intr() From: Pavel Roskin Signed-off-by: David S. Miller commit 635374e7eb110e80d9918b8611198edd56a32975 Author: Eric Moore Date: Mon Mar 9 01:21:12 2009 -0600 [SCSI] mpt2sas v00.100.11.15 * This is new scsi lld device driver from LSI supporting the SAS 2.0 standard. I have split patchs by filename. * Here is list of new 6gb host controllers: LSI SAS2004 LSI SAS2008 LSI SAS2108 LSI SAS2116 * Here are the changes in the 4th posting of this patch set: (1) fix compile errors when SCSI_MPT2SAS_LOGGING is not enabled (2) add mpt2sas to the SCSI Mid Layer Makefile (3) append mpt2sas_ to the naming of all non-static functions (4) fix oops for SMP_PASSTHRU (5) doorbell algorithm imported changes from windows driver * Here are the changes in the 3rd posting of this patch set: (1) add readl following writel from the function that disables interrupts (2) replace 0xFFFFFFFFFFFFFFFFULL with ~0ULL (3) when calling pci_enable_msix, only pass one msix entry (instead of 15). (4) remove the "current HW implementation uses..... " comment in the sources (5) merged bug fix for SIGIO/POLLIN notifcation; reported by the storlib team. * Here are the changes in the 2nd posting of this patch set: (1) use little endian types in the mpi headers (2) merged in bug fix's from inhouse drivers. Signed-off-by: Eric Moore Tested-by: peter Bogdanovic Signed-off-by: James Bottomley commit dec3f95959bff957f5bcbf16c2a2823f7e33d1e7 Author: Eric Moore Date: Mon Mar 9 01:27:49 2009 -0600 [SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 52e21b1bd96444c452f6eab7dc438a8a898aa14a Author: Jan-Bernd Themann Date: Fri Mar 13 13:50:40 2009 -0700 ehea: fix circular locking problem This patch fixes the circular locking problem by changing the locking strategy concerning the logging of firmware handles. Signed-off-by: Jan-Bernd Themann Signed-off-by: David S. Miller commit 95f6c83f6c57be92c67247802d0f699137957457 Author: Scott James Remnant Date: Tue Mar 10 16:19:44 2009 +0000 [SCSI] ch: Add scsi type modalias The ch module is missing the scsi:t-0x08* alias that would cause it to be auto-loaded when a device of that type if found by udev, requiring udev to have a specific rule just for this one module. This patch adds the alias. Signed-off-by: Scott James Remnant Signed-off-by: James Bottomley commit 7a252fe7bcf64f1174b55c5c696ef2506b849f80 Author: adam radford Date: Mon Mar 9 12:15:01 2009 -0800 [SCSI] 3w-9xxx: add power management support Signed-off-by: Adam Radford Signed-off-by: James Bottomley commit 4ab3b73f85ca2e99d9dbdb55ac13e57327a7e915 Author: Douglas Gilbert Date: Mon Mar 9 10:51:38 2009 -0400 [SCSI] bsg: add linux/types.h include to bsg.h Since bsg.h has recently been added to the list of kernel headers that should be exported to the user space, this attachment makes bsg.h more user space "friendly". Specifically autotools dislike headers that don't compile freestanding and bsg.h's use of __u32 types (and friends) are not standard C (C90 or C99). The inclusion of linux/types.h fixes that. Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley commit 154229a33e5698cd89910c9762201bc7edd446b4 Author: Karen Xie Date: Thu Mar 5 14:46:08 2009 -0600 [SCSI] cxgb3i: fix function descriptions Limit function descriptions to be one line. Signed-off-by: Karen Xie Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 728996829b3e2a3bbacb7390e6c040dd839cdf21 Author: Mike Christie Date: Thu Mar 5 14:46:07 2009 -0600 [SCSI] libiscsi: fix possbile null ptr session command cleanup If the iscsi eh fires when the current task is a nop, then the task->sc pointer is null. fail_all_commands could then try to do task->sc->device and oops. We actually do not need to access the curr task in this path, because if it is a cmd task the fail_command call will handle this and if it is mgmt task then the flush of the mgmt queues will handle that. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5e7facb77ff4b6961d936773fb1f175f7abf76b7 Author: Mike Christie Date: Thu Mar 5 14:46:06 2009 -0600 [SCSI] iscsi class: remove host no argument from session creation callout We do not need to have llds set the host no for the session's parent, because we know the session's parent is going to be the host. This removes it from the session creation callback and converts the drivers. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 40a06e755d8524cd0b24f795e8bdce5ad19fc41b Author: Mike Christie Date: Thu Mar 5 14:46:05 2009 -0600 [SCSI] libiscsi: pass session failure a session struct The api for conn and session failures is akward because one takes a conn from the lib and one takes a session from the class. This syncs up the interfaces to use structs from the lib. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 4d1083509a69a36cc1394f188b7b8956e5526a16 Author: Mike Christie Date: Thu Mar 5 14:46:04 2009 -0600 [SCSI] iscsi lib: remove qdepth param from iscsi host allocation The qdepth setting was useful when we needed libiscsi to verify the setting. Now we just need to make sure if older tools passed in zero then we need to set some default. So this patch just has us use the sht->cmd_per_lun or if for LLD does a host per session then we can set it on per host basis. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 32ae763e3fce4192cd008956a340353a2e5c3192 Author: Mike Christie Date: Thu Mar 5 14:46:03 2009 -0600 [SCSI] iscsi lib: have lib create work queue for transmitting IO We were using the shost work queue which ended up being a little akward since all iscsi hosts need a thread for scanning, but only drivers hooked into libiscsi need a workqueue for transmitting. So this patch moves the xmit workqueue to the lib. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 06d25af4edb60f9e9c7e74d342a6963a32e3392f Author: Mike Christie Date: Thu Mar 5 14:46:02 2009 -0600 [SCSI] iscsi class: fix lock dep warning on logout We never should hit the lock up that is spit out when lock dep is on and we logout. But we have been using the shost work queue in a odd way. This patch has us use the work queue for scanning instead of creating our own, and this ends up also killing the lock dep warnings. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e28f3d5b51ed07d822f135cd941b01e2d485270e Author: Mike Christie Date: Thu Mar 5 14:46:01 2009 -0600 [SCSI] libiscsi: don't cap queue depth in iscsi modules There is no need to cap the queue depth in the modules. We set this in userspace and can do that there. For performance testing with ram based targets, this is helpful since we can have very high queue depths. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c93f87c727ad4e6a5d94cfab219b1492ccc5ca5e Author: Mike Christie Date: Thu Mar 5 14:46:00 2009 -0600 [SCSI] iscsi_tcp: replace scsi_debug/tcp_debug logging with iscsi conn logging This makes the logging a compile time option and replaces the tcp_debug macro with a iscsi connection one that prints out a driver model id prefix. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0ab1c2529e6a70e1b3c63fe9c6b41d4049758a8e Author: Mike Christie Date: Thu Mar 5 14:45:59 2009 -0600 [SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging This makes the logging a compile time option and replaces the scsi_debug and tcp_debug macro with session and connection ones that print out a driver model id prefix. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1b2c7af877f427a2b25583c9033616c9ebd30aed Author: Mike Christie Date: Thu Mar 5 14:45:58 2009 -0600 [SCSI] libiscsi: replace scsi_debug logging with session/conn logging This makes the logging a compile time option and replaces the scsi_debug macro with session and connection ones that print out a driver model id prefix. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 48a237a26db0a31404c83a88e984b37a30ddcf5a Author: Mike Christie Date: Thu Mar 5 14:45:57 2009 -0600 [SCSI] iser: have iser use its own logging iser has its own logging inrfastrucutre. Convert it to use it instead of libiscsi. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 091e6dbec966d0727ae7fb2d5a8a2b8ace09a02e Author: Pete Wyckoff Date: Thu Mar 5 14:45:56 2009 -0600 [SCSI] iscsi tcp: bidi capable Mark iscsi_tcp as being capable of bidirectional transfers. The bsg interface checks this bit before attempting any bidirectional commands. Signed-off-by: Pete Wyckoff Signed-off-by: Boaz Harrosh Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f474a37bc48667595b5653a983b635c95ed82a3b Author: Jean Delvare Date: Thu Mar 5 14:45:55 2009 -0600 [SCSI] libiscsi: fix iscsi pool error path Memory freeing in iscsi_pool_free() looks wrong to me. Either q->pool can be NULL and this should be tested before dereferencing it, or it can't be NULL and it shouldn't be tested at all. As far as I can see, the only case where q->pool is NULL is on early error in iscsi_pool_init(). One possible way to fix the bug is thus to not call iscsi_pool_free() in this case (nothing needs to be freed anyway) and then we can get rid of the q->pool check. Signed-off-by: Jean Delvare Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f9ac30f080d23ef0a2d4a1b7c6806c9a21c0f324 Author: Eric Biederman Date: Fri Mar 13 13:16:13 2009 -0700 macvlan: Deterministic ingress packet delivery Changing the mac address when a macvlan device is up will leave the device on the wrong hash chain making it impossible to receive packets. There is no checking of the mac address set on the macvlan. Allowing a misconfiguration to grab packets from the the underlying device or another macvlan. To resolve these problems I update the hash table of macvlans when the mac address of a macvlan changes, and when updating the hash table I verify that the new mac address is usable. The result is well defined and predictable if not perfect handling of mac vlan mac addresses. To keep the code clear I have created a set of hash table maintenance in macvlan so I am not open coding the hash function and the logic needed to update the hash table all over the place. Signed-off-by: Eric Biederman Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 07c00ec449d4d94042063a6900d7d04fdc9f8e62 Author: Yi Zou Date: Fri Feb 27 14:07:31 2009 -0800 [SCSI] fcoe: fcoe fc crc offload indication by skb->ip_summed If LLD supports FCCRC offload, it should set ip_summed to be CHECKSUM_UNNECESSARY so we don't have to do CRC check again. Signed-off-by: Yi Zou Signed-off-by: James Bottomley commit b0832a2961022a076c812384435b5f0290b3fc91 Author: Eric Biederman Date: Fri Mar 13 13:15:37 2009 -0700 macvlan: Support creating macvlans from macvlans When running in a network namespace whose only link to the outside world is a macvlan device, not being able to create another macvlan is a real pain. So modify macvlan creation to allow automatically forward a creation of a macvlan on a macvlan to become a creation of a macvlan on the underlying network device. Signed-off-by: Eric Biederman Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e05620073625935290120be93a6214b1b52ae34f Author: Yi Zou Date: Fri Feb 27 14:07:26 2009 -0800 [SCSI] fcoe: add support to FCoE offload support in fcoe_sw through net_device This adds implementation of ddp_setup()/ddp_done() in fcoe_sw for its fcoe_sw_libfc_fcn_templ. Signed-off-by: Yi Zou Signed-off-by: James Bottomley commit b277d2aa9a4d969002c4157bf77b76b9ad9ca04a Author: Yi Zou Date: Fri Feb 27 14:07:21 2009 -0800 [SCSI] libfc: add support of large receive offload by ddp in fc_fcp When LLD supports direct data placement (ddp) for large receive of an scsi i/o coming into fc_fcp, we call into libfc_function_template's ddp_setup() to prepare for a ddp of large receive for this read I/O. When I/O is complete, we call the corresponding ddp_done() to get the length of data ddped as well as to let LLD do clean up. fc_fcp_ddp_setup()/fc_fcp_ddp_done() are added to setup and complete a ddped read I/O described by the given fc_fcp_pkt. They would call into corresponding ddp_setup/ddp_done implemented by the fcoe layer. Eventually, fcoe layer calls into LLD's ddp_setup/ddp_done provided through net_device Signed-off-by: Yi Zou Signed-off-by: James Bottomley commit 39ca9a065a5a0a6f2f0cd648090a979ba3f4f018 Author: Yi Zou Date: Fri Feb 27 14:07:15 2009 -0800 [SCSI] fcoe: add support to large send by gso through net_device for fcoe_sw Change fcoe_xmit to setup gso for LLD LSO offload as well as CRC offload Signed-off-by: Yi Zou Signed-off-by: James Bottomley commit 276d68142b7b676594ab8739355c27e9e5b3d41d Author: Yi Zou Date: Fri Feb 27 14:07:10 2009 -0800 [SCSI] libfc: use lso_max for sequence offload Make sure for large send is supported by LLD in outgoing FCP data, we are only sending the lso_max a time in one single large send, since that is what supported by LLD. Signed-off-by: Yi Zou Signed-off-by: James Bottomley commit ea1e9a9df5e1fde7ad8878c85b4a097cad0ddcea Author: Yi Zou Date: Fri Feb 27 14:07:04 2009 -0800 [SCSI] fcoe, libfc: check offload features from LLD through netdev This checks if net_devices supports FCoE offload ops in netdev_ops and it if it does, then sets up the corresponding flags in the associated fc_lport. For large send offload, the maximum length supported in one large send is now described by the added lso_max in fc_lport, which is setup initially from netdev->gso_max_size. Signed-off-by: Yi Zou Signed-off-by: James Bottomley commit 4d288d5767f853bfca25adc7b6030dc95518cb2e Author: Yi Zou Date: Fri Feb 27 14:06:59 2009 -0800 [SCSI] net: add FCoE offload support through net_device This adds support to provide Fiber Channel over Ethernet (FCoE) offload through net_device's net_device_ops struct. The offload through net_device for FCoE is enabled in kernel as built-in or module driver. Signed-off-by: Yi Zou Acked-by: David Miller Signed-off-by: James Bottomley commit 1c8dbcf6496c2612d883a8bc6bccc38000e14866 Author: Yi Zou Date: Fri Feb 27 14:06:54 2009 -0800 [SCSI] net: add NETIF_F_FCOE_CRC to can_checksum_protocol Add FC CRC offload check for ETH_P_FCOE. Signed-off-by: Yi Zou Acked-by: David Miller Signed-off-by: James Bottomley commit 01d5b2fca1fa58ed5039239fd531e9f658971ace Author: Chris Leech Date: Fri Feb 27 14:06:49 2009 -0800 [SCSI] net: define feature flags for FCoE offloads Define feature flags for FCoE offloads. Signed-off-by: Chris Leech Signed-off-by: Yi Zou Acked-by: David Miller Signed-off-by: James Bottomley commit 43eb99c5b349b188f82725652f3d1018c619d682 Author: Chris Leech Date: Fri Feb 27 14:06:43 2009 -0800 [SCSI] net: reclaim 8 upper bits of the netdev->features from GSO Reclaim 8 upper bits of netdev->features from GSO. Signed-off-by: Chris Leech Signed-off-by: Yi Zou Acked-by: David Miller Signed-off-by: James Bottomley commit 211c738d86f3f423f1b218ab3a356c9538e38047 Author: Yi Zou Date: Fri Feb 27 14:06:37 2009 -0800 [SCSI] net, fcoe: add ETH_P_FCOE for Fibre Channel over Ethernet (FCoE) This adds eth type ETH_P_FCOE for Fibre Channel over Ethernet (FCoE), consequently, the ETH_P_FCOE from fc_fcoe.h and fcoe skb->protocol is not set as ETH_P_FCOE. Signed-off-by: Yi Zou Acked-by: David Miller Signed-off-by: James Bottomley commit f7efb6ccc2113911e4e064f78bcd0343c4673038 Author: Steve Glendinning Date: Wed Mar 4 07:33:25 2009 +0000 smsc911x: improve EEPROM loading timeout logic in open This patch from Juha Leppanen suppresses a false warning if the eeprom load succeeds on the very last attempt. Juha> In function smsc911x_open smsc911x_reg_read+udelay can be run 50 Juha> times with timeout reaching -1, and the following if statetement Juha> does not catch the timeout and no warning is issued. Also if the Juha> 50th smsc911x_reg_read is GOOD, loop is exited with timeout as 0 Juha> and bogus warning issued. Replace testing order and --timeout Juha> instead of timeout-- and now max 50 smsc911x_reg_read's are done, Juha> with max 49 udelays. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 8dacd548129d03e87751f75ea83b42a8a17ee651 Author: Steve Glendinning Date: Wed Mar 4 07:33:24 2009 +0000 smsc911x: check for FFWD success before checking for timeout This patch from Juha Leppanen suppresses a false warning if a fast forward operation succeeds on the very last attempt. Juha> If smsc911x_reg_read loop is executed 500 times, timeout reaches 0 Juha> and the 500th smsc911x_reg_read result in val is ignored. If Juha> testing order is changed, then val is checked first. The 500th Juha> reg_read might be GOOD, why ignore it! Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 273ae44b9cb9443e0b5265cdc99f127ddb95c8db Author: Neil Horman Date: Wed Mar 11 09:53:16 2009 +0000 Network Drop Monitor: Adding Build changes to enable drop monitor Network Drop Monitor: Adding Build changes to enable drop monitor Signed-off-by: Neil Horman include/linux/Kbuild | 1 + net/Kconfig | 11 +++++++++++ net/core/Makefile | 1 + 3 files changed, 13 insertions(+) Signed-off-by: David S. Miller commit 9a8afc8d3962f3ed26fd6b56db34133860ed1e72 Author: Neil Horman Date: Wed Mar 11 09:51:26 2009 +0000 Network Drop Monitor: Adding drop monitor implementation & Netlink protocol Signed-off-by: Neil Horman include/linux/net_dropmon.h | 56 +++++++++ net/core/drop_monitor.c | 263 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 319 insertions(+) Signed-off-by: David S. Miller commit ead2ceb0ec9f85cff19c43b5cdb2f8a054484431 Author: Neil Horman Date: Wed Mar 11 09:49:55 2009 +0000 Network Drop Monitor: Adding kfree_skb_clean for non-drops and modifying end-of-line points for skbs Signed-off-by: Neil Horman include/linux/skbuff.h | 4 +++- net/core/datagram.c | 2 +- net/core/skbuff.c | 22 ++++++++++++++++++++++ net/ipv4/arp.c | 2 +- net/ipv4/udp.c | 2 +- net/packet/af_packet.c | 2 +- 6 files changed, 29 insertions(+), 5 deletions(-) Signed-off-by: David S. Miller commit 4893d39e865b2897bf9fcd329697d37032d853a1 Author: Neil Horman Date: Wed Mar 11 09:48:26 2009 +0000 Network Drop Monitor: Add trace declaration for skb frees Signed-off-by: Neil Horman include/trace/skb.h | 8 ++++++++ net/core/Makefile | 2 ++ net/core/net-traces.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) Signed-off-by: David S. Miller commit 26ccfc37da21e6f02d5e805c38ca7551c16b2fe0 Author: Andy Fleming Date: Tue Mar 10 12:58:28 2009 +0000 gianfar: Convert to use netdev_ops Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit db46db157746e57fb1ca59223bf0f72d9f875d89 Author: Andy Fleming Date: Tue Mar 10 12:58:27 2009 +0000 gianfar: remove gianfar_mii.c commit 1577ecef766650a57fceb171acee2b13cbfaf1d3 Author: Andy Fleming Date: Wed Feb 4 16:42:12 2009 -0800 netdev: Merge UCC and gianfar MDIO bus drivers left out the deletion of gianfar_mii.c. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit bda6a15a0d283d531b865fb7c596bb3ff258e87e Author: Jiri Pirko Date: Fri Mar 13 11:48:18 2009 -0700 8139too: allow to set mac address on running device Similar patch as for 8139cp posted yesterday, so the same comment: So far there was not a chance to set a mac address on running 8139too device. This is for example needed when you want to use this NIC as a bonding slave in bonding device in mode balance-alb. This simple patch allows it. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit c048aaf4ca854fa67a3bfa9dab5b9ddc5083b3b7 Author: Jiri Pirko Date: Fri Mar 13 11:47:48 2009 -0700 8139cp: allow to set mac address on running device So far there was not a chance to set a mac address on running 8139cp device. This is for example needed when you want to use this NIC as a bonding slave in bonding device in mode balance-alb. This simple patch allows it. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 6fc791ee631728b2beddda87560f1af59e32230e Author: malc Date: Thu Mar 12 09:49:20 2009 +0000 sctp: add Adaptation Layer Indication parameter only when it's set RFC5061 states: Each adaptation layer that is defined that wishes to use this parameter MUST specify an adaptation code point in an appropriate RFC defining its use and meaning. If the user has not set one - assume they don't want to sent the param with a zero Adaptation Code Point. Rationale - Currently the IANA defines zero as reserved - and 1 as the only valid value - so we consider zero to be unset - to save adding a boolean to the socket structure. Including this parameter unconditionally causes endpoints that do not understand it to report errors unnecessarily. Signed-off-by: Malcolm Lashley Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 76595024ffab3599bd28ea014f6c23c1a8c8dd2c Author: Wei Yongjun Date: Thu Mar 12 09:49:19 2009 +0000 sctp: fix to send FORWARD-TSN chunk only if peer has such capable RFC3758 Section 3.3.1. Sending Forward-TSN-Supported param in INIT Note that if the endpoint chooses NOT to include the parameter, then at no time during the life of the association can it send or process a FORWARD TSN. If peer does not support PR-SCTP capable, don't send FORWARD-TSN chunk to peer. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 5ffad5acebec735b7a368851bf22394b734cae8a Author: Wei Yongjun Date: Thu Mar 12 09:49:18 2009 +0000 sctp: fix to indicate ASCONF support in INIT-ACK only if peer has such capable This patch fix to indicate ASCONF support in INIT-ACK only if peer has such capable. This patch also fix to calc the chunk size if peer has no FWD-TSN capable. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 5e8f3f703ae4e4af65e2695e486b3cd198328863 Author: Vlad Yasevich Date: Thu Mar 12 09:49:17 2009 +0000 sctp: simplify sctp listening code sctp_inet_listen() call is split between UDP and TCP style. Looking at the code, the two functions are almost the same and can be merged into a single helper. This also fixes a bug that was fixed in the UDP function, but missed in the TCP function. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3bcb1255bae39cae1b4d2660f2b5a6ab2f404c10 Author: Divy Le Ray Date: Thu Mar 12 21:14:29 2009 +0000 cxgb3: update driver version update driver version to 1.1.1-ko Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit d9507a532acd25588b0d7957c660da35de41701b Author: Divy Le Ray Date: Thu Mar 12 21:14:24 2009 +0000 cxgb3: update FW Update FW to 7.1 Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit bf792094ef830117312b3990b63474320ec864c0 Author: Divy Le Ray Date: Thu Mar 12 21:14:19 2009 +0000 cxgb3: detect mac link faults. The driver currently ignores the local or remote link faults raised at the mac layer. This patch fixes it. Our mac however only advertizes link events, so wait for the phy to stabilize the link, then enable mac link events interrupts. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit cd40658a616050df0a50d0a3ded06e3ebcc0a04a Author: Divy Le Ray Date: Thu Mar 12 21:14:14 2009 +0000 cxgb3: Update Rev3 mac workaround Update the heurstics workaround unlocking a hung mac: - reduce Tx mac toggling by enabling Tx drain before resetting the mac - Take Tx (lack of) activity in account only - Update the monitoring counter range to 64 bits Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit fc88219601aa3f94def89433a6afde154e8faa8c Author: Divy Le Ray Date: Thu Mar 12 21:14:09 2009 +0000 cxgb3: disable high freq non-data interrupts Under RX pressure, The HW might generate a high load of interrupts to signal mac fifo or free lists overflow. Disable the interrupts, and poll the relevant status bits to maintain stats. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 42c8ea17e8f78752ed5a354791b0ea1697dc3480 Author: Divy Le Ray Date: Thu Mar 12 21:14:04 2009 +0000 cxgb3: separate TX and RX reclaim handlers Separate TX and RX reclaim handlers Don't disable interrupts in RX reclaim handler. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit b2b964f0647c5156038834dd879f90442e33f2a5 Author: Divy Le Ray Date: Thu Mar 12 21:13:59 2009 +0000 cxgb3: prefetch buffer access in GRO mode Elmininate a cache miss when accessing the CPL header within the first aggregated buffer. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 8f4358044d7d694f2e0c18a6ce5db6ec0790451a Author: Divy Le Ray Date: Thu Mar 12 21:13:54 2009 +0000 cxgb3: fix skb truesize in jumbo mode Update skb truesize correctly for the 2nd buffer from a Jumbo frame Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 9bb2b31e6f87dba06b81429af91362a9127f5bf2 Author: Divy Le Ray Date: Thu Mar 12 21:13:49 2009 +0000 cxgb3: release page ref on mapping error Release page chunk reference in case we fail to map it. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 26b3871d2c82b7c733a3b6d631a6e48c9ebf1c5a Author: Divy Le Ray Date: Thu Mar 12 21:13:43 2009 +0000 cxgb3: ring rx door bell less frequently Ring free lists door bell less frequently, specifically every quarter of the active FL size. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 063402356280a7b262952d6351d21315336f657b Merge: f9a36fa... a98fe7f... Author: Ingo Molnar Date: Fri Mar 13 17:08:30 2009 +0100 Merge branch 'x86/core' into x86/kconfig commit 58d8395b74f78a2f4225c5faea8b5bffb8af1cf9 Author: Takashi Iwai Date: Fri Mar 13 17:04:34 2009 +0100 ALSA: hda - Add another HP model with IDT92HD71bx codec HP laptops require GPIO0 on as EAPD. Signed-off-by: Takashi Iwai commit ccd50dfd92ea2c4ba9e39531ac55db53393e783e Author: Ingo Molnar Date: Fri Mar 13 17:02:17 2009 +0100 tracing/syscalls: support for syscalls tracing on x86, fix Impact: build fix kernel/built-in.o: In function `ftrace_syscall_exit': (.text+0x76667): undefined reference to `syscall_nr_to_meta' ftrace.o is built: obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o But now a CONFIG_FTRACE_SYSCALLS dependency is needed too. Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Lai Jiangshan LKML-Reference: <1236401580-5758-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit bed1ffca022cc876fb83161d26670e9b5d3cf36b Author: Frederic Weisbecker Date: Fri Mar 13 15:42:11 2009 +0100 tracing/syscalls: core infrastructure for syscalls tracing, enhancements Impact: new feature This adds the generic support for syscalls tracing. This is currently exploited through a devoted tracer but other tracing engines can use it. (They just have to play with {start,stop}_ftrace_syscalls() and use the display callbacks unless they want to override them.) The syscalls prototypes definitions are abused here to steal some metadata informations: - syscall name, param types, param names, number of params The syscall addr is not directly saved during this definition because we don't know if its prototype is available in the namespace. But we don't really need it. The arch has just to build a function able to resolve the syscall number to its metadata struct. The current tracer prints the syscall names, parameters names and values (and their types optionally). Currently the value is a raw hex but higher level values diplaying is on my TODO list. Signed-off-by: Frederic Weisbecker LKML-Reference: <1236955332-10133-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit f58ba100678f421bdcb000a3c71793f432dfab93 Author: Frederic Weisbecker Date: Fri Mar 13 15:42:12 2009 +0100 tracing/syscalls: support for syscalls tracing on x86 Extend x86 architecture syscall tracing support with syscall metadata table details. (The upcoming core syscall tracing modifications rely on this.) Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1236955332-10133-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit f9a36fa5413f1b2694841c410a6fdb4666e78f16 Author: Thomas Gleixner Date: Fri Mar 13 16:37:48 2009 +0100 x86: disable __do_IRQ support Impact: disable unused code x86 is fully converted to flow handlers. No need to keep the deprecated __do_IRQ() support active. Signed-off-by: Thomas Gleixner commit cb065c06b6cc615a58860d619d7fa7952cd6a18b Author: Thomas Gleixner Date: Fri Mar 13 14:40:27 2009 +0100 genirq: deprecate obsolete typedefs and defines More than two years is enough migration time. Remove the compability cruft. Signed-off-by: Thomas Gleixner commit 0e57aa11abb15b70db53d1f95ae70b3c980ac885 Author: Thomas Gleixner Date: Fri Mar 13 14:34:05 2009 +0100 genirq: deprecate __do_IRQ Two years migration time is enough. Remove the compability cruft. Add the deprecated warning in kernel/irq/handle.c because marking __do_IRQ itself is way too noisy. Signed-off-by: Thomas Gleixner commit 082edb7bf443eb8eda15b482d16ad9dd8137ad24 Author: Rusty Russell Date: Fri Mar 13 23:43:37 2009 +1030 numa, cpumask: move numa_node_id default implementation to topology.h Impact: cleanup, potential bugfix Not sure what changed to expose this, but clearly that numa_node_id() doesn't belong in mmzone.h (the inline in gfp.h is probably overkill, too). In file included from include/linux/topology.h:34, from arch/x86/mm/numa.c:2: /home/rusty/patches-cpumask/linux-2.6/arch/x86/include/asm/topology.h:64:1: warning: "numa_node_id" redefined In file included from include/linux/topology.h:32, from arch/x86/mm/numa.c:2: include/linux/mmzone.h:770:1: warning: this is the location of the previous definition Signed-off-by: Rusty Russell Cc: Mike Travis LKML-Reference: <200903132343.37661.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit 0b966252d9e5d95ec2d11e63d7e55b42913aa5b7 Author: Rusty Russell Date: Fri Mar 13 23:42:42 2009 +1030 cpumask: convert node_to_cpumask_map[] to cpumask_var_t Impact: fix (CONFIG_MAXSMP=y only) boot crash c032ef60d1aa9af33730b7a35bbea751b131adc1 "cpumask: convert node_to_cpumask_map[] to cpumask_var_t" didn't get this one conversion. There was a compile warning, but I missed it. Reported-by: Ingo Molnar Signed-off-by: Rusty Russell Cc: Mike Travis LKML-Reference: <200903132342.42813.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit a9d0a1a38352c4fb8946e73b3e42ba4ada29e733 Author: Thomas Gleixner Date: Tue Mar 3 16:58:16 2009 +0100 genirq: add doc to struct irqaction Impact: documentation struct irqaction is not documented. Add kernel doc comments and add interrupt.h to the genirq docbook. Signed-off-by: Thomas Gleixner commit 4553573277906901f62f73c0432b332c53de5e2c Author: Thomas Gleixner Date: Sun Feb 22 23:00:32 2009 +0100 genirq: use kzalloc instead of explicit zero initialization Impact: simplification Signed-off-by: Thomas Gleixner Reviewed-by: Peter Zijlstra commit bedd30d986a05e32dc3eab874e4b9ed8a38058bb Author: Thomas Gleixner Date: Tue Sep 30 23:14:27 2008 +0200 genirq: make irqreturn_t an enum Impact: cleanup Remove the 2.4 compabiliy cruft Signed-off-by: Thomas Gleixner Reviewed-by: Peter Zijlstra commit c8e2aeef0b8ac9fb8821b8b3734c031579d0b77a Author: Thomas Gleixner Date: Mon Mar 9 20:26:23 2009 +0100 genirq: remove redundant if condition Impact: cleanup The code is only compiled if CONFIG_GENERIC_HARDIRQS=y so another check for this define in the code is redundant. Remove it. Signed-off-by: Thomas Gleixner commit 3dd3d46b78c22503957230ca5981849b7bb29b9a Author: Thomas Gleixner Date: Mon Mar 9 21:48:32 2009 +0100 genirq: remove unused hw_irq_controller typedef hw_irq_controller is unused. Remove the typedef Impact: cleanup Signed-off-by: Thomas Gleixner commit 72d7466468b471f99cefae3c5f4a414bbbaa0bdd Author: Daniel Mack Date: Thu Mar 12 11:27:49 2009 +0100 ASoC: switch PXA SSP driver from network mode to PSP This switches the pxa ssp port usage from network mode to PSP mode. Removed some comments and checks for configured TDM channels. A special case is added to support configuration where BCLK = 64fs. We need to do some black magic in this case which doesn't look nice but there is unfortunately no other option than that. Diagnosed-by: Tim Ruetz Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 77dd7e17b86bd81b3638e01d784a72652071508b Author: Lopez Cruz, Misael Date: Thu Mar 12 21:45:27 2009 -0500 ASoC: Move headset jack registration to device initialization for SDP3430 Move headset jack registration to the codec/machine specific initialization. Having the jack registration in machine init causes that the jack device gets initialized but not registered since the sound card is registered before the jack. Moving jack registration to device initialization will register the jack device along with all other devices associated to the card when the card is registed. As a consequence of jack device registered properly, the jack is detected as an input device. Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit e94142a67f8bad494c593f0a07c9fc2fbec98c0e Author: Lai Jiangshan Date: Fri Mar 13 17:51:27 2009 +0800 ftrace: remove struct list_head from struct dyn_ftrace Impact: save memory The struct dyn_ftrace table is very large, this patch will save about 50%. Signed-off-by: Lai Jiangshan Cc: Steven Rostedt LKML-Reference: <49BA2C9F.8020009@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 850a80cfaa5aec3e626eb3736eff890a80e4fa77 Author: Lai Jiangshan Date: Fri Mar 13 17:47:23 2009 +0800 ftrace: use seq_read Impact: cleanup VFS layer has tested the file mode, we do not need test it. Signed-off-by: Lai Jiangshan Cc: Steven Rostedt LKML-Reference: <49BA2BAB.6010608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c95dbf27e201587b2a6cf63f8501a0313d9b4801 Author: Ingo Molnar Date: Fri Mar 13 11:14:06 2009 +0100 panic: clean up kernel/panic.c Impact: cleanup, no code changed Clean up kernel/panic.c some more and make it more consistent. LKML-Reference: <49B91A7E.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit d1dedb52acd98bd5e13e1ff4c4d045d58bbd16fe Author: Ingo Molnar Date: Fri Mar 13 11:14:06 2009 +0100 panic, smp: provide smp_send_stop() wrapper on UP too Impact: cleanup, no code changed Remove an ugly #ifdef CONFIG_SMP from panic(), by providing an smp_send_stop() wrapper on UP too. LKML-Reference: <49B91A7E.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit ffd71da4e3f323b7673b061e6f7e0d0c12dc2b49 Author: Ingo Molnar Date: Fri Mar 13 10:54:24 2009 +0100 panic: decrease oops_in_progress only after having done the panic Impact: eliminate secondary warnings during panic() We can panic() in a number of difficult, atomic contexts, hence we use bust_spinlocks(1) in panic() to increase oops_in_progress, which prevents various debug checks we have in place. But in practice this protection only covers the first few printk's done by panic() - it does not cover the later attempt to stop all other CPUs and kexec(). If a secondary warning triggers in one of those facilities that can make the panic message scroll off. So do bust_spinlocks(0) only much later in panic(). (which code is only reached if panic policy is relaxed that it can return after a warning message) Reported-by: Jan Beulich LKML-Reference: <49B91A7E.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit cd80a8142efa3468c2cd9fb52845f334c3220d54 Merge: 641cd4c... a98fe7f... Author: Ingo Molnar Date: Fri Mar 13 11:05:58 2009 +0100 Merge branch 'x86/core' into core/ipi commit 641cd4cfcdc71ce01535b31cc4d57d59a1fae1fc Author: Ingo Molnar Date: Fri Mar 13 10:47:34 2009 +0100 generic-ipi: eliminate WARN_ON()s during oops/panic Do not output smp-call related warnings in the oops/panic codepath. Reported-by: Jan Beulich Acked-by: Peter Zijlstra LKML-Reference: <49B91A7E.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 148854c65ea8046b045672fd49f4333aefaa3ab5 Author: Ilya Yanok Date: Wed Mar 11 03:22:00 2009 +0300 qong: basic support for Dave/DENX QongEVB-LITE board This patch adds basic support for Dave/DENX QongEVB-LITE i.MX31-based board. It includes support for clocks initialization, UART1, NOR-flash, FPGA-attached NAND flash and DNET ethernet controller (inside FPGA). Signed-off-by: Ilya Yanok Signed-off-by: Sascha Hauer commit 7c107dcb652c2101426adfc3193140db95b44594 Author: Sascha Hauer Date: Fri Dec 19 14:32:07 2008 +0100 pcm970 baseboard: Add SDHC support Signed-off-by: Sascha Hauer commit f2cb641f565dccebfa934b1a940bc6517734d391 Author: Sascha Hauer Date: Tue Nov 11 15:03:28 2008 +0100 pcm037: Add sdhc support Signed-off-by: Sascha Hauer commit 2adc1d654e41f4308193fdd46cee885b7a35c149 Author: Sascha Hauer Date: Fri Dec 19 14:32:06 2008 +0100 MX31: Add sdhc resources/platform devices Signed-off-by: Sascha Hauer commit 1a02be0ee77b68aef67b656bc47f0fb4ab177e67 Author: Sascha Hauer Date: Fri Dec 19 14:32:07 2008 +0100 MX2: Add SDHC platform_devices and resources Signed-of-by: Julien Boibessot Signed-off-by: Sascha Hauer commit 9563b1dbb6aa48b685ce8d11d941ed7d3e71f6fc Author: Sascha Hauer Date: Mon Feb 23 13:08:06 2009 +0100 MX2/MX3 SDHC driver: rename platform driver Rename driver from imx-mmc to mxc-mmc to avoid conflicts with the mx1 mmc driver. Signed-off-by: Sascha Hauer commit 06277b5c40be283779d55db16b50fc201a2ff8bb Author: Sascha Hauer Date: Mon Feb 23 13:33:31 2009 +0100 mxcmmc: Do not pass clock name, we have only one clock for this device Signed-off-by: Sascha Hauer commit cc83e4096c6db1f13406c7dedf5516b4b5bcba55 Author: Sascha Hauer Date: Thu Feb 19 12:48:35 2009 +0100 Use __force in IO_ADDRESS macro to silence sparse Signed-off-by: Sascha Hauer commit 9eb2eb8c40ffd30da322648c4415bae0288eb167 Author: Sascha Hauer Date: Wed Feb 18 11:55:33 2009 +0100 MX31 clkdev support This patch adds clkdev support for i.MX31. This is done in a similar way done previously for i.MX27 Signed-off-by: Sascha Hauer commit 9a51157bab06ab54d6ee442e34fe9574ff14c8c3 Author: Sascha Hauer Date: Mon Feb 9 11:00:03 2009 +0100 [ARM] pcm038: Fix pins for UART3 The UART3 had a copy-paste bug. instead of claiming rxd, txd, rts and cts pins, cts and rts were claimed twice Signed-off-by: Sascha Hauer commit fb4416ad61e4dac816ae866999115500c818406b Author: Sascha Hauer Date: Fri Feb 6 18:15:06 2009 +0100 [ARM] MX31: Move static virtual mappings of AIPS1/2 to common file On MX31 we can't do much without mapping the AIPS1/2 register space. Move these mappings from individual boards to plat-mxc/mm.c Signed-off-by: Sascha Hauer commit cb88214d726b337d49c1f65cbc5e5ac85837b11b Author: Sascha Hauer Date: Sun Feb 8 02:00:50 2009 +0100 [ARM] MX31/MX35: Add l2x0 cache support Signed-off-by: Sascha Hauer commit 9536ff33619e13fcc4bd16354faea97dba244f73 Author: Sascha Hauer Date: Fri Feb 6 15:38:51 2009 +0100 [ARM] MX35 devices support The i.MX35 basically features the same peripherals as the i.MX31 with some differences: - The i.MX35 has a FEC ethernet controller - The NAND controller base addresses are different - The i.MX35 has only 3 UARTs Signed-off-by: Sascha Hauer commit 2cb536d13cf9fbce029055b7603b3ca4ca1cf407 Author: Sascha Hauer Date: Fri Feb 6 17:48:59 2009 +0100 [ARM] MX35: add clock support This patch adds clock support for i.MX35 SoCs. We do not support setting of clock rates yet, but most interesting clock rates should be reported. I couldn't test all clock rates and the datasheet contains some obvious bugs, so expect some bugs in this code. Signed-off-by: Sascha Hauer commit cb8ebb0223a5a2ec6f2e0b46ef5812113847df61 Author: Sascha Hauer Date: Fri Feb 6 15:41:45 2009 +0100 [ARM] add i.MX35 build support Signed-off-by: Sascha Hauer commit 198016e1b12d781ef00aaafbf571775a8e723f54 Author: Sascha Hauer Date: Fri Feb 6 15:38:22 2009 +0100 [ARM] MXC: add cpu_is_ macros We had hardcoded cpu_is_ macros for mxc architectures till now. As we want to run the same kernel on i.MX31 and i.MX35 this patch adds cpu_is_ macros which expand to 0 or 1 if only one architecture is compiled in and only check for the cpu type if more than one architecture is compiled in. Signed-off-by: Sascha Hauer commit c0a5f85523132dc893916d6059370233fac1cb11 Author: Sascha Hauer Date: Mon Feb 2 14:11:54 2009 +0100 [ARM] MX35: Add register definitions for the i.MX35 This patch moves the stuff common to i.MX31 and i.MX35 to mx3x.h and the specifics to mx31.h/mx35.h. We can build a kernel which runs on i.MX31 and i.MX35, so always include mx31.h and mx35.h Signed-off-by: Sascha Hauer commit 7e8549bcee00d92040904361cb1840c7a5eda615 Author: Sascha Hauer Date: Sat Feb 14 16:29:38 2009 +0100 imxfb: Fix margin settings The var->hsync_len, var->right_margin and var->left_margin fields should contain the real values, not the hardware dependent values. Signed-off-by: Sascha Hauer commit 1d0f98709347c4babac08dd933466674e089f188 Author: Sascha Hauer Date: Mon Jan 26 17:29:10 2009 +0100 imxfb: add mx27 support Signed-off-by: Sascha Hauer commit ca489f8e4ac1127e6aee1ffcdaea29858f89506c Author: Valentin Longchamp Date: Mon Feb 16 12:47:52 2009 +0100 mx31: add dma and fb devices This adds the dma (ipu_dma) and fb devices for the mx31 for which drivers now are available. v2: merge the ipu and fb device in the same patch as suggested by Sascha Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit e00f0b4a9316c9de000697e489f6102271e94dc4 Author: Valentin Longchamp Date: Mon Feb 16 12:47:51 2009 +0100 mx31moboard: initial support for various baseboards This enables our mx31moboard to be used on the different baseboards that we are developping according to the application needs. There are not many differences between the boards for now, but when other peripherals are available for mx31 the differences are going to grow. v2: takes Sascha's comments into account Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit e180a5c26fae12dcc02244df68a6089cd5522df7 Author: Valentin Longchamp Date: Wed Feb 11 16:55:17 2009 +0100 mx31: add pin definition for LCD Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 999981d943e626bff5d031de1bf06435afb10ced Author: Guennadi Liakhovetski Date: Thu Feb 12 14:27:22 2009 +0100 mxc: first set GPIO level, then switch direction to output Make sure not to create spurious pulses on GPIOs, when configuring them as output: first set required level, then switch direction. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 6bbdbf2f95771c0a2dbccc423b99b37fde9a5078 Author: Holger Schurig Date: Thu Jan 29 14:42:25 2009 +0100 arm/imx: Kconfig beautification Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit 87bbb19721fbd6b5e556105c188da80d06f738b1 Author: Sascha Hauer Date: Thu Jan 29 16:00:23 2009 +0100 [ARM] mxc: add missing include include devices.h from devices.c to avoid inconsistencies and to fix sparse warnings Signed-off-by: Sascha Hauer commit 2420563227897ed3900606e720f886e122944d2c Author: Sascha Hauer Date: Wed Jan 28 17:36:37 2009 +0100 [ARM] Add Synertronixx scb9328 board support Signed-off-by: Sascha Hauer commit 792067507b8bf5eaf220ee6994423381b7ae5c0b Author: Sascha Hauer Date: Wed Jan 28 17:10:32 2009 +0100 [ARM] PCM037 Board: Add I2C support Signed-off-by: Sascha Hauer commit c2aaac70cd00cf5d4687cc35f462e3888c9ac76f Author: Sascha Hauer Date: Wed Jan 28 17:11:02 2009 +0100 [ARM] iommux mx3: Add pin definitions for I2C Signed-off-by: Sascha Hauer commit b8b19b0d1c2d9ede8a3f8b9f609fd66cf5ede057 Author: Sascha Hauer Date: Wed Jan 28 14:06:20 2009 +0100 [ARM] mx1ads: add I2C support Signed-off-by: Sascha Hauer commit a4e9a65a1f90e94eca3af1a69b42d039054ef9de Author: Sascha Hauer Date: Wed Jan 28 13:07:11 2009 +0100 [ARM] PCM038 board: Add I2C support Signed-off-by: Sascha Hauer commit c5d4dbff965b77b39c0188e4146892d76c775a98 Author: Sascha Hauer Date: Wed Jan 28 13:26:56 2009 +0100 [ARM] MX2: Add I2C devices / resources Signed-off-by: Sascha Hauer commit 824b16e66b70f5df61345f5708c149f6886eef30 Author: Sascha Hauer Date: Fri Jan 16 15:17:46 2009 +0100 [ARM] MX2: add pwm device/resources Signed-off-by: Sascha Hauer commit 166091b1894df3de736f43c649f2e6639f4a31ac Author: Sascha Hauer Date: Fri Jan 16 15:17:16 2009 +0100 [ARM] MXC: add pwm driver for i.MX SoCs This driver has been tested on MX27/MX31. It should work on MX1/MX1 aswell, but the actual setting of the PWM is missing so far. Signed-off-by: Sascha Hauer commit 1512222b105beaff7b7fe11aa4220bcd0088e421 Author: Sascha Hauer Date: Mon Jan 26 17:31:02 2009 +0100 imxfb: add 18 bit support v2: As pointed out by Hans J. Koch we have to claim we can do 24bit to make software like X work. We are lucky on i.MX that 18bit support has the necessary gaps in the fields to do so. Signed-off-by: Sascha Hauer commit 9db973a59b73fb5baf69f8b5d005daccec6d997e Author: Sascha Hauer Date: Thu Jan 15 12:44:45 2009 +0100 [ARM] pcm038: Add framebuffer support Add framebuffer support for PCM038 Signed-off-by: Sascha Hauer commit c0b90a31efe30987ab4bb21298b410913779e62f Author: Sascha Hauer Date: Thu Jan 15 15:37:22 2009 +0100 imxfb: add platform specific init/exit functions Signed-off-by: Sascha Hauer commit 879fea1b486d2b6fa399c40b8aed172b0dfdedb9 Author: Sascha Hauer Date: Mon Jan 26 17:26:02 2009 +0100 [ARM] MX2: Add FEC platform device The in kernel FEC driver has recently been ported to a platform driver. Add a platform_device for it and register it for pcm038 and mx27ads. Signed-off-by: Sascha Hauer commit fe7316bff119a11e68f895ecf9a5a713ed30004c Author: Mark Brown Date: Thu Jan 15 16:14:30 2009 +0000 mx31ads: Initial support for Wolfson Microelectronics 1133-EV1 module The i.MX31ADS supports pluggable PMU modules, including the WM835x based Wolfson Microelectronics 1133-EV1. These boards provide power, audio, RTC and watchdiog services to the system. This patch adds initial support for those boards in I2C mode. Currently support is limited by the available support for the features of the i.MX31 in the mainline kernel. Some further work will be needed once other PMU modules are supported and once there is SPI support. Many of the regulator constraints will be sharable with other PMU boards. Signed-off-by: Mark Brown Signed-off-by: Sascha Hauer commit bab389c8750d7f41f499517b308600f13bd2788d Author: Valentin Longchamp Date: Wed Jan 28 15:13:54 2009 +0100 pcm037: use of new iomux implementation This was only compilation tested. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 63d976672e39176316b2a479464aa3aaf7c2a7fd Author: Valentin Longchamp Date: Wed Jan 28 15:13:53 2009 +0100 mx31pdk: use of new iomux implementation This was only compilation tested. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 945c10b87c4d72ac9ad392132d19d17f3ebdb310 Author: Valentin Longchamp Date: Wed Jan 28 15:13:52 2009 +0100 mx31ads: use of new iomux implementation This was only compilation tested. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit bfbc6a1fc1d4d4ecbf73bcb7eefcd2a2ca5ddf2a Author: Valentin Longchamp Date: Wed Jan 28 15:13:51 2009 +0100 mx31moboard: use of new iomux implementation This example takes advantage of the possibility to use tables of iomux configs. This is inspired from mx1-mx2 iomux code. It allows a better code readability. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit b7222631c3d0fd26e6d85dd78b1d0aa10dc64929 Author: Valentin Longchamp Date: Wed Jan 28 15:13:50 2009 +0100 mx31: rework of iomux support This new implemenatation avoids that two physical pins are claimed by the same driver (also with the the gpr hardware modes). The gpio kernel lib is also called when a capable gpio pin is assigned its gpio function. The mxc_iomux_mode function is still here for backward compatibility but should not be used anymore. V2: In the precendent revision, the iomux code was claiming a pin when its hardware mode was changed. This was uncorrect: when the hardware mode is changed, the pin must still be claimed through the iomux. In order to have a pin working in mode hw2, we must fist issue the mxc_iomux_set_gpr call and then the corresponding mxc_iomux_mode calls with the FUNC mode (usually done with mxc_iomux_setup_multiple_pins). The reverse calls must be done to fee the pins. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 41a1d91e7e7b08a13d78e03e67dcd7634f2d5cca Author: Uwe Kleine-König Date: Wed Jan 21 21:25:02 2009 +0100 remove unused static function gpio_fec_inactive ... from both mx27ads.c and pcm038.c Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer Cc: Holger Schurig Cc: Russell King Cc: Sascha Hauer Cc: Martin Fuzzey commit e600eb6b0d41c3e69297137388733bd0a50aa5e9 Author: Uwe Kleine-König Date: Wed Jan 21 21:25:03 2009 +0100 fix warning "control reaches end of non-void function" Add a return 0 analogous to uart_mxc_port[0-2]_exit. Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer Cc: Holger Schurig Cc: Russell King Cc: Sascha Hauer Cc: Martin Fuzzey commit 8b785b9dfb309be8d44d655df1f370b15dda7687 Author: Mark Brown Date: Thu Jan 15 16:14:29 2009 +0000 mx31ads: Make unexported data static Keeps sparse happy. Signed-off-by: Mark Brown Signed-off-by: Sascha Hauer commit 4d5f9cdacb74d35b4e435cb66443da203d8be6f0 Author: Mark Brown Date: Thu Jan 15 16:14:28 2009 +0000 mx31ads: Fix build for missing mx31.h Several of the macros in mx31ads.h depend on mx31.h which is no longer included in quite so many standard headers as it once was. Include it directly so we can build. Signed-off-by: Mark Brown Signed-off-by: Sascha Hauer commit 39d1dc068b61a8f36a3c1377fa52ed4901968a4f Author: Mark Brown Date: Thu Jan 15 16:14:27 2009 +0000 mx31: Add device definitions for the i.MX3x I2C controllers The i.MX I2C driver has not yet been merged into mainline but it is near to that and the device defintions don't depend directly on it so we can add the devices now. Signed-off-by: Mark Brown Signed-off-by: Sascha Hauer commit e48135519bd569eed374e0e17ed5233d4105fa97 Author: Holger Schurig Date: Mon Jan 26 16:34:56 2009 +0100 arm/imx21: Framebuffer support for i.MX21 This patch mimicks what Martin wrote on the mailing list: * move arch/arm/mach-imx/include/mach/imxfb.h into arch/arm/mach-mxc/include/mach/imxfb.h * changes Kconfig so that CONFIG_FB_IMX is selectable * adds a platform device (copied from some pengutronix patches) Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit aa3b0a6f57be50f1009a409e82731a8f9be80fc4 Author: Holger Schurig Date: Mon Jan 26 16:34:54 2009 +0100 arm/imx21: clock support for i.MX21 Based on code from "Martin Fuzzey" Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit 260a1fd26c62af482a22c6b31cc7882b4ec980d2 Author: Holger Schurig Date: Mon Jan 26 16:34:53 2009 +0100 arm/imx2x: split i.MX21/i.MX27 register definitions * define new CONFIG_ARCH_MX21 (this one is currently mutually exclusive to CONFIG_ARCH_MX27, but this might change) * splits one header file. Memory definitions, interrupt sources, DMA channels are split into common part, i.MX27 specific and i.MX21 specific. * guard access to UART5/UART6, which don't exist on i.MX21 Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit 058b7a6f465bebd87c1f295afdd56cc6a33dffbd Author: Holger Schurig Date: Mon Jan 26 16:34:51 2009 +0100 arm/imx2x: removes a bunch of sparse-warnings Here are some of the warnings that get fixed by this: > 200 times: warning: cast adds address space to expression () twelve times: warning: symbol 'xxx' was not declared. Should it be static two times: warning: symbol 'clock' shadows an earlier one five times: warning: incorrect type in initializer (different address spaces) Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit edfcea80eb12b43680c4be0f2e31c8f5b1288edd Author: Sascha Hauer Date: Mon Feb 16 15:13:43 2009 +0100 [ARM] MX27 Clock rework This changes MX27 to use common clkdev. It also cleans up MX27 clock support to be more readable. Signed-off-by: Sascha Hauer commit d1755e3592305f8866b4d60d63a481959d5e58bf Author: Sascha Hauer Date: Mon Feb 16 14:27:06 2009 +0100 [ARM] MXC: add clkdev support This patch only adds general clkdev support without actually switching any MXC architecture to clkdev. Signed-off-by: Sascha Hauer commit e65fb0099fe4fe82d59ffe84f1e88a489218d7f9 Author: Sascha Hauer Date: Mon Feb 16 14:29:10 2009 +0100 [ARM] MXC: remove _clk suffix from clock names The context makes it clear already that these are clocks, so there's no need for such a suffix. This patch only changes the clocks actually used in the tree. The remaining clocks are renamed in the subsequent architecture specific patches. Signed-off-by: Sascha Hauer commit 30c730f8f90b08d77a73998d2ee34cf1f56e95cc Author: Sascha Hauer Date: Mon Feb 16 14:36:49 2009 +0100 [ARM] MXC: rework timer/clock initialisation - rename mxc_clocks_init to architecture specific versions. This allows us to have more than one architecture compiled in. - call mxc_timer_init from clock initialisation instead from board code Signed-off-by: Sascha Hauer commit a2865197a5dad23c619c84f44b7fdf7fdbef3f9c Author: Sascha Hauer Date: Mon Jan 26 15:41:16 2009 +0100 [ARM] MXC: Use a single function for decoding a PLL We had 3 versions of this function in clock support for MX1/2/3 Use a single one instead. I picked the one from the MX3 as it seems to calculate more accurate as the other ones. Also, on MX27 and MX31 mfn can be negative, this hasn't been handled correctly on MX27 since now. This patch has been tested on MX27 and MX31 and produces the same clock frequencies for me. Signed-off-by: Sascha Hauer commit 5512e88f3a1f1b498fd07181f14596ee117b3471 Author: Holger Schurig Date: Mon Jan 26 16:34:52 2009 +0100 arm/imx21: add kbuild support for the Freescale i.MX21 * adds Kconfig variables * specifies different physical address for i.MX21 because of the different memory layouts * disables support for UART5/UART6 in the i.MX serial driver (the i.MX21 doesn't have those modules) Based on code from "Martin Fuzzey" Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit ccfe30a7c8329e85ae426813a1060e27e2547dd1 Author: Holger Schurig Date: Thu Jan 29 10:07:50 2009 +0100 arm/imx2x: new IOMUX definitions * removed iomux-mx1-mx2.h completely * distributes the former contents to four different files (iomux-mx1.h, iomux-mx21.h, iomux-mx27.h and the file iomux-mx2x.h, which is common to both i.MX21 and i.MX27). * adds all documented IOMUX definitions for i.MX21 and i.MX27 * fixes a few that were wrong (PD14_AOUT_FEC_CLR, PE16_AF_RTCK). * don't silenly include * and fixes all collateral damage from above Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit 88f502fedba82eff252b6420e8b8328e4ae25c67 Author: Ingo Molnar Date: Fri Mar 13 10:32:07 2009 +0100 futex: remove the pointer math from double_unlock_hb, fix Impact: fix double unlock crash Thomas Gleixner noticed that the simplified double_unlock_hb() became ... too unsophisticated: in the hb1 == hb2 case it will do a double unlock. Reported-by: Thomas Gleixner Cc: Darren Hart LKML-Reference: <20090312221118.11146.68610.stgit@Aeon> Signed-off-by: Ingo Molnar commit 5a8ac9d28dae5330c70562c7d7785f5104059c17 Author: Américo Wang Date: Fri Mar 13 15:56:58 2009 +0800 x86: ptrace, bts: fix an unreachable statement Commit c2724775ce57c98b8af9694857b941dc61056516 put a statement after return, which makes that statement unreachable. Move that statement before return. Signed-off-by: WANG Cong Cc: Roland McGrath Cc: Markus Metzger LKML-Reference: <20090313075622.GB8933@hack> Cc: # .29 only Signed-off-by: Ingo Molnar commit fa9d13cf135efbd454453a53b6299976bea245a9 Author: Zhaolei Date: Fri Mar 13 17:16:34 2009 +0800 ftrace: don't try to __ftrace_replace_code on !FTRACE_FL_CONVERTED rec Do __ftrace_replace_code for !FTRACE_FL_CONVERTED rec will always fail, we should ignore this rec. Signed-off-by: Zhao Lei Cc: "Steven Rostedt ;" LKML-Reference: <49BA2472.4060206@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b00f0b6dc1773b4c8f538503247da050b5ea631b Author: Zhaolei Date: Fri Mar 13 17:14:01 2009 +0800 ftrace: avoid double-free of dyn_ftrace If dyn_ftrace is freed before ftrace_release(), ftrace_release() will free it again and make ftrace_free_records wrong. Signed-off-by: Zhao Lei Cc: "Steven Rostedt ;" LKML-Reference: <49BA23D9.1050900@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 62a394eb77a1ddea73273f53ed8c3ccf6e04f2fb Merge: d2e8254... 1b3fa2c... Author: Ingo Molnar Date: Fri Mar 13 10:23:39 2009 +0100 Merge branches 'tracing/ftrace' and 'tracing/syscalls'; commit 'v2.6.29-rc8' into tracing/core commit 3ff42da5048649503e343a32be37b14a6a4e8aaf Author: Andreas Herrmann Date: Thu Mar 12 17:39:37 2009 +0100 x86: mtrr: don't modify RdDram/WrDram bits of fixed MTRRs Impact: bug fix + BIOS workaround BIOS is expected to clear the SYSCFG[MtrrFixDramModEn] on AMD CPUs after fixed MTRRs are configured. Some BIOSes do not clear SYSCFG[MtrrFixDramModEn] on BP (and on APs). This can lead to obfuscation in Linux when this bit is not cleared on BP but cleared on APs. A consequence of this is that the saved fixed-MTRR state (from BP) differs from the fixed-MTRRs of APs -- because RdDram/WrDram bits are read as zero when SYSCFG[MtrrFixDramModEn] is cleared -- and Linux tries to sync fixed-MTRR state from BP to AP. This implies that Linux sets SYSCFG[MtrrFixDramEn] and activates those bits. More important is that (some) systems change these bits in SMM when ACPI is enabled. Hence it is racy if Linux modifies RdMem/WrMem bits, too. (1) The patch modifies an old fix from Bernhard Kaindl to get suspend/resume working on some Acer Laptops. Bernhard's patch tried to sync RdMem/WrMem bits of fixed MTRR registers and that helped on those old Laptops. (Don't ask me why -- can't test it myself). But this old problem was not the motivation for the patch. (See http://lkml.org/lkml/2007/4/3/110) (2) The more important effect is to fix issues on some more current systems. On those systems Linux panics or just freezes, see http://bugzilla.kernel.org/show_bug.cgi?id=11541 (and also duplicates of this bug: http://bugzilla.kernel.org/show_bug.cgi?id=11737 http://bugzilla.kernel.org/show_bug.cgi?id=11714) The affected systems boot only using acpi=ht, acpi=off or when the kernel is built with CONFIG_MTRR=n. The acpi options prevent full enablement of ACPI. Obviously when ACPI is enabled the BIOS/SMM modfies RdMem/WrMem bits. When CONFIG_MTRR=y Linux also accesses and modifies those bits when it needs to sync fixed-MTRRs across cores (Bernhard's fix, see (1)). How do you synchronize that? You can't. As a consequence Linux shouldn't touch those bits at all (Rationale are AMD's BKDGs which recommend to clear the bit that makes RdMem/WrMem accessible). This is the purpose of this patch. And (so far) this suffices to fix (1) and (2). I suggest not to touch RdDram/WrDram bits of fixed-MTRRs and SYSCFG[MtrrFixDramEn] and to clear SYSCFG[MtrrFixDramModEn] as suggested by AMD K8, and AMD family 10h/11h BKDGs. BIOS is expected to do this anyway. This should avoid that Linux and SMM tread on each other's toes ... Signed-off-by: Andreas Herrmann Cc: trenn@suse.de Cc: Yinghai Lu LKML-Reference: <20090312163937.GH20716@alberich.amd.com> Cc: Signed-off-by: Ingo Molnar commit cefdb2a4436ec83b4c8b349aa30f976d30c22e25 Author: Robert Jarzmik Date: Sat Jan 31 21:07:09 2009 +0100 [ARM] pxa/MioA701: Migrate after pxa27x_udc gpio_pullup functionality. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit 689b4febeca7e98ad1986cf5b036539649cc1a0c Author: Robert Jarzmik Date: Fri Jan 30 20:48:24 2009 +0100 [ARM] pxa/MioA701: add gpio_vbus driver Add gpio vbus detection to udc driver, by taking advantage of the new gpio_vbus driver. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit 3b31fabfe258ecc1ffccd01dd186a534d5c804b3 Author: Dmitry Eremin-Solenikov Date: Mon Feb 16 20:40:57 2009 +0300 [ARM] pxa: add support for CSB701 baseboard CSB701 is one of baseboards that can be used with CSB726 SOM. This currently adds support for button and LED on the board. More to come later. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit aac429707df233e9dc7ed70ea04cd29d832dfe61 Author: Dmitry Eremin-Solenikov Date: Mon Feb 16 20:40:55 2009 +0300 [ARM] pxa: add initial support for Cogent CSB726 board Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit bb6ac72fb19c6676eb8bafa8e3b8bf970a2294a2 Author: Takashi Iwai Date: Fri Mar 13 09:02:42 2009 +0100 ALSA: hda - power up before codec initialization Change the power state of each widget before starting the initialization work so that all verbs are executed properly. Also, keep power-up during hwdep reconfiguration. Signed-off-by: Takashi Iwai commit d2e82546ae98eee353fae57e389f487586fe380d Merge: 7afe16c... 899039e... Author: Ingo Molnar Date: Fri Mar 13 06:30:52 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 7afe16c2bbf065e30d692423ad2c7e77c4cfe9a5 Merge: 2084e02... 041b623... Author: Ingo Molnar Date: Fri Mar 13 06:29:58 2009 +0100 Merge commit 'v2.6.29-rc8' into tracing/ftrace commit 1b3fa2ce64363c289b3b14723cca7290bf91cfce Author: Frederic Weisbecker Date: Sat Mar 7 05:53:00 2009 +0100 tracing/x86: basic implementation of syscall tracing for x86 Provide the x86 trace callbacks to trace syscalls. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Cc: Lai Jiangshan LKML-Reference: <1236401580-5758-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ee08c6eccb7d1295516f7cf420fddf7b14e9146f Author: Frederic Weisbecker Date: Sat Mar 7 05:52:59 2009 +0100 tracing/ftrace: syscall tracing infrastructure, basics Provide basic callbacks to do syscall tracing. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Cc: Lai Jiangshan LKML-Reference: <1236401580-5758-2-git-send-email-fweisbec@gmail.com> [ simplified it to a trace_printk() for now. ] Signed-off-by: Ingo Molnar commit 238a5b4bff2e0929a9ceb41f340137f36a6a75d9 Merge: 17d85bc... 73e907d... Author: Ingo Molnar Date: Fri Mar 13 05:54:55 2009 +0100 Merge branch 'cpus4096' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-x86 into cpus4096 commit 17d85bc7564571a1cce23ffdb2d2a33301876925 Merge: d95c357... 041b623... Author: Ingo Molnar Date: Fri Mar 13 05:54:43 2009 +0100 Merge commit 'v2.6.29-rc8' into cpus4096 commit 899039e8746bb9a09b6487ddb8ab2275ce9d0256 Author: Steven Rostedt Date: Fri Mar 13 00:43:33 2009 -0400 softirq: no need to have SOFTIRQ in softirq name Impact: clean up It is redundant to have 'SOFTIRQ' in the softirq names. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 773e673de27297d07d852e7e9bfd1a695cae1da2 Author: Yinghai Lu Date: Thu Mar 12 21:35:18 2009 -0700 x86: fix e820_update_range() Impact: fix left range size on head | commit 5c0e6f035df983210e4d22213aed624ced502d3d | x86: fix code paths used by update_mptable | Impact: fix crashes under Xen due to unrobust e820 code fixes one e820 bug, but introduces another bug. Need to update size for left range at first in case it is header. also add __e820_add_region take more parameter. Signed-off-by: Yinghai Lu Cc: jbeulich@novell.com LKML-Reference: <49B9E286.502@kernel.org> Signed-off-by: Ingo Molnar commit 7f96f93f02b7637491a1637dee12dcdcd40b9802 Author: Steven Rostedt Date: Fri Mar 13 00:37:42 2009 -0400 tracing: move binary buffers into per cpu directory The binary_buffers directory in /debugfs/tracing held the files to read the trace buffers in a binary format. This held one file per CPU buffer. But we also have a per_cpu directory that holds a way to read the pretty-print formats. This patch moves the binary buffers into the per_cpu_directory: # ls /debug/tracing/per_cpu/cpu1/ trace trace_pipe trace_pipe_raw The new name is called "trace_pipe_raw". The binary buffers always acted similar to trace_pipe, except that they produce raw data. Requested-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 06f0a488c1b642d3cd7769da66600e5148c3fad8 Author: Dave Airlie Date: Fri Mar 13 09:35:32 2009 +1000 drm/radeon: r600 ptes are 64-bit, cleanup cleanup function. Signed-off-by: Dave Airlie commit 03efb8853c35aff51c7b901bf412f32765fe0fd9 Author: Dave Airlie Date: Tue Mar 10 18:36:38 2009 +1000 drm/radeon: don't call irq changes on r600 suspend/resume Until we sort out r600 IRQs don't do this. Signed-off-by: Dave Airlie commit d02f7fa77d97a28a4276939f35e44ae995ad13d7 Author: Dave Airlie Date: Tue Mar 10 18:34:23 2009 +1000 drm/radeon: fix r600 writeback across suspend/resume This update was done in mainline radeon, but not in the r600. Signed-off-by: Dave Airlie commit 6546bf6d6cbf1f9ac350fd278a1d937d4bb9ad06 Author: Dave Airlie Date: Mon Mar 9 15:31:20 2009 +1000 drm/radeon: fix r600 writeback setup. This fixes 2 bugs: 1. the AGP calculation wasn't consistent with the PCI(E) calc for the RPTR_ADDR registers. This consolidates the writes and fixes it up. 2. The scratch address was being incorrectly calculated, this breaks it out into a lot more linear steps. Signed-off-by: Dave Airlie commit 1847a549ac4db1272dea13d86331c492a2640b3b Author: Dave Airlie Date: Mon Mar 9 12:47:18 2009 +1000 drm: fix warnings about new mappings in info code. This fixes up the warnings in the debugfs code that conflicted with the mapping fixups. Signed-off-by: Dave Airlie commit 8f497aade8df2a619eacda927a43ebe82167a84c Author: Hannes Eder Date: Thu Mar 5 20:14:18 2009 +0100 drm/radeon: NULL noise: drivers/gpu/drm/radeon/radeon_*.c Fix this sparse warning: drivers/gpu/drm/radeon/r600_cp.c:1811:52: warning: Using plain integer as NULL pointer drivers/gpu/drm/radeon/radeon_cp.c:1363:52: warning: Using plain integer as NULL pointer drivers/gpu/drm/radeon/radeon_state.c:1983:61: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Signed-off-by: Dave Airlie commit a763d7dc0adb1159c1a52d43e566409da9fa59f0 Author: Dave Airlie Date: Mon Mar 9 12:17:08 2009 +1000 drm/radeon: fix r600 pci mapping calls. This realigns the r600 pci mapping calls with the ati pcigart ones, fixing the direction and using the correct interface. Suggested by Jerome Glisse. Signed-off-by: Dave Airlie commit 08932156cc2d4f8807dc5ca5c3d6ccd85080610a Author: Alex Deucher Date: Sat Mar 7 18:21:21 2009 -0500 drm/radeon: r6xx/r7xx: fix possible oops in r600_page_table_cleanup() Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 53c379e9462b59d4e166429ff064aaf0e7743795 Author: Dave Airlie Date: Mon Mar 9 12:12:28 2009 +1000 radeon: call the correct idle function, logic got inverted. This calls the correct idle function for the R600 and previous chips. Signed-off-by: Dave Airlie commit 800b69951174f7de294da575d7e7921041a7e783 Author: Alex Deucher Date: Fri Mar 6 11:47:54 2009 -0500 drm/radeon: RS600: fix interrupt handling the checks weren't updated when RS600 support was added. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit a7d13ad0e2c1b0572492fd53ca1a090794e2f8e2 Author: Dave Airlie Date: Thu Feb 26 10:15:24 2009 +1000 drm/r600: fix rptr address along lines of previous fixes to radeon. Signed-off-by: Dave Airlie commit eb1d91954ededc00ddcfb51e2626f114ff351524 Author: Dave Airlie Date: Thu Feb 26 10:14:40 2009 +1000 drm/r600: fixup r600 gart table accessor like ati_pcigart.c This attempts to fixup the r600 GART accessors so they work on other arches. Signed-off-by: Dave Airlie commit 6abf66018f7fe231720e50f9a47b142182388869 Author: Dave Airlie Date: Thu Feb 26 10:13:47 2009 +1000 drm/ati_pcigart: use memset_io to reset the memory Also don't setup pci_gart if we aren't going to need it. Signed-off-by: Dave Airlie commit 87f0da55353e23826a54bff57c457a13b97d18f1 Author: Dave Airlie Date: Thu Feb 26 10:12:10 2009 +1000 drm: add DRM_READ/WRITE64 wrappers around readq/writeq. The readq/writeq stuff is from Dave Miller, and he warns users to be careful about using these. Plans are only r600 to use it so far. Signed-off-by: Dave Airlie commit 8ced9c75160947d2235fba75de9413e087e1171a Author: Alex Deucher Date: Wed Feb 25 17:02:19 2009 -0500 radeon: add RS600 pci ids Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit c1556f71513f2e660fb2bbdc29344361b1ebff35 Author: Alex Deucher Date: Wed Feb 25 16:57:49 2009 -0500 radeon: add support for rs600 GPUs RS600s are an AMD IGP for Intel CPUs, that look like RS690s from a lot of perspectives but look like r600s from a memory controller point of view. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7659e9804b7a66047433182d86393d38ba4eff79 Author: Alex Deucher Date: Wed Feb 25 15:55:01 2009 -0500 radeon: fix r600 AGP support This fixes the ioremap issues with r600 AGP. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7335aafa30ecf39ede7f24bd2036dfbf4c25f269 Author: Alex Deucher Date: Tue Feb 24 17:13:42 2009 -0500 radeon: add R6xx/R7xx pci ids Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit c05ce0834a268f7d18274847190f6ed826b99332 Author: Alex Deucher Date: Tue Feb 24 16:22:29 2009 -0500 drm/radeon: add initial support for R6xx/R7xx GPUs This adds support for 2D/Xv acceleration in the X.org 2D driver, to the drm. It doesn't yet provide any 3D support hooks. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 80b3334a4d5c163ab35c560a21d2cdc39bb5d3f8 Author: Alex Deucher Date: Tue Feb 24 14:28:34 2009 -0500 drm/radeon: add r6xx/r7xx microcode This uses the same microcode system as the current radeon code. It should be converted to the new microcode loader I suppose, though really I need a lot more proof of the worth of me maintaining firmware blobs externally. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit befb73c2322923766df7e36b51f407dbdc047eab Author: Alex Deucher Date: Tue Feb 24 14:02:13 2009 -0500 drm/radeon: prep for r6xx/r7xx support - add r6xx/r7xx regs and macros - add r6xx/r7xx chip families - fix register access for regs with offsets >= 0x10000 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 995e37cafb90f104395e015a9836cc459df1fc39 Author: Owain G. Ainsworth Date: Fri Feb 20 08:30:19 2009 +0000 i915/drm: Remove two redundant agp_chipset_flushes agp_chipset_flush() is for flushing the intel GMCH write cache via the IFP, these two uses are for when we're getting the object into the cpu READ domain, and thus should not be needed. This confused me when I was getting my head around the code. With thanks to airlied for helping me check my mental picture of how the flushes and clflushes are supposed to be used. Signed-off-by: Owain G. Ainsworth Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 87ba7c663af0f34aa603a5bb448783a5ed64573f Author: Chris Wilson Date: Wed Feb 11 14:26:38 2009 +0000 drm/i915: Display fence register state in debugfs i915_gem_fence_regs node. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 97d479e77b8621cc6e1cb06eabe5a73390c8149c Author: Eric Anholt Date: Tue Feb 17 23:53:41 2009 -0800 drm/i915: Add information on pinning and fencing to the i915 list debug. This was inspired by a patch by Chris Wilson, though none of it applied in any way due to the debugfs work and I decided to change the formatting of the new information anyway. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 30106f97a6029f94a8f13a1ace877c850cf5cd37 Author: Ben Gamari Date: Tue Feb 17 20:08:51 2009 -0500 drm/i915: Consolidate gem object list dumping Here we eliminate a few functions in favor of using a single function to dump from all of the object lists. Signed-Off-By: Ben Gamari Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 955b12def42e83287c1bdb1411d99451753c1391 Author: Ben Gamari Date: Tue Feb 17 20:08:49 2009 -0500 drm: Convert proc files to seq_file and introduce debugfs The old mechanism to formatting proc files is extremely ugly. The seq_file API was designed specifically for cases like this and greatly simplifies the process. Also, most of the files in /proc really don't belong there. This patch introduces the infrastructure for putting these into debugfs and exposes all of the proc files in debugfs as well. This contains the i915 hooks rewrite as well, to make bisectability better. Signed-off-by: Ben Gamari Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit dd8d7cb49e6e61da96ca44174b063081892c4dc6 Author: Dave Airlie Date: Fri Feb 20 13:28:59 2009 +1000 drm/radeon: split busmaster enable out to a separate function this is just a code cleanup from the kms tree. Signed-off-by: Dave Airlie commit 4247ca942a16745da3d09c58996b276d02655a72 Author: Dave Airlie Date: Fri Feb 20 13:28:34 2009 +1000 drm/radeon: align ring writes to 16 dwords boundaries. On some radeon GPUs this appears to introduce another level of stability around interacting with the ring. Its pretty much what fglrx appears to do. Signed-off-by: Dave Airlie commit cd00f95aff6b4cfeccb261fd4100cceb4f5270ea Author: Benjamin Herrenschmidt Date: Fri Feb 6 16:46:27 2009 +1100 drm/radeon: Print PCI ID of cards when probing This is usedul when you have multiple cards to figure out which one is which minor. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit 09e40d65d0aa6680428143cda1a7bdc8846ee991 Author: David Miller Date: Wed Feb 18 01:35:21 2009 -0800 drm: Only use DRM_IOCTL_UPDATE_DRAW compat wrapper for compat X86. Only X86 32-bit uses a different alignment for "unsigned long long" than it's 64-bit counterpart. Therefore this compat translation is only correct, and only needed, when either CONFIG_X86 or CONFIG_IA64. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit 958a6f8ccb1964adc3eec84cf401c5baeb4fbca0 Author: David Miller Date: Wed Feb 18 01:35:23 2009 -0800 drm: radeon: Fix unaligned access in r300_scratch(). In compat mode, the cmdbuf->buf 64-bit address cookie can potentially be only 32-bit aligned. Dereferencing this as 64-bit causes expensive unaligned traps on platforms like sparc64. Use get_unaligned() to fix. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit f1a2a9b6189f9f5c27672d4d32fec9492c6486b2 Author: David Miller Date: Wed Feb 18 15:41:02 2009 -0800 drm: Preserve SHMLBA bits in hash key for _DRM_SHM mappings. Platforms such as sparc64 have D-cache aliasing issues. We cannot allow virtual mappings in different contexts to be such that two cache lines can be loaded for the same backing data. Updates to one cache line won't be seen by accesses to the other cache line. Code in sparc64 and other architectures solve this problem by making sure that all userland mappings of MAP_SHARED objects have the same virtual address base. They implement this by keying off of the page offset, and using that to choose a suitably consistent virtual address for mmap() requests. Making things even worse, getting this wrong on sparc64 can result in hangs during DRM lock acquisition. This is because, at least on UltraSPARC-III, normal loads consult the D-cache but atomics such as 'cas' (which is what cmpxchg() is implement using) only consult the L2 cache. So if a D-cache alias is inserted, the load can see different data than the atomic, and we'll loop forever because the atomic compare-and-exchange will never complete successfully. So to make this all work properly, we need to make sure that the hash address computed by drm_map_handle() preserves the SHMLBA relevant bits, and that's what this patch does for _DRM_SHM mappings. As a historical note, many years ago this bug didn't exist because we used to just use the low 32-bits of the address as the hash and just hope for the best. This preserved the SHMLBA bits properly. But when the hashtab code was added to DRM, this was no longer the case. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit d30333bbabb4a2cfad1f1a45c48a4e4d0065c1f6 Author: David Miller Date: Sun Feb 15 01:08:07 2009 -0800 drm: ati_pcigart: Fix limit check in drm_ati_pcigart_init(). The variable 'max_pages' is ambiguous. There are two concepts of "pages" being used in this function. First, we have ATI GART pages which are always 4096 bytes. Then, we have system pages which are of size PAGE_SIZE. Eliminate the confusion by creating max_ati_pages and max_real_pages. Calculate and use them as appropriate. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit 6abf6bb0ff90bb77f9429bd0d90fc841c358daf3 Author: David Miller Date: Sat Feb 14 01:51:07 2009 -0800 drm: radeon: Use surface for PCI GART table. This allocates a physical surface for the PCI GART table, this way no matter what other surface configurations exist the GART table will always be seen by the hardware properly. We encode the file pointer of the virtual surface allocate using a special cookie value, called PCIGART_FILE_PRIV. On the last close, we release that surface. Just to be doubly safe, we run the pcigart table setup with the main surface control register clear. Based upon ideas from David Airlie and Ben Benjamin Herrenschmidt. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit e8a894372b4ea05dc266ba7d7a7634315b6230e8 Author: David Miller Date: Thu Feb 12 02:15:44 2009 -0800 drm: radeon: Fix calculation of RB_RPTR_ADDR in non-AGP case. The address needs to be a GART relative address, rather than a PCI DMA address. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit b266503072f824a82d585a6d41ebd591a2d7daa4 Author: David Miller Date: Thu Feb 12 02:15:39 2009 -0800 drm: radeon: Fix RADEON_*_EMITED defines. These are not supposed to be booleans, they are supposed to be bit masks. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit b07fa022ecf1e04fd0623877affe9e10bf45ac86 Author: David Miller Date: Thu Feb 12 02:15:37 2009 -0800 drm: radeon: Fix ring_rptr accesses. The memory behind ring_rptr can either be in ioremapped memory or a vmalloc() normal kernel memory buffer. However, the code unconditionally uses DRM_{READ,WRITE}32() (and thus readl() and writel()) to access it. Basically, if RADEON_IS_AGP then it's ioremap()'d memory else it's vmalloc'd memory. Adjust all of the ring_rptr access code as needed. While we're here, kill the 'scratch' pointer in drm_radeon_private. It's only used in the one place where it is initialized. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit 296c6ae0e9b5ced1060b43a68b5f7e41a18509f6 Author: David Miller Date: Thu Feb 12 02:15:34 2009 -0800 drm: ati_pcigart: Need to use PCI_DMA_BIDIRECTIONAL. The buffers mapped by the PCI GART can be written to by the device, not just read. For example, this happens via the RB_RPTR writeback on Radeon. So we can't use PCI_DMA_TODEVICE else we'll get protection faults on IOMMU platforms. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit 5a7aad9a559a5488cbef7aa3d4d96fc28220b8ae Author: David Miller Date: Thu Feb 12 02:15:27 2009 -0800 drm: ati_pcigart: Do not access I/O MEM space using pointer derefs. The PCI GART table initialization code treats the GART table mapping unconditionally as a kernel virtual address. But it could be in the framebuffer, for example, and thus we're dealing with a PCI MEM space ioremap() cookie. Treating that as a virtual address is illegal and will crash some system types (such as sparc64 where the ioremap() return value is actually a physical I/O address). So access the area correctly, using gart_info->gart_table_location as our guide. Signed-off-by: David S. Miller Signed-off-by: Dave Airlie commit 8e1004580e0c862cb6bbe2ff8e496f846c54052f Author: Kristian Høgsberg Date: Mon Jan 5 16:10:05 2009 -0500 drm: Drop unused and broken dri_library_name sysfs attribute. The kernel shouldn't be in the business of telling user space which driver to load. The kernel defers mapping PCI IDs to module names to user space and we should do the same for DRI drivers. And in fact, that's how it does work today. Nothing uses the dri_library_name attribute, and the attribute is in fact broken. For intel devices, it falls back to the default behaviour of returning the kernel module name as the DRI driver name, which doesn't work for i965 devices. Nobody has ever hit this problem or filed a bug about this. Signed-off-by: Kristian Høgsberg Signed-off-by: Dave Airlie commit 112b715e8e2f9ef7b96930888bb099ce10b4c3cc Author: Kristian Høgsberg Date: Sun Jan 4 16:55:33 2009 -0500 drm: claim PCI device when running in modesetting mode. Under kernel modesetting, we manage the device at all times, regardless of VT switching and X servers, so the only decent thing to do is to claim the PCI device. In that case, we call the suspend/resume hooks directly from the pci driver hooks instead of the current class device detour. Signed-off-by: Kristian Høgsberg Signed-off-by: Dave Airlie commit 41c2e75e60200a860a74b7c84a6375c105e7437f Author: Benjamin Herrenschmidt Date: Mon Feb 2 16:55:47 2009 +1100 drm: Make drm_local_map use a resource_size_t offset This changes drm_local_map to use a resource_size for its "offset" member instead of an unsigned long, thus allowing 32-bit machines with a >32-bit physical address space to be able to store there their register or framebuffer addresses when those are above 4G, such as when using a PCI video card on a recent AMCC 440 SoC. This patch isn't as "trivial" as it sounds: A few functions needed to have some unsigned long/int changed to resource_size_t and a few printk's had to be adjusted. But also, because userspace isn't capable of passing such offsets, I had to modify drm_find_matching_map() to ignore the offset passed in for maps of type _DRM_FRAMEBUFFER or _DRM_REGISTERS. If we ever support multiple _DRM_FRAMEBUFFER or _DRM_REGISTERS maps for a given device, we might have to change that trick, but I don't think that happens on any current driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit f77d390c9779c496aa5b99ec832996fb76bb1d13 Author: Benjamin Herrenschmidt Date: Mon Feb 2 16:55:46 2009 +1100 drm: Split drm_map and drm_local_map Once upon a time, the DRM made the distinction between the drm_map data structure exchanged with user space and the drm_local_map used in the kernel. For some reasons, while the BSD port still has that "feature", the linux part abused drm_map for kernel internal usage as the local map only existed as a typedef of the struct drm_map. This patch fixes it by declaring struct drm_local_map separately (though its content is currently identical to the userspace variant), and changing the kernel code to only use that, except when it's a user<->kernel interface (ie. ioctl). This allows subsequent changes to the in-kernel format I've also replaced the use of drm_local_map_t with struct drm_local_map in a couple of places. Mostly by accident but they are the same (the former is a typedef of the later) and I have some remote plans and half finished patch to completely kill the drm_local_map_t typedef so I left those bits in. Signed-off-by: Benjamin Herrenschmidt Acked-by: Eric Anholt Signed-off-by: Dave Airlie commit d883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66 Author: Benjamin Herrenschmidt Date: Mon Feb 2 16:55:45 2009 +1100 drm: Use resource_size_t for drm_get_resource_{start, len} The DRM uses its own wrappers to obtain resources from PCI devices, which currently convert the resource_size_t into an unsigned long. This is broken on 32-bit platforms with >32-bit physical address space. This fixes them, along with a few occurences of unsigned long used to store such a resource in drivers. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit 73e907de7d5cecef43d9949ab8f4fdca508168c7 Author: Rusty Russell Date: Fri Mar 13 14:49:57 2009 +1030 cpumask: remove x86 cpumask_t uses. Impact: cleanup We are removing cpumask_t in favour of struct cpumask: mainly as a marker of what code is now CONFIG_CPUMASK_OFFSTACK-safe. The only non-trivial change here is vector_allocation_domain(): explicitly clear the mask and set the first word, rather than using assignment. Signed-off-by: Rusty Russell commit 76ba0ecda0de9accea9a91cb6dbde46782110e1c Author: Rusty Russell Date: Fri Mar 13 14:49:57 2009 +1030 cpumask: use cpumask_var_t in uv_flush_tlb_others. Impact: remove cpumask_t, reduce per-cpu size for CONFIG_CPUMASK_OFFSTACK=y Signed-off-by: Rusty Russell commit 5c6cb5e2b1798694c859fd3821a34404355e1030 Author: Rusty Russell Date: Fri Mar 13 14:49:56 2009 +1030 cpumask: remove cpumask_t assignment from vector_allocation_domain() Impact: cleanup It's not legal to do assignments into cpumask_var_t; they will soon be of variable length. So explicitly clear the mask and set the first word, rather than using assignment. Signed-off-by: Rusty Russell commit d680eb8bcd0e43b20067fd2c810d76463db5444e Author: Rusty Russell Date: Fri Mar 13 14:49:56 2009 +1030 cpumask: make Xen use the new operators. Impact: cleanup In particular, *map are deprecated, and you have to use the accessors as *mask are const. Signed-off-by: Rusty Russell To: Jeremy Fitzhardinge commit 70ba2b6a70f0077707977e3b107478768492040d Author: Rusty Russell Date: Fri Mar 13 14:49:55 2009 +1030 cpumask: clean up summit's send_IPI functions Impact: cleanup, remove cpumask from stack summit_send_IPI_allbutself might as well call default_send_IPI_mask_allbutself_logical(). Also change cpumask_t to struct cpumask and &cpu_online_map to cpu_online_mask while here. Signed-off-by: Rusty Russell commit 4f0628963c86d2f97b8cb9acc024a7fe288a6a57 Author: Rusty Russell Date: Fri Mar 13 14:49:54 2009 +1030 cpumask: use new cpumask functions throughout x86 Impact: cleanup 1) &cpu_online_map -> cpu_online_mask 2) first_cpu/next_cpu_nr -> cpumask_first/cpumask_next 3) cpu_*_map manipulation -> init_cpu_* / set_cpu_* Signed-off-by: Rusty Russell commit 3f76a183de8ad3aeb7425f3d9685bb6003abd1a5 Author: Rusty Russell Date: Fri Mar 13 14:49:54 2009 +1030 x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask Impact: cleanup Signed-off-by: Rusty Russell commit 155dd720d06a219ddf5a56b473cb3325441fc879 Author: Rusty Russell Date: Fri Mar 13 14:49:53 2009 +1030 cpumask: convert struct cpuinfo_x86's llc_shared_map to cpumask_var_t Impact: reduce kernel memory usage when CONFIG_CPUMASK_OFFSTACK=y Signed-off-by: Rusty Russell commit c032ef60d1aa9af33730b7a35bbea751b131adc1 Author: Rusty Russell Date: Fri Mar 13 14:49:53 2009 +1030 cpumask: convert node_to_cpumask_map[] to cpumask_var_t Impact: reduce kernel memory usage when CONFIG_CPUMASK_OFFSTACK=y Straightforward conversion: done for 32 and 64 bit kernels. node_to_cpumask_map is now a cpumask_var_t array. 64-bit used to be a dynamic cpumask_t array, and 32-bit used to be a static cpumask_t array. Signed-off-by: Rusty Russell commit 71ee73e72228775a076a502b3c92028fa59e2889 Author: Rusty Russell Date: Fri Mar 13 14:49:52 2009 +1030 x86: unify 32 and 64-bit node_to_cpumask_map Impact: cleanup We take the 64-bit code and use it on 32-bit as well. The new file is called mm/numa.c. In a minor cleanup, we use cpu_none_mask instead of declaring a local cpu_mask_none. Signed-off-by: Rusty Russell commit b9c4398ed43a7ed023e091610c23ba7412aec2a8 Author: Rusty Russell Date: Fri Mar 13 14:49:52 2009 +1030 cpumask: remove x86's node_to_cpumask now everyone uses cpumask_of_node Impact: cleanup Signed-off-by: Rusty Russell commit b643decad6c80b6886a01a8c2229be6b7951ff7b Author: Rusty Russell Date: Fri Mar 13 14:49:51 2009 +1030 x86: arch_send_call_function_ipi_mask Impact: implement new API We define arch_send_call_function_ipi_mask and generic kernel/smp.c code creates arch_send_call_function_ipi() as a wrapper. Signed-off-by: Rusty Russell commit 996867d0965775dfa62447d0bddb5dc6818a7892 Author: Rusty Russell Date: Fri Mar 13 14:49:51 2009 +1030 cpumask: convert arch/x86/kernel/cpu/mcheck/mce_64.c Impact: reduce kernel memory usage when CONFIG_CPUMASK_OFFSTACK=y Simple conversion of mce_device_initialized to cpumask_var_t. We don't check the alloc_cpumask_var() return since it's boot-time only, and the misc_register() in that same function isn't checked. Signed-off-by: Rusty Russell commit 7ad728f98162cb1af06a85b2a5fc422dddd4fb78 Author: Rusty Russell Date: Fri Mar 13 14:49:50 2009 +1030 cpumask: x86: convert cpu_sibling_map/cpu_core_map to cpumask_var_t Impact: reduce per-cpu size for CONFIG_CPUMASK_OFFSTACK=y In most places it's cleaner to use the accessors cpu_sibling_mask() and cpu_core_mask() wrappers which already exist. I couldn't avoid cleaning up the access in oprofile, either. Signed-off-by: Rusty Russell commit fcef8576d8a64fc603e719c97d423f9f6d4e0e8b Author: Rusty Russell Date: Fri Mar 13 14:49:49 2009 +1030 cpumask: convert arch/x86/kernel/nmi.c's backtrace_mask to a cpumask_var_t Impact: cleanup, reduce memory usage for CONFIG_CPUMASK_OFFSTACK=y I *think* every path calls check_nmi_watchdog before using the watchdog, so that's the right place for the initialization. If that's wrong, we'll get a nice NULL-deref with CONFIG_CPUMASK_OFFSTACK=y, and have uncovered another bug. Signed-off-by: Rusty Russell commit bc9b83dd1f66402b870301c3c7117b9c1484abb4 Author: Rusty Russell Date: Fri Mar 13 14:49:49 2009 +1030 cpumask: convert c1e_mask in arch/x86/kernel/process.c to cpumask_var_t. Impact: reduce kernel size when CONFIG_CPUMASK_OFFSTACK=y Simple conversion. Signed-off-by: Rusty Russell commit d3d2e7f24384cccedd29a0582ad4b014ac646abc Author: Rusty Russell Date: Fri Mar 13 14:49:48 2009 +1030 cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: x86 Impact: cleanup There were replaced by topology_core_cpumask and topology_thread_cpumask. Signed-off-by: Rusty Russell commit 23c5c9c66263311de1295b42382e5bc1e7c36c47 Author: Rusty Russell Date: Fri Mar 13 14:49:48 2009 +1030 cpumask: remove cpu_coregroup_map: x86 Impact: cleanup cpu_coregroup_mask is the New Hotness. Signed-off-by: Rusty Russell commit cb3d560f36c1e4aa3c26a1d79e9b6e62ab69896c Author: Rusty Russell Date: Fri Mar 13 14:49:47 2009 +1030 cpumask: remove the now-obsoleted pcibus_to_cpumask(): x86 Impact: reduce stack usage for large NR_CPUS cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell commit 101aaca1f32d9923331ddc63a7a72b3a7f934c02 Author: Rusty Russell Date: Fri Mar 13 14:49:47 2009 +1030 cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL.: x86 Impact: cleanup (Thanks to Al Viro for reminding me of this, via Ingo) CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so: #define CPU_MASK_ALL (cpumask_t) { { ... } } Taking the address of such a temporary is questionable at best, unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added CPU_MASK_ALL_PTR: #define CPU_MASK_ALL_PTR (&CPU_MASK_ALL) Which formalizes this practice. One day gcc could bite us over this usage (though we seem to have gotten away with it so far). So replace everywhere which used &CPU_MASK_ALL or CPU_MASK_ALL_PTR with the modern "cpu_all_mask" (a real const struct cpumask *), and remove CPU_MASK_ALL_PTR altogether. Signed-off-by: Rusty Russell Acked-by: Ingo Molnar Reported-by: Al Viro Cc: Mike Travis commit a70f730282019f487aa33a84e5ac9a5e89c5abd0 Author: Rusty Russell Date: Fri Mar 13 14:49:46 2009 +1030 cpumask: replace node_to_cpumask with cpumask_of_node. Impact: cleanup node_to_cpumask (and the blecherous node_to_cpumask_ptr which contained a declaration) are replaced now everyone implements cpumask_of_node. Signed-off-by: Rusty Russell commit c69fc56de1df5769f2ec69c915c7ad5afe63804c Author: Rusty Russell Date: Fri Mar 13 14:49:46 2009 +1030 cpumask: use topology_core_cpumask/topology_thread_cpumask instead of cpu_core_map/cpu_sibling_map Impact: cleanup This is presumably what those definitions are for, and while all archs define cpu_core_map/cpu_sibling map, that's changing (eg. x86 wants to change it to a pointer). Signed-off-by: Rusty Russell commit bdc067582b8b71c7771bab076bbc51569c594fb4 Author: Steven Rostedt Date: Fri Mar 13 00:12:52 2009 -0400 tracing: add comment for use of double __builtin_consant_p Impact: documentation The use of the double __builtin_contant_p checks in the event_trace_printk can be confusing to developers and reviewers. This patch adds a comment to explain why it is there. Requested-by: KOSAKI Motohiro LKML-Reference: <20090313122235.43EB.A69D9226@jp.fujitsu.com> Signed-off-by: Steven Rostedt commit eb1871f34358024acfa3523ef375ef14b7527173 Author: Steven Rostedt Date: Fri Mar 13 00:00:58 2009 -0400 tracing: left align location header in stack_trace Ingo Molnar suggested, instead of: Depth Size Location (27 entries) ----- ---- -------- 0) 2880 48 lock_timer_base+0x2b/0x4f 1) 2832 80 __mod_timer+0x33/0xe0 2) 2752 16 __ide_set_handler+0x63/0x65 To have it be: Depth Size Location (27 entries) ----- ---- -------- 0) 2880 48 lock_timer_base+0x2b/0x4f 1) 2832 80 __mod_timer+0x33/0xe0 2) 2752 16 __ide_set_handler+0x63/0x65 Requested-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 7a46c594bf7f1f2eeb1e12d4b857d5f581957a92 Author: Li Zefan Date: Thu Mar 12 09:23:01 2009 +0800 cpuacct: reduce one NULL check in fast-path Impact: micro-optimization In cpuacct_charge(), task_ca() will never return NULL, so change for(...) to do { } while(...) to save one NULL check. Signed-off-by: Li Zefan Cc: Peter Zijlstra Cc: Paul Menage Cc: Balbir Singh Cc: Bharata B Rao LKML-Reference: <49B863F5.2060400@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit f6411fe7e09b67470a2569231d6fa566c7c29b8b Merge: df1c99d... f24ade3... 9ead649... Author: Ingo Molnar Date: Fri Mar 13 04:50:44 2009 +0100 Merge branches 'sched/clock', 'sched/urgent' and 'linus' into sched/core commit 2084e0225ed14cc1959c8aa703a3870c95fde4ab Merge: 4c6ed8f... 5cc9854... Author: Ingo Molnar Date: Fri Mar 13 04:34:09 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 4c6ed8f496fe89ff81b3d6e617a531bedfb613e4 Author: Ingo Molnar Date: Fri Mar 13 04:33:17 2009 +0100 Merge branches 'tracing/ftrace' and 'linus' into tracing/core commit 4bb9c5c02153dfc89a6c73a6f32091413805ad7d Author: Pallipadi, Venkatesh Date: Thu Mar 12 17:45:27 2009 -0700 VM, x86, PAT: Change is_linear_pfn_mapping to not use vm_pgoff Impact: fix false positive PAT warnings - also fix VirtalBox hang Use of vma->vm_pgoff to identify the pfnmaps that are fully mapped at mmap time is broken. vm_pgoff is set by generic mmap code even for cases where drivers are setting up the mappings at the fault time. The problem was originally reported here: http://marc.info/?l=linux-kernel&m=123383810628583&w=2 Change is_linear_pfn_mapping logic to overload VM_INSERTPAGE flag along with VM_PFNMAP to mean full PFNMAP setup at mmap time. Problem also tracked at: http://bugzilla.kernel.org/show_bug.cgi?id=12800 Reported-by: Thomas Hellstrom Tested-by: Frans Pop Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha @intel.com> Cc: Nick Piggin Cc: "ebiederm@xmission.com" Cc: # only for 2.6.29.1, not .28 LKML-Reference: <20090313004527.GA7176@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit 53f5649b21a7c7b894d68ac4848eb01136fa64aa Author: Eric Miao Date: Fri Mar 13 10:50:17 2009 +0800 [ARM] pxa: fix typo in BANK_OFF() macro in gpio.h The typo was originally fixed by Mike Rapoport and missed. And is later reported by Matthias Meier. Signed-off-by: Matthias Meier Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 5cc985488845ec7227a2c5cfd2fd62cf57fb411a Author: Steven Rostedt Date: Thu Mar 12 22:24:17 2009 -0400 ring-buffer: document reader page design In a private email conversation I explained how the ring buffer page worked by using silly ASCII art. Ingo suggested that I add that to the comments of the code. Here it is. Requested-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 91219bcbdcccc1686b0ecce09e28825c93619c07 Author: Jaswinder Singh Rajput Date: Thu Mar 12 02:37:00 2009 +0530 x86: cpu_debug add write support for MSRs Supported write flag for registers. currently write is enabled only for PMC MSR. [root@ht]# cat /sys/kernel/debug/x86/cpu/cpu1/pmc/0x300/value 0x0 [root@ht]# echo 1234 > /sys/kernel/debug/x86/cpu/cpu1/pmc/0x300/value [root@ht]# cat /sys/kernel/debug/x86/cpu/cpu1/pmc/0x300/value 0x4d2 [root@ht]# echo 0x1234 > /sys/kernel/debug/x86/cpu/cpu1/pmc/0x300/value [root@ht]# cat /sys/kernel/debug/x86/cpu/cpu1/pmc/0x300/value 0x1234 Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f28e55765e40450c127e44d00ae65d0cd1a4efec Author: Steven Rostedt Date: Thu Mar 12 22:00:19 2009 -0400 tracing: show event name in trace for TRACE_EVENT created events Unlike TRACE_FORMAT() macros, the TRACE_EVENT() macros do not show the event name in the trace file. Knowing the event type in the trace output is very useful. Instead of: task swapper:0 [140] ==> ntpd:3308 [120] We now have: sched_switch: task swapper:0 [140] ==> ntpd:3308 [120] Signed-off-by: Steven Rostedt commit 0d890355bff25e1dc03a577a90ed80741489ca54 Author: Yinghai Lu Date: Wed Mar 11 20:07:39 2009 -0700 x86: separate mtrr cleanup/mtrr_e820 trim to separate file Impact: cleanup mtrr main.c is too big, seperate mtrr cleanup and mtrr e820 trim code to another file. Signed-off-by: Yinghai Lu LKML-Reference: <49B87C7B.80809@kernel.org> Signed-off-by: Ingo Molnar commit c1ab7e93c6ddf8a068719b97b7e26c3d8eba7c32 Author: Yinghai Lu Date: Wed Mar 11 20:05:46 2009 -0700 x86: print out mtrr_range_state when user specify size Impact: print more debug info Keep it consistent with autodetect version. Signed-off-by: Yinghai Lu LKML-Reference: <49B87C0A.4010105@kernel.org> Signed-off-by: Ingo Molnar commit 8ad9790588ee2e69118b2b294ddab6f3f0379ad9 Author: Yinghai Lu Date: Thu Mar 12 18:43:54 2009 -0700 x86: more MTRR debug printouts Impact: improve MTRR debugging messages There's still inefficiencies suspected with the MTRR sanitizing code, so make sure we get all the info we need from a dmesg. - Remove unneeded mtrr_show (It will only printout one time by first cpu, so it is no big deal.) - Also print out directly from get_mtrr, because it doesn't update mtrr_state. Signed-off-by: Yinghai Lu LKML-Reference: <49B9BA5A.40108@kernel.org> Signed-off-by: Ingo Molnar commit 698609bdcd35d0641f4c6622c83680ab1a6d67cb Author: Jan Beulich Date: Thu Mar 12 13:11:50 2009 +0000 x86: create a non-zero sized bm_pte only when needed Impact: kernel image size reduction Since in most configurations the pmd page needed maps the same range of virtual addresses which is also mapped by the earlier inserted one for covering FIX_DBGP_BASE, that page (and its insertion in the page tables) can be avoided altogether by detecting the condition at compile time. Signed-off-by: Jan Beulich LKML-Reference: <49B91826.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 5c0e6f035df983210e4d22213aed624ced502d3d Author: Jan Beulich Date: Thu Mar 12 13:07:23 2009 +0000 x86: fix code paths used by update_mptable Impact: fix crashes under Xen due to unrobust e820 code find_e820_area_size() must return a properly distinguishable and out-of-bounds value when it fails, and -1UL does not meet that criteria on i386/PAE. Additionally, callers of the function must check against that value. early_reserve_e820() should be prepared for the region found to be outside of the addressable range on 32-bits. e820_update_range_map() should not blindly update e820, but should do all it work on the map it got a pointer passed for (which in 50% of the cases is &e820_saved). It must also not call e820_add_region(), as that again acts on e820 unconditionally. The issues were found when trying to make this option work in our Xen kernel (i.e. where some of the silent assumptions made in the code would not hold). Signed-off-by: Jan Beulich LKML-Reference: <49B9171B.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 82034d6f59b4772f4233bbb61c670290803a9960 Author: Jan Beulich Date: Thu Mar 12 12:57:10 2009 +0000 x86: clean up output resulting from update_mptable option Impact: cleanup Without apic=verbose, using the update_mptable option would result in garbled and confusing output due to the inconsistent use of printk() vs apic_printk(). Signed-off-by: Jan Beulich LKML-Reference: <49B914B6.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 9a50156a1c7bfa65315facaffdfbed6513fcfd3b Author: Jan Beulich Date: Thu Mar 12 12:41:23 2009 +0000 x86: properly __init-annotate recent early_printk additions Impact: cleanup, save memory Don't keep code resident that's only needed during startup. Signed-off-by: Jan Beulich LKML-Reference: <49B91103.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit dc9dd5cc854cde110d2421f3a11fec7597e059c1 Author: Jan Beulich Date: Thu Mar 12 12:40:06 2009 +0000 x86: move save_mr() into .meminit.text Impact: cleanup, save memory The function is only being called from boot or memory hotplug paths. Signed-off-by: Jan Beulich LKML-Reference: <49B910B6.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 13c6c53282d99c82e79b02477efd2c1e30a991ef Author: Jan Beulich Date: Thu Mar 12 12:37:34 2009 +0000 x86, 32-bit: also use cpuinfo_x86's x86_{phys,virt}_bits members Impact: 32/64-bit consolidation In a first step, this allows fixing phys_addr_valid() for PAE (which until now reported all addresses to be valid). Subsequently, this will also allow simplifying some MTRR handling code. Signed-off-by: Jan Beulich LKML-Reference: <49B9101E.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 46d50c98d90cd7feaa5977a09c574063e5c99b3d Author: Jan Beulich Date: Thu Mar 12 12:33:06 2009 +0000 x86, 32-bit: also limit NODES_HIGH_SHIFT here Impact: configuration bug fix Just like for x86-64, the range of widths valid for NODE_SHIFT is not unbounded. The upper bound 64-bit uses is definitely also an upper bound for 32-bit. Signed-off-by: Jan Beulich LKML-Reference: <49B90F12.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit dd63fdcc63f0f853b116b52e56200a0e0227cf5f Author: Ingo Molnar Date: Fri Mar 13 03:20:49 2009 +0100 x86: unify kmap_atomic_pfn() and iomap_atomic_prot_pfn(), fix Impact: build fix Move kmap_atomic_prot_pfn() to iomap_32.c. It is used on all 32-bit kernels, while highmem_32.c is only built on highmem kernels. ( Note: the debug_kmap_atomic_prot() check is removed for now, that problem is handled via another patch. ) Reported-by: Thomas Gleixner Cc: Akinobu Mita LKML-Reference: <20090311143317.GA22244@localhost.localdomain> Signed-off-by: Ingo Molnar commit 7a81d9a7da03d2f27840d659f97ef140d032f609 Author: Jan Beulich Date: Thu Mar 12 12:45:15 2009 +0000 x86: smarten /proc/interrupts output Impact: change /proc/interrupts output ABI With the number of interrupts on large systems growing, assumptions on the width an interrupt number requires when converted to a decimal string turn invalid. Therefore, calculate the maximum number of digits dynamically. Signed-off-by: Jan Beulich LKML-Reference: <49B911EB.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 889a6c367283709a80dad9413488472596a1a1d2 Author: KOSAKI Motohiro Date: Fri Mar 13 09:03:04 2009 +0900 tracing: Don't use tracing_record_cmdline() in workqueue tracer fix commit c3ffc7a40b7e94b094efe1c8ab4e24370a782b65 "Don't use tracing_record_cmdline() in workqueue tracer" has a race window. find_task_by_vpid() requires task_list_lock(). LKML-Reference: <20090313090042.43CD.A69D9226@jp.fujitsu.com> Signed-off-by: KOSAKI Motohiro Signed-off-by: Steven Rostedt commit 39842323ceb368d2ea36ab7696aedbe296e13b61 Author: Jason Baron Date: Thu Mar 12 14:36:03 2009 -0400 tracing: tracepoints for softirq entry/exit - tracepoints Introduce softirq entry/exit tracepoints. These are useful for augmenting existing tracers, and to figure out softirq frequencies and timings. [ s/irq_softirq_/softirq_/ for trace point names and Fixed printf format in TRACE_FORMAT macro - Steven Rostedt ] LKML-Reference: <20090312183603.GC3352@redhat.com> Signed-off-by: Jason Baron Signed-off-by: Steven Rostedt commit 5d592b44b29a1d73e13d5c9e3426eed843bdc359 Author: Jason Baron Date: Thu Mar 12 14:33:36 2009 -0400 tracing: tracepoints for softirq entry/exit - add softirq-to-name array Create a 'softirq_to_name' array, which is indexed by softirq #, so that we can easily convert between the softirq index # and its name, in order to get more meaningful output messages. LKML-Reference: <20090312183336.GB3352@redhat.com> Signed-off-by: Jason Baron Signed-off-by: Steven Rostedt commit e447e1df2e568cd43d1918963c9f09fae85aea57 Author: Steven Rostedt Date: Thu Mar 12 19:42:29 2009 -0400 tracing: explain why stack tracer is empty If the stack tracing is disabled (by default) the stack_trace file will only contain the header: # cat /debug/tracing/stack_trace Depth Size Location (0 entries) ----- ---- -------- This can be frustrating to a developer that does not realize that the stack tracer is disabled. This patch adds the following text: # cat /debug/tracing/stack_trace Depth Size Location (0 entries) ----- ---- -------- # # Stack tracer disabled # # To enable the stack tracer, either add 'stacktrace' to the # kernel command line # or 'echo 1 > /proc/sys/kernel/stack_tracer_enabled' # Signed-off-by: Steven Rostedt commit 2da03ecee6308ea174e8a02b92a3c4ec92e886c8 Author: Steven Rostedt Date: Thu Mar 12 18:57:51 2009 -0400 tracing: fix stack tracer header The stack tracer use to look like this: # cat /debug/tracing/stack_trace Depth Size Location (57 entries) ----- ---- -------- 0) 5088 16 mempool_alloc_slab+0x16/0x18 1) 5072 144 mempool_alloc+0x4d/0xfe 2) 4928 16 scsi_sg_alloc+0x48/0x4a [scsi_mod] Now it looks like this: # cat /debug/tracing/stack_trace Depth Size Location (57 entries) ----- ---- -------- 0) 5088 16 mempool_alloc_slab+0x16/0x18 1) 5072 144 mempool_alloc+0x4d/0xfe 2) 4928 16 scsi_sg_alloc+0x48/0x4a [scsi_mod] Signed-off-by: Steven Rostedt commit 7975a2be16dd42df2cab80c80cb6ece382edb6ec Author: Steven Rostedt Date: Thu Mar 12 14:23:17 2009 -0400 tracing: export trace formats to user space The binary printk saves a pointer to the format string in the ring buffer. On output, the format is processed. But if the user is reading the ring buffer through a binary interface, the pointer is meaningless. This patch creates a file called printk_formats that maps the pointers to the formats. # cat /debug/tracing/printk_formats 0xffffffff80713d40 : "irq_handler_entry: irq=%d handler=%s\n" 0xffffffff80713d48 : "lock_acquire: %s%s%s\n" 0xffffffff80713d50 : "lock_release: %s\n" Signed-off-by: Steven Rostedt commit e9fb2b6d5845e24f104713591286b6f39761c027 Author: Steven Rostedt Date: Thu Mar 12 14:19:25 2009 -0400 tracing: have event_trace_printk use static tracer Impact: speed up on event tracing The event_trace_printk is currently a wrapper function that calls trace_vprintk. Because it uses a variable for the fmt it misses out on the optimization of using the binary printk. This patch makes event_trace_printk into a macro wrapper to use the fmt as the same as the trace_printks. Signed-off-by: Steven Rostedt commit 828275574e0161bdddb5817d4bd76a0265ef0470 Author: Steven Rostedt Date: Thu Mar 12 14:14:31 2009 -0400 tracing: make bprint event use the proper event id The bprint record is using TRACE_PRINT when it should be TRACE_BPRINT. Signed-off-by: Steven Rostedt commit 48ead02030f849d011259244bb4ea9b985479006 Author: Frederic Weisbecker Date: Thu Mar 12 18:24:49 2009 +0100 tracing/core: bring back raw trace_printk for dynamic formats strings Impact: fix callsites with dynamic format strings Since its new binary implementation, trace_printk() internally uses static containers for the format strings on each callsites. But the value is assigned once at build time, which means that it can't take dynamic formats. So this patch unearthes the raw trace_printk implementation for the callers that will need trace_printk to be able to carry these dynamic format strings. The trace_printk() macro will use the appropriate implementation for each callsite. Most of the time however, the binary implementation will still be used. The other impact of this patch is that mmiotrace_printk() will use the old implementation because it calls the low level trace_vprintk and we can't guess here whether the format passed in it is dynamic or not. Some parts of this patch have been written by Steven Rostedt (most notably the part that chooses the appropriate implementation for each callsites). Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit db526ca329f855510e8ce672332eba3304aed590 Author: Steven Rostedt Date: Thu Mar 12 13:53:25 2009 -0400 tracing: show that buffer size is not expanded Impact: do not confuse user on small trace buffer sizes When the system boots up, the trace buffer is small to conserve memory. It is only two pages per online CPU. When the tracer is used, it expands to the default value. This can confuse the user if they look at the buffer size and see only 7, but then later they see 1408. # cat /debug/tracing/buffer_size_kb 7 # echo sched_switch > /debug/tracing/current_tracer # cat /debug/tracing/buffer_size_kb 1408 This patch tries to help remove this confustion by showing that the buffer has not been expanded. # cat /debug/tracing/buffer_size_kb 7 (expanded: 1408) Signed-off-by: Steven Rostedt commit 8aabee573dff131a085c63de7667eacd94ba4ccb Author: Steven Rostedt Date: Thu Mar 12 13:13:49 2009 -0400 ring-buffer: remove unneeded get_online_cpus Impact: speed up and remove possible races The get_online_cpus was added to the ring buffer because the original design would free the ring buffer on a CPU that was being taken off line. The final design kept the ring buffer around even when the CPU was taken off line. This is to allow a user to still read the information on that ring buffer. Most of the get_online_cpus are no longer needed since the ring buffer will not disappear from the use cases. Reported-by: KOSAKI Motohiro Signed-off-by: Steven Rostedt commit 59222efe2d184956464abe5b637bc842ff053b93 Author: Steven Rostedt Date: Thu Mar 12 11:46:03 2009 -0400 ring-buffer: use CONFIG_HOTPLUG_CPU not CONFIG_HOTPLUG The hotplug code in the ring buffers is for use with CPU hotplug, not generic hotplug. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 1027fcb206a0fb8348e63aff078c74bdee1c2698 Author: Steven Rostedt Date: Thu Mar 12 11:33:20 2009 -0400 tracing: protect ring_buffer_expanded with trace_types_lock Impact: prevent races with ring_buffer_expanded This patch places the expanding of the tracing buffer under the protection of the trace_types_lock mutex. It is highly unlikely that there would be any contention, but better safe than sorry. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit a123c52b46a1f84bcec3dc963351896c6d6afaf7 Author: Steven Rostedt Date: Thu Mar 12 11:21:08 2009 -0400 tracing: fix comments about trace buffer resizing Impact: cleanup Some of the comments about the trace buffer resizing is gobbledygook. And I wonder why people question if I'm a native English speaker. This patch makes the comments make a bit more sense. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 25d500067d5a666d1336598d1b324793554e5496 Merge: 0b13fda... 9ead649... Author: Ingo Molnar Date: Fri Mar 13 02:14:25 2009 +0100 Merge branch 'linus' into core/ipi commit 51b643b404827d8fde60d7953773a42d46ca87e0 Merge: 554f786... 480c93d... Author: Steven Rostedt Date: Thu Mar 12 21:12:46 2009 -0400 Merge branch 'tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/ftrace-merge commit 480c93df5b99699390f93a7024c9f60d09da0e96 Merge: aecfcde... d820ac4... Author: Ingo Molnar Date: Fri Mar 13 01:33:21 2009 +0100 Merge branch 'core/locking' into tracing/ftrace commit d820ac4c2fa881079e6b689d2098adce337558ae Author: Ingo Molnar Date: Fri Mar 13 01:30:40 2009 +0100 locking: rename trace_softirq_[enter|exit] => lockdep_softirq_[enter|exit] Impact: cleanup The naming clashes with upcoming softirq tracepoints, so rename the APIs to lockdep_*(). Requested-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3c1f67d60e2b4f4455563928999fd41cc653645d Merge: 03d7891... 9ead649... Author: Ingo Molnar Date: Fri Mar 13 01:29:17 2009 +0100 Merge branch 'linus' into core/locking commit f061d35150003b7fd5b133d14d66a74500fdaa60 Author: Darren Hart Date: Thu Mar 12 15:11:18 2009 -0700 futex: remove the pointer math from double_unlock_hb Impact: simplify code I mistakenly included the pointer value ordering in the double_unlock_hb() in my previous patch. It's only necessary in the double_lock_hb() function. This patch removes it. Signed-off-by: Darren Hart Acked-by: Peter Zijlstra Cc: Rusty Russell LKML-Reference: <20090312221118.11146.68610.stgit@Aeon> Signed-off-by: Ingo Molnar commit 16a6791934a1077609482dd6c091aa8b4c39a834 Author: H. Peter Anvin Date: Thu Mar 12 13:43:14 2009 -0700 x86: use targets in the boot Makefile instead of CLEAN_FILES Impact: cleanup Instead of using CLEAN_FILES in arch/x86/Makefile, add generated files to targets in arch/x86/boot/Makefile, so they will get naturally cleaned up by "make clean". Cc: Sam Ravnborg Signed-off-by: H. Peter Anvin commit f9c5107c2bcad91dd56d23888653d7bfa1a9696e Author: H. Peter Anvin Date: Thu Mar 12 12:50:33 2009 -0700 x86: remove additional vestiges of the zImage/bzImage split Impact: cleanup Remove targets that were used for zImage only, and Makefile infrastructure that was there to support the zImage/bzImage split. Reported-by: Paul Bolle LKML-Reference: <1236879901.24144.26.camel@test.thuisdomein> Signed-off-by: H. Peter Anvin commit e4707dd3e9d0cb57597b6568a5e51fea5d6fca41 Author: Paul Walmsley Date: Thu Mar 12 20:11:43 2009 +0100 [ARM] 5422/1: ARM: MMU: add a Non-cacheable Normal executable memory type This patch adds a Non-cacheable Normal ARM executable memory type, MT_MEMORY_NONCACHED. On OMAP3, this is used for rapid dynamic voltage/frequency scaling in the VDD2 voltage domain. OMAP3's SDRAM controller (SDRC) is in the VDD2 voltage domain, and its clock frequency must change along with voltage. The SDRC clock change code cannot run from SDRAM itself, since SDRAM accesses are paused during the clock change. So the current implementation of the DVFS code executes from OMAP on-chip SRAM, aka "OCM RAM." If the OCM RAM pages are marked as Cacheable, the ARM cache controller will attempt to flush dirty cache lines to the SDRC, so it can fill those lines with OCM RAM instruction code. The problem is that the SDRC is paused during DVFS, and so any SDRAM access causes the ARM MPU subsystem to hang. TI's original solution to this problem was to mark the OCM RAM sections as Strongly Ordered memory, thus preventing caching. This is overkill: since the memory is marked as non-bufferable, OCM RAM writes become needlessly slow. The idea of "Strongly Ordered SRAM" is also conceptually disturbing. Previous LAKML list discussion is here: http://www.spinics.net/lists/arm-kernel/msg54312.html This memory type MT_MEMORY_NONCACHED is used for OCM RAM by a future patch. Cc: Richard Woodruff Signed-off-by: Paul Walmsley Signed-off-by: Russell King commit 7687fb9209422d35334995b8ace38de92e595d16 Author: Chauhan, Vijay Date: Wed Mar 4 12:17:54 2009 +0530 [SCSI] scsi_dh_rdac: Retry mode select for NO_SENSE, ABORTED_COMMAND, UNIT_ATTENTION, NOT_READY(02/04/01) This patch is to add retry for mode select if mode select command is returned with sense NO_SENSE, UNIT_ATTENTION, ABORTED_COMMAND, NOT_READY(02/04/01). This patch reorganise the sense keys from if-else to switch-case format for better maintainability. Signed-off-by: Vijay Chauhan Acked-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 0282985da5923fa6365adcc1a1586ae0c13c1617 Author: Christof Schmitt Date: Mon Mar 2 13:09:06 2009 +0100 [SCSI] zfcp: Report fc_host_port_type as NPIV Report the fc_host_port_type as FC_PORTTYPE_NPIV when the subchannel is running in NPIV mode. This allows to see the correct type with lsscsi -H -t --list Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6d1a27f630f1d30bf85c61ec0436c287d0945fcc Author: Swen Schillig Date: Mon Mar 2 13:09:11 2009 +0100 [SCSI] zfcp: Ensure all work is cancelled on adapter dequeue A scheduled work might still be pending, running while the adapter is in progress to get dequeued from the system. This can lead to an invalid pointer dereference (Oops). Once the adpater is set online again, ensure the nameserver environment is initialized to the appropriate values again. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 947a9aca86eb2a921ed7aa92397cf7f38b896f90 Author: Swen Schillig Date: Mon Mar 2 13:09:10 2009 +0100 [SCSI] zfcp: fix queue, scheduled work processing. Ensure the refcounting is correct even if we were not able to schedule a work. In addition we have to make sure no scheduled work is pending while we're dequeing the adapter from the systems environment. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 2cb5b2ca6dddcdfb0e220f18b4612890a23a1c92 Author: Martin Petermann Date: Mon Mar 2 13:09:09 2009 +0100 [SCSI] zfcp: erp failed status bit will not be set It will not be necessary to set the erp failed status bit in case a SCSI device is removed by the SCSI mid layer. In the case a SCSI device is unavailable for a short time (15 to 20 seconds) a FCP unit will not get on-line again. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a2fa0aede07c9488239dcac1eae58233181c355a Author: Christof Schmitt Date: Mon Mar 2 13:09:08 2009 +0100 [SCSI] zfcp: Block FC transport rports early on errors Use the I/O blocking mechanism in the FC transport class to allow faster failovers for multipathing: - Call fc_remote_port_delete early to set the rport to BLOCKED. - Check the rport status in queuecommand with fc_remote_portchkready to no longer accept new I/O for this port and fail the I/O with the appropriate scsi_cmnd result. - Implement the terminate_rport_io handler to abort all pending I/O requests - Return SCSI commands with DID_TRANSPORT_DISRUPTED while erp is running. - When updating the remote port status, check for late changes and update the remote ports status accordingly. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 24095490681d130979c18685dc0b5a308057e225 Author: Swen Schillig Date: Mon Mar 2 13:09:07 2009 +0100 [SCSI] zfcp: incorrect reaction on incoming RSCN After an error condition resolved a remote storage port was never re-opened. The incoming RSCN was not processed accordingly due to a misinterpreted status flag / return value combination. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 21ddaa53f92dba820a3778978e617f20ecb6ab6f Author: Christof Schmitt Date: Mon Mar 2 13:09:05 2009 +0100 [SCSI] zfcp: Remove PCI flag The usage of the PCI flag to trigger interrupts is optional. Even without setting the flag, qdio still receives interrupts to continue working on the queue. Remove the PCI flag from zfcp, it is not necessary. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5ffd51a5e495a2a002efd523aef0001912b080bd Author: Swen Schillig Date: Mon Mar 2 13:09:04 2009 +0100 [SCSI] zfcp: replace current ERP logging with a more convenient version The current number based id ERP logging is replaced by a string based tag version. The benefit is an easier location of the code in question and the removal of the lengthy array referencing the individual messages. The string (7 bytes) based version does not use more space since those bytes were "used" anyway due to the alignment of the structure. The encoding of the 7 byte string is as follows [0-1] = filename [2-5] = task/function [6] = section Due to the character of this string (fixed length) a string termination is not required here. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit cf13c08223148e525d28f4a740f2e73518ec6abe Author: Swen Schillig Date: Mon Mar 2 13:09:03 2009 +0100 [SCSI] zfcp: prevent adapter close on initial adapter open An adapter close was always performed whether it was required, (e.g. in an error scenario) or not (e.g. initial open). This patch is changing the process in only doing an adapter close when it is required. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 21283916322f579a580e413652cdefbfa3ec676f Author: Swen Schillig Date: Mon Mar 2 13:09:02 2009 +0100 [SCSI] zfcp: remove undefined subtype for status read response The status read response FSF_STATUS_READ_SUB_ERROR_PORT is not defined in the specs and therefore not valid. All occurrences are removed from the code. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 8fdf30d5429605a4c30cc515c73e5eab140035de Author: Christof Schmitt Date: Mon Mar 2 13:09:01 2009 +0100 [SCSI] zfcp: Send ELS ADISC from workqueue Issue ELS ADISC requests from workqueue. This allows the link test request to be sent when the request queue is full due to I/O load for other remote ports. It also simplifies request queue locking, zfcp_fsf_send_fcp_command_task is now the only function that has interrupts disabled from the caller. This is also a prereq for the FC passthrough support that issues ELS requests from userspace. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 63caf367e1c92e0667a344d9b687c04e6ef054b5 Author: Christof Schmitt Date: Mon Mar 2 13:09:00 2009 +0100 [SCSI] zfcp: Improve reliability of SCSI eh handlers in zfcp When the SCSI midlayer is running error recovery, the low-level error recovery in zfcp could be running and preventing the SCSI midlayer to issue error recovery requests. To avoid unnecessary error recovery escalation, wait for the zfcp erp to finish and retry if necessary. While reworking the SCSI eh handlers, alsa cleanup the code and simplify the interface from zfcp_scsi to the fsf layer. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 92cab0d93a1107ad7f6d827fde62d1aa4db15e86 Author: Christof Schmitt Date: Mon Mar 2 13:08:59 2009 +0100 [SCSI] zfcp: Wait for free SBALs when possible For calls from zfcp erp, scsi_eh and sysfs switch the calls issuing FSF requests to zfcp_fsf_req_sbal_get to wait for free SBALs. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 52bfb558d2803590f86360ec3af1750897a9c010 Author: Christof Schmitt Date: Mon Mar 2 13:08:58 2009 +0100 [SCSI] zfcp: Only increment req_id for successfully issued requests Only increment the req_id for successfully issued requests. This avoids some confusion when debugging issued fsf requests. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 49f0f01c9966639f8fd7ce784a412e22057d9f2a Author: Christof Schmitt Date: Mon Mar 2 13:08:57 2009 +0100 [SCSI] zfcp: Simplify latency lock handling The lock only needs to protect the softirq context called from qdio against the userspace context called from sysfs. spin_lock and spin_lock_bh is enough. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 94506fd1483b39cd5d66b8ccb4ead3c9cc9542ac Author: Martin Peschke Date: Mon Mar 2 13:08:56 2009 +0100 [SCSI] zfcp: add measurement data for average qdio queue utilisation Provide measurement data for the utilisation of the QDIO outbound queue. The additional value allows to calculate an average queue utilisation by looking at the deltas per time unit. Needed for capacity planning. It is up to user space to handle wrap-arounds of the 64 bit value. The new counter neatly complements the existing counter for queue full conditions. That is why, both statistics counter have been integrated. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 86f8a1b4b472e4b2b58df5826709d4797d84d46f Author: Christof Schmitt Date: Mon Mar 2 13:08:55 2009 +0100 [SCSI] zfcp: Remove UNIT_REGISTERED status flag Use the device pointer in zfcp_unit for tracking if we have a registered SCSI device. With this approach, the flag ZFCP_STATUS_UNIT_REGISTERED is only redundant and can be removed. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a5b11dda12ed7e3a79180b10ad6209a40a02989f Author: Christof Schmitt Date: Mon Mar 2 13:08:54 2009 +0100 [SCSI] zfcp: Remove some port flags PORT_PHYS_CLOSING is only set and cleared, but not actually used for status checking. PORT_INVALID_WWPN is set when the GID_PN request does not return a d_id for a remote port, e.g. when a remote port has been unplugged. For this case, the d_id is zero. In the erp we can check the d_id and use the normal escalation procedure that gives up after three retries and remove the special case. PORT_NO_WWPN is unused: Each port in the remote port list has a valid wwpn. The WKA ports are now tracked outside the port list. Remove the PORT_NO_WWPN flag, since this is no longer set for any port. Acked-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 77c019768f0607c36e25bec11ce3e1eabef09277 Author: Alan Stern Date: Fri Feb 27 16:51:42 2009 -0500 [SCSI] fix /proc memory leak in the SCSI core The SCSI core calls scsi_proc_hostdir_add() from within scsi_host_alloc(), but the corresponding scsi_proc_hostdir_rm() routine is called from within scsi_remove_host(). As a result, if a host is allocated and then deallocated without ever being registered, the host's directory in /proc is leaked. This patch (as1181b) fixes this bug in the SCSI core by moving scsi_proc_hostdir_rm() into scsi_host_dev_release(). Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit 058bb82c5628c88af802c19e2b56ae43551552d5 Author: Tony Battersby Date: Thu Jan 8 12:59:08 2009 -0500 [SCSI] sym53c8xx: don't flood syslog with negotiation messages sym53c8xx prints a negotiation message after every check condition. This can add up to a lot of messages for removable-medium devices (CD-ROM, tape drives, etc.) that are being polled, since they return check condition when no medium is present. This patch suppresses the negotiation message if it would be the same as the last one printed. Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit c2fd206e08cd55e7ee0d865affc172eb5af01c16 Author: Tony Battersby Date: Thu Jan 8 12:58:04 2009 -0500 [SCSI] sym53c8xx: use a queue depth of 1 for untagged devices sym53c8xx uses a command queue depth of 2 for untagged devices, without good reason. This _mostly_ seems to work ok, but it has caused me some subtle problems. For example, I have an application where one thread sends write commands to a tape drive, and another thread sends log sense polling commands. With a queue depth of 2, the polling commands end up being starved for long periods of time while multiple write commands are serviced (this may also be related to the fact the the sg driver queues commands in LIFO order). This problem is fixed by changing the queue depth to 1 for untagged devices. I have tested this change extensively with many different tape drives, medium changers, and disk drives (disk drives of course use tagged commands and are therefore unaffected by this patch). Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit 783fa7311b2c639f39c6163f9fbb05253fb2d702 Author: Tony Battersby Date: Thu Jan 8 12:56:58 2009 -0500 [SCSI] sym53c8xx: handle pci_iomap() failures sym_init_device() doesn't check if pci_iomap() fails. It also tries to map device RAM without first checking FE_RAM. 1) Move some initialization from sym_init_device() to the top of sym2_probe(). 2) Rename sym_init_device() to sym_iomap_device(). 3) Call sym_iomap_device() after sym_check_supported() instead of before so that device->chip.features will be set. 4) Check FE_RAM in sym_iomap_device() before mapping RAM. 5) If sym_iomap_device() cannot map registers, then abort. 6) If sym_iomap_device() cannot map RAM, then fall back to not using RAM and continue. 7) Remove the check for FE_RAM in sym_attach() since dev->ram_base is now always set correctly. Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit a71d035de835caa7d14ef69928e0fde9fc241cc0 Author: Tony Battersby Date: Thu Jan 8 12:55:52 2009 -0500 [SCSI] sym53c8xx: unmap pci memory after probe errors During sym2_probe(), sym_init_device() does pci_iomap(), but there is no corresponding pci_iounmap() if an error occurs before sym_attach() copies sym_device::s.{ioaddr,ramaddr} to np. 1) Add the sym_iounmap_device() function. 2) Call sym_iounmap_device() if an error occurs between sym_init_device() and the time sym_attach() allocates np. 3) Make sym_attach() copy sym_device::s.{ioaddr,ramaddr} to np before calling any function that can fail so that sym_free_resources() will do the unmap instead of sym_iounmap_device(). Also fixed by this patch: During sym2_probe(), if sym_check_raid() returns nonzero, then pci_release_regions() is never called. Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit b409063a9b7a56c0d658feaffedeb74ad71edce7 Author: Tony Battersby Date: Thu Jan 8 12:54:45 2009 -0500 [SCSI] sym53c8xx: fix bogus free_irq() on error path If sym_attach() gets an error at or before request_irq(), then sym_free_resources() will call free_irq() for an unregistered interrupt handler. Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit 07b9d81e849f64b990e943de6ad75b63dafe5a4b Author: Tony Battersby Date: Thu Jan 8 12:53:37 2009 -0500 [SCSI] sym53c8xx: fix NULL deref on error path If sym_attach() fails to allocate np, the error path will dereference a NULL pointer for printk. Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit d3ce65d12668ef1e3a164d48e04c59228d5ecf7b Author: Tony Battersby Date: Thu Jan 8 12:52:32 2009 -0500 [SCSI] sym53c8xx: fix shost use-after-free and memory leak This patch fixes two bugs: 1) rmmod sym53c8xx uses shost after freeing it with scsi_put_host(shost). 2) insmod sym53c8xx doesn't call scsi_put_host(shost) if scsi_add_host() fails, causing a memory leak on the error path. Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit 2cf22be045ee1b29f9ce5cf4f4552811bb24916a Author: Wayne Boyer Date: Tue Feb 24 11:36:00 2009 -0800 [SCSI] ipr: Expose debug and fastfail parameters Expose the debug and fastfail parameters to /sys/module/ipr/parameters such that they can be enabled/disabled at run time. Signed-off-by: Wayne Boyer Acked-by: Brian King Signed-off-by: James Bottomley commit 5c211caa9f341f9eefbda89436d1440d1eccb3bc Author: Alan Stern Date: Wed Feb 18 10:54:44 2009 -0500 [SCSI] sd: tell the user when a disk's capacity is adjusted This patch (as1188) combines the tests for decrementing a drive's reported capacity and expands the comment. It also adds an informational message to the system log, informing the user when the reported value has been changed. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit b3f1f9aa082b2ab86dec4db3d8b1566af345387e Author: Roel Kluin Date: Tue Feb 17 16:59:24 2009 +0100 [SCSI] ses: code_set == 1 is tested twice Signed-off-by: Roel Kluin Signed-off-by: James Bottomley commit 3442f802a8169a0c18d411d95f0e71b9205ed607 Author: FUJITA Tomonori Date: Mon Feb 16 13:26:53 2009 +0900 [SCSI] sg: remove the own list management for struct sg_fd This replaces the own list management for struct sg_fd with the standard list_head structure. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit b2ed6c69aa3c1a3f496e2a72f770d53069371df3 Author: FUJITA Tomonori Date: Thu Feb 12 02:42:57 2009 +0900 [SCSI] sg: use ALIGN macro This changes sg_build_indirect() to use ALIGN macro instead of calculating by hand. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 2134bc72ddc04d412c0c2ce93a9c6f19de6cac35 Author: FUJITA Tomonori Date: Thu Feb 12 02:42:56 2009 +0900 [SCSI] sg: remove unnecessary function declarations Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit aa6cd29b72a5d8e6e5c8f536bc48693824ebfe09 Author: Julia Lawall Date: Wed Feb 4 22:17:29 2009 +0100 [SCSI] libfc: Correct use of ! and & !ep->esb_stat is either 1 or 0, and the rightmost bit of ESB_ST_COMPLETE is always 0, making the result of !ep->esb_stat & ESB_ST_COMPLETE always 0. Thus parentheses around the argument to ! seem needed. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ ( !E & !C | - !E & C + !(E & C) ) // Signed-off-by: Julia Lawall Signed-off-by: James Bottomley commit f290f1970f01287eaaffc798a677594a57ebd65e Author: James Bottomley Date: Sun Feb 8 21:59:48 2009 -0600 [SCSI] Make scsi.h independent of the rest of the scsi includes This allows it to compile and be used on the ps3 platform that wants to use the #define values in scsi.h without actually having CONFIG_SCSI set. Signed-off-by: James Bottomley commit 97218a1499391b174ea95e05b7a40fbb73e79813 Author: Boaz Harrosh Date: Sun Feb 8 18:02:22 2009 +0200 [SCSI] libosd: Fix NULL dereference BUG when target is not OSD conformant Very old OSC's Target had a BUG in the Get/Set attributes where it was looking in the wrong places for attribute lists length. If used with the open-osd initiator, the initiator would dereference a NULL pointer when retrieving system_information attributes. Checks are added that retrieval of each attribute is successful before accessing its value. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit c96952ed7031e7c576ecf90cf95b8ec099d5295a Author: FUJITA Tomonori Date: Wed Feb 4 11:36:27 2009 +0900 [SCSI] sg: avoid blk_put_request/blk_rq_unmap_user in interrupt This fixes the following oops: http://marc.info/?l=linux-kernel&m=123316111415677&w=2 You can reproduce this bug by interrupting a program before a sg response completes. This leads to the special sg state (the orphan state), then sg calls blk_put_request in interrupt (rq->end_io). The above bug report shows the recursive lock problem because sg calls blk_put_request in interrupt. We could call __blk_put_request here instead however we also need to handle blk_rq_unmap_user here, which can't be called in interrupt too. In the orphan state, we don't need to care about the data transfer (the program revoked the command) so adding 'just free the resource' mode to blk_rq_unmap_user is a possible option. I prefer to avoid complicating the blk mapping API when possible. I change the orphan state to call sg_finish_rem_req via execute_in_process_context. We hold sg_fd->kref so sg_fd doesn't go away until keventd_wq finishes our work. copy_from_user/to_user fails so blk_rq_unmap_user just frees the resource without the data transfer. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit a3b7aeaba29e3dd995ece05ba50db9e0650c16b6 Author: Brian King Date: Mon Feb 2 18:39:40 2009 -0600 [SCSI] ibmvfc: Better handle other FC initiators The ibmvfc driver currently always sets the role of all rports to FC_PORT_ROLE_FCP_TARGET, which is not correct for other initiators. This can cause problems if other initiators are on the fabric when we then try to scan the rport for LUNs. Fix this by looking at the service parameters returned in the PRLI to set the roles appropriately. Also look at the returned service parameters to decide whether or not we were actually able to successfully log into the target. Signed-off-by: Brian King Signed-off-by: James Bottomley commit ea41e41588c248ee8b8162869c1e1c0565a4b3f6 Author: Chauhan, Vijay Date: Mon Jan 26 21:29:37 2009 +0530 [SCSI] scsi_dh_rdac: Retry for Quiescence in Progress in rdac device handler During device discovery read capacity fails with 0x068b02 and sets the device size to 0. As a reason any I/O submitted to this path gets killed at sd_prep_fn with BLKPREP_KILL. This patch is to retry for 0x068b02 Signed-off-by: Vijay Chauhan Acked-by: Chandra Seetharaman Signed-off-by: James Bottomley commit b75424fcfe8fae56344a65e3f04bbc7e975e750e Author: Wayne Boyer Date: Wed Jan 28 08:24:50 2009 -0800 [SCSI] ipr: add message to error table Adds a message to the error table for an error that wasn't previously handled. In some cases the I/O Adapter will detect an error condition and mark a block as "logically bad". Signed-off-by: Wayne Boyer Signed-off-by: James Bottomley commit 4d086f6baf73c02d12482c27c9f1e0682825ca13 Author: Ilgu Hong Date: Fri Jan 30 17:00:11 2009 -0600 [SCSI] scsi dh alua: handle report luns data changed in check sense callout When we switch controllers the Intel Multi-Flex reports REPORTED_LUNS_DATA_HAS_CHANGED. This patch just has us retry the command. Signed-off-by: Ilgu Hong Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 49baef0a5dc3c964601c656c1bb2c3458a6934c6 Author: Ilgu Hong Date: Fri Jan 30 17:00:10 2009 -0600 [SCSI] scsi dh alua: add intel Multi-Flex device This adds the Intel Multi-Flex device to scsi_dh_alua's scsi_dh_devlist, so the module attaches to these devs. Signed-off-by: Ilgu Hong Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ef3fa8c6a2e7c53dbaf2eb33a09ad05177425f12 Author: Ilgu Hong Date: Fri Jan 30 17:00:09 2009 -0600 [SCSI] scsi dh alua: fix group id masking The buf[i] is a byte but we are only asking 4 bits off the group_id. This patch has us take off a byte. Signed-off-by: Ilgu Hong Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f078727b250c2653fc9a564f15547c17ebac3f99 Author: FUJITA Tomonori Date: Sun Dec 14 01:23:45 2008 +0900 [SCSI] remove scsi_req_map_sg No one uses scsi_execute_async with data transfer now. We can remove scsi_req_map_sg. Only scsi_eh_lock_door uses scsi_execute_async. scsi_eh_lock_door doesn't handle sense and the callback. So we can remove scsi_io_context too. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 26243043f207b3faa00594a33e10b2103205f27b Author: FUJITA Tomonori Date: Sun Dec 14 00:55:18 2008 +0900 [SCSI] osst: replace scsi_execute_async with the block layer API This replaces scsi_execute_async with the block layer API. st does the same thing so it might make sense to have something like libst (there are other things that os and osst can share). Signed-off-by: FUJITA Tomonori Cc: Willem Riede Signed-off-by: James Bottomley commit 78a42ce8fb2604c459e9ebb2a4f2d546b8250111 Author: FUJITA Tomonori Date: Sun Dec 14 00:55:17 2008 +0900 [SCSI] osst: make all the buffer the same size This simiplifies the buffer management; all the buffers in osst_buffer become the same size. This is necessary to use the block layer API (sg driver was modified in the same way) since the block layer API takes the same size page frames instead of scatter gatter. Signed-off-by: FUJITA Tomonori Cc: Willem Riede Signed-off-by: James Bottomley commit 68274794c69991121eaf0a4a35b78aa7f088ec2c Author: Boaz Harrosh Date: Sun Jan 25 17:24:14 2009 +0200 [SCSI] scsi: Add osd library to build system OSD in kernel source code is assumed to be at: drivers/scsi/osd/ with its own Makefile and Kconfig Add includes to them from drivers/scsi Makefile and Kconfig Add OSD to MAINTAINERS file Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit 6864abd8b730435d6ae9cb061095229a5a85153f Author: Boaz Harrosh Date: Sun Jan 25 17:22:52 2009 +0200 [SCSI] osd: Kconfig file for in-tree builds Kconfig file for the drivers/scsi/osd subdirectory. Adds the following config items: config SCSI_OSD_INITIATOR config SCSI_OSD_ULD config SCSI_OSD_DPRINT_SENSE config SCSI_OSD_DEBUG Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit 78e0c621deca08e5f802383dbe75fd20b258ea4e Author: Boaz Harrosh Date: Sun Jan 25 17:21:40 2009 +0200 [SCSI] osd: Documentation for OSD library Add osd.txt to Documentation/scsi/ Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit 98f3aea2bd4b4f9cd7a6a6479ed9410787f756fd Author: Boaz Harrosh Date: Sun Jan 25 17:15:16 2009 +0200 [SCSI] libosd: SCSI/OSD Sense decoding support Implementation of the osd_req_decode_sense() API. Can be called by library users to decode what failed in command executions. Add SCSI_OSD_DPRINT_SENSE Kconfig variable. Possible values are: 0 - Do not print any errors to messages file 1 - (Default) Print only decoded errors that are not recoverable. Recoverable errors are those that the target has complied with the request but with a warning. For example read passed end of object will return zeros after the last valid byte. 2- Print all errors. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 1b9dce94c8a24a3f1a01fcdf688f2d903b32acdf Author: Boaz Harrosh Date: Sun Jan 25 17:13:38 2009 +0200 [SCSI] libosd: OSDv2 auto detection Auto detect an OSDv2 or OSDv1 target at run time. Note how none of the OSD API calls change. The tests do not know what device version it is. This test now passes against both the IBM-OSD-SIM OSD1 target as well as OSC's OSD2 target. Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit c6572c983726fe3f3bb5f07e9afe3a9b8e402d1b Author: Boaz Harrosh Date: Sun Jan 25 17:09:40 2009 +0200 [SCSI] libosd: OSD version 2 Support Add support for OSD2 at run time. It is now possible to run with both OSDv1 and OSDv2 targets at the same time. The actual detection should be preformed by the security manager, as the version is encoded in the capability structure. Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit ae30c994a4bb70510fdcb9e7223805bb2a8bc9ee Author: Boaz Harrosh Date: Sun Jan 25 17:07:14 2009 +0200 [SCSI] libosd: Not implemented commands Some commands declared in header are not yet implemented. Put them as stubs in .c file, just so they take their place in the file Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit 3e08613037fd4ec0b716a215602c4bdb3d0d9171 Author: Boaz Harrosh Date: Sun Jan 25 17:05:07 2009 +0200 [SCSI] libosd: Add Flush and List-objects support Add support for the various List-objects commands. List-partitions-in-device, List-collections-in-partition, List-objects-in-partition, List-objects-in-collection. All these support partial listing and continuation. Add support for the different Flush commands and options. Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit 345c435dbb0b77b00ffe73801102533e24c647af Author: Boaz Harrosh Date: Sun Jan 25 17:03:07 2009 +0200 [SCSI] libosd: OSD Security processing stubs Layout the signing of OSD's CDB and all-data security modes. The actual code for signing the data and CDB is missing, but the code flow and the extra buffer segments are all in place. Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit 4ef1a3d70d02663f6bfe901db629e8e608da15b1 Author: Boaz Harrosh Date: Sun Jan 25 16:59:50 2009 +0200 [SCSI] libosd: attributes Support Support for both List-Mode and Page-Mode osd attributes. One of these operations may be added to most other operations. Define the OSD standard's attribute pages constants and structures (osd_attributes.h) Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit b799bc7da0ce5ba4a988c521a8fb10452eb419f0 Author: Boaz Harrosh Date: Sun Jan 25 16:58:03 2009 +0200 [SCSI] osd_uld: API for retrieving osd devices from Kernel Kernel clients like exofs can retrieve struct osd_dev(s) by means of below API. + osduld_path_lookup() - given a path (e.g "/dev/osd0") locks and returns the corresponding struct osd_dev, which is then needed for subsequent libosd use. + osduld_put_device() - free up use of an osd_dev. Devices can be shared by multiple clients. The osd_uld_device's life time is governed by an embedded kref structure. The osd_uld_device holds an extra reference to both it's char-device and it's scsi_device, and will release these just before the final deallocation. There are three possible lock sources of the osd_uld_device 1. First and for most is the probe() function called by scsi-ml upon a successful login into a target. Released in release() when logout. 2. Second by user-mode file handles opened on the char-dev. 3. Third is here by Kernel users. All three locks must be removed before the osd_uld_device is freed. The MODULE has three lock sources as well: 1. scsi-ml at probe() time, removed after release(). (login/logout) 2. The user-mode file handles open/close. 3. Import symbols by client modules like exofs. TODO: This API is not enough for the pNFS-objects LD. A more versatile API will be needed. Proposed API could be: struct osd_dev *osduld_sysid_lookup(const char id[OSD_SYSTEMID_LEN]); Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 95b05a7db5865855c32e0bb8b244c3a7aac1cfeb Author: Boaz Harrosh Date: Sun Jan 25 16:56:47 2009 +0200 [SCSI] osd_uld: OSD scsi ULD Add a Linux driver module that registers as a SCSI ULD and probes for OSD type SCSI devices. When an OSD-type SCSI device is found a character device is created in the form of /dev/osdX - where X goes from 0 up to hard coded 64. The Major character device number used is 260. Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit 02941a530ef736210b4cf8b24dd34c238d5d5a40 Author: Boaz Harrosh Date: Sun Jan 25 16:55:30 2009 +0200 [SCSI] libosd: OSDv1 preliminary implementation Implementation of the most basic OSD functionality and infrastructure. Mainly Format, Create/Remove Partition, Create/Remove Object, and read/write. - Add Makefile and Kbuild to compile libosd.ko - osd_initiator.c Implementation file for osd_initiator.h and osd_sec.h APIs - osd_debug.h - Some kprintf macro definitions Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit de258bf5e63863f42e0f9a7c5ffd29916a41e399 Author: Boaz Harrosh Date: Sun Jan 25 16:54:10 2009 +0200 [SCSI] libosd: OSDv1 Headers Headers only patch. osd_protocol.h Contains a C-fied definition of the T10 OSD standard osd_types.h Contains CPU order common used types osd_initiator.h API definition of the osd_initiator library osd_sec.h Contains High level API for the security manager. [Note that checkpatch spews errors on things that are valid in this context and will not be fixed] Signed-off-by: Boaz Harrosh Reviewed-by: Benny Halevy Signed-off-by: James Bottomley commit 82443a58d361123d418033e9e32ac29a842fce68 Author: Boaz Harrosh Date: Sun Jan 25 16:51:33 2009 +0200 [SCSI] add OSD_TYPE - Define the OSD_TYPE scsi device and let it show up in scans Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 71969fd9e2c523d22bf1742eb31f1562247710eb Author: Boaz Harrosh Date: Sun Jan 25 16:50:02 2009 +0200 [SCSI] major.h: char-major number for OSD device driver Allocate major 260 for osd. Signed-off-by: Boaz Harrosh CC: Torben Mathiasen Signed-off-by: James Bottomley commit a2dd3b4cea335713b58996bb07b3abcde1175f47 Author: Tony Battersby Date: Tue Jan 20 17:00:09 2009 -0500 [SCSI] sg: fix races with ioctl(SG_IO) sg_io_owned needs to be set before the command is sent to the midlevel; otherwise, a quickly-completing command may cause a different CPU to see "srp->done == 1 && !srp->sg_io_owned", which would lead to incorrect behavior. Check srp->done and set srp->orphan while holding rq_list_lock to prevent races with sg_rq_end_io(). There is no need to check sfp->closed from read/write/ioctl/poll/etc. since the kernel guarantees that this won't happen. The usefulness of sg_srp_done() was questionable before; now it is definitely not needed. Signed-off-by: Tony Battersby Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit c6517b7942fad663cc1cf3235cbe4207cf769332 Author: Tony Battersby Date: Wed Jan 21 14:45:50 2009 -0500 [SCSI] sg: fix races during device removal sg has the following problems related to device removal: * opening a sg fd races with removing a device * closing a sg fd races with removing a device * /proc/scsi/sg/* access races with removing a device * command completion races with removing a device * command completion races with closing a sg fd * can rmmod sg with active commands These problems can cause kernel oopses, memory-use-after-free, or double-free errors. This patch fixes these problems by using krefs to manage the lifetime of sg_device and sg_fd. Each command submitted to the midlevel holds a reference to sg_fd until the completion callback. This ensures that sg_fd doesn't go away if the fd is closed with commands still outstanding. sg_fd gets the reference of sg_device (with scsi_device) and also makes sure that the sg module doesn't go away. /proc/scsi/sg/* functions don't play nicely with krefs because they give information about sg_fds which have been closed but not yet freed due to still having outstanding commands and sg_devices which have been removed but not yet freed due to still being referenced by one or more sg_fds. To deal with this safely without removing functionality, /proc functions now access sg_device and sg_fd while holding a lock instead of using kref_get()/kref_put(). Signed-off-by: Tony Battersby Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit bd5cd9cdc5379088b7e4e9a1757a1d101223a005 Author: Ed Lin - PTU Date: Mon Jan 26 02:42:11 2009 -0800 [SCSI] stex: Version update Update version to 4.6.0000.1 Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 7cfe99a526b92e30df19673b3533f827bbe93821 Author: Ed Lin - PTU Date: Mon Jan 26 02:41:53 2009 -0800 [SCSI] stex: Small fixes Some small fixes, including: - add data direction in req_msg because new firmware version may require this (backward compatible) - change internal timeout value - change judgment of type st_vsc1 - blank line handling, etc. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit e8a091b36cd50faa1276e6934edcc3e8b8e83b5a Author: Ed Lin - PTU Date: Mon Jan 26 02:40:50 2009 -0800 [SCSI] stex: Fix for controller type st_yosemite This is the fix for controller type st_yosemite, including - max_lun is 256 (backward compatible) - remove unneeded special handling of INQUIRY - remove unnecessary listing of sub device ids Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 62e5b3d850f76190633e5a3cc8d6cc611ef96cfc Author: Ed Lin - PTU Date: Mon Jan 26 02:40:29 2009 -0800 [SCSI] stex: Add new device id Add new device id for controller type st_seq. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit dd48ebf7ca4a6e60e6787e443f5316724309865b Author: Ed Lin - PTU Date: Mon Jan 26 02:40:11 2009 -0800 [SCSI] stex: Fix for potential invalid response The interrupt routine is good for normal cases. However, if the firmware is abnormal and returns an invalid response, the driver may reuse a ccb structure that has already been handled. This may cause problem. Fix this by setting the req member to NULL. Next time we know the response is invalid and handle accordingly if req is NULL. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit a4976d688650b4593831fbffbb217f2d916b1aa0 Author: James Bottomley Date: Sun Jan 25 15:09:42 2009 -0600 [SCSI] osst: Remove SUGGEST flags Fix up remaining bit of SUGGEST flag removal done by patch commit 0f10274300857d98ea5ea4c800c561a9ad9ac89f Author: Martin K. Petersen Date: Sun Jan 4 03:14:11 2009 -0500 [SCSI] Remove SUGGEST flags Signed-off-by: James Bottomley commit 1c9fbafc8c629c89183d6dccec67a8415513b0d1 Author: Martin K. Petersen Date: Sun Jan 4 03:14:11 2009 -0500 [SCSI] Remove SUGGEST flags The SUGGEST_* flags in the SCSI command result have been out of fashion for a while and we don't actually use them in the error handling. Remove the remaining occurrences. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 5a9ef25b14d39b8413364df12cb8d9bb7a673a32 Author: Wayne Boyer Date: Fri Jan 23 09:17:35 2009 -0800 [SCSI] ipr: add MSI support Enable MSI if available/supported. Signed-off-by: Wayne Boyer Acked-by: Brian King Signed-off-by: James Bottomley commit 951948a397e3ddc96658efd648b9d66622965b19 Author: Christof Schmitt Date: Thu Jan 15 16:51:48 2009 +0100 [SCSI] scsi_transport_fc: Add missing parenthesis to Point-To-Point description Fix typo by adding closing parenthesis. Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 49799fee82b4f78c45b1926be24e45b5cf667083 Author: Aaro Koskinen Date: Thu Jan 15 17:13:36 2009 +0200 [SCSI] sym53c8xx: Keep transfer negotiations valid (The patch updated based on testing and comments from Tony Battersby.) Change the sym53c8xx_2 driver negotiation logic so that the driver will tolerate better device removals. Negotiation message(s) will be sent with every INQUIRY and REQUEST SENSE command, and whenever there is a change in goals or when the device reports check condition. The patch was made specifically to address the case where you hotswap the disk using remove-single-device/add-single-device commands through /proc/scsi/scsi. Without the patch the driver keeps using old transfer parameters even though the target is reset and reports check condition, so the data transfer of the very first INQUIRY will fail. Signed-off-by: Aaro Koskinen Tested-by: Tony Battersby Signed-off-by: James Bottomley commit 5ef074161b5bcd84acfe19f0ecd72b74765d8770 Author: Robert Love Date: Wed Jan 14 11:14:32 2009 -0800 [SCSI] Improve SCSI_LOGGING Kconfig entry The Kconfig entry for SCSI_LOGGING refers the reader to drivers/scsi/scsi.c, but I didn't find any useful information there. There is certainly logging code in that file, but the logging types and logging levels are described in drivers/scsi/scsi_logging.h. Also, the procfs file referred to in the section is incorrect. It should be /proc/sys/dev/scsi/logging_level and not /proc/scsi/scsi. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 0762a4824d6c6f8eb5d2646dfda95581d99afaa5 Author: Hannes Reinecke Date: Mon Jan 12 09:28:55 2009 +0100 [SCSI] Check for deleted device in scsi_device_online() scsi_device_online() is not just a negation of SDEV_OFFLINE, also devices in state SDEV_DEL are actually offline. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 71fa7421822a251fc3e9ffb54653395b6b964309 Author: Jan Engelhardt Date: Sun Jan 11 10:38:59 2009 +0100 [SCSI] lpfc: constify virtual function tables Signed-off-by: Jan Engelhardt Acked-by: James Smart Signed-off-by: James Bottomley commit 6e7490c73d8cc48e7084ac976c8be7bbaf530acf Author: FUJITA Tomonori Date: Sun Jan 11 17:38:12 2009 +0900 [SCSI] libfc: fix compile warning I got the following warnings on IA64: drivers/scsi/libfc/fc_lport.c: In function 'fc_lport_recv_flogi_req': drivers/scsi/libfc/fc_lport.c:788: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'u64' drivers/scsi/libfc/fc_lport.c:792: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'u64' scsi/libfc/fc_rport.c: In function 'fc_rport_recv_plogi_req': /home/fujita/git/linux-2.6/drivers/scsi/libfc/fc_rport.c:968: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'u64' Signed-off-by: FUJITA Tomonori Cc: Robert Love Signed-off-by: James Bottomley commit d943aeebc5194f3c6a81fb139ba406040324e4f3 Author: Randy Dunlap Date: Mon Jan 12 10:50:58 2009 -0800 [SCSI] libfc: needs CRC32 libfc uses crc32 functions, so cause it to be built via select: drivers/built-in.o: In function `fc_frame_crc_check': (.text+0x75dae): undefined reference to `crc32_le' drivers/built-in.o: In function `fc_fcp_recv': fc_fcp.c:(.text+0x7b919): undefined reference to `crc32_le' fc_fcp.c:(.text+0x7b9d5): undefined reference to `crc32_le' fc_fcp.c:(.text+0x7ba54): undefined reference to `crc32_le' Signed-off-by: Randy Dunlap Acked-by: Robert Love Signed-off-by: James Bottomley commit d0ace3c5eedff92333de0a5dd00cfb78a18b87cd Author: Randy Dunlap Date: Mon Jan 12 10:53:04 2009 -0800 [SCSI] scsi_debug: needs CRC_T10DIF Fix scsi_debug build error: drivers/built-in.o: In function `resp_read': scsi_debug.c:(.text+0x21379a): undefined reference to `crc_t10dif' drivers/built-in.o: In function `resp_write': scsi_debug.c:(.text+0x213fca): undefined reference to `crc_t10dif' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit c6a44287417de1625a59f1d4ae52d033c03b9dab Author: Martin K. Petersen Date: Sun Jan 4 03:08:19 2009 -0500 [SCSI] scsi_debug: DIF/DIX support This patch adds support for DIX and DIF in scsi_debug. A separate buffer is allocated for the protection information. - The dix parameter indicates whether the controller supports DIX (protection information DMA) - The dif parameter indicates whether the simulated storage device supports DIF - The guard parameter switches between T10 CRC(0) and IP checksum(1) - The ato parameter indicates whether the application tag is owned by the disk(0) or the OS(1) - DIF and DIX errors can be triggered using the scsi_debug_opts mask Signed-off-by: Martin K. Petersen Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 59d3270326fcba29226c28df27cb43fefd8c58d0 Author: Randy Dunlap Date: Fri Jan 9 15:28:13 2009 -0800 [SCSI] scsi_sysfs: delete extra kernel-doc Warning(linux-2.6.28-git13//drivers/scsi/scsi_sysfs.c:1049): Excess function parameter 'dev' description in 'scsi_sysfs_add_host' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 40c3460f3cad1672f22baadcdbe20b9b3200cc20 Author: Matthew Wilcox Date: Wed Dec 31 12:11:17 2008 -0700 [SCSI] ses: Use new scsi VPD helper SES had its own code to retrieve VPD from devices; convert it to use the new scsi_get_vpd_page helper. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 881a256d84e658d14ca1c162fe56e9cbbb1cdd49 Author: Matthew Wilcox Date: Wed Dec 31 13:12:46 2008 -0500 [SCSI] Add VPD helper Based on prior work by Martin Petersen and James Bottomley, this patch adds a generic helper for retrieving VPD pages from SCSI devices. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 307282c8990c5658604b9fda8a64a9a07079b850 Author: Takashi Iwai Date: Thu Mar 12 18:17:58 2009 +0100 ALSA: hda - Add model=vaio for STAC9872 Add the default pin config for model=vaio (in case of broken BIOS). Signed-off-by: Takashi Iwai commit 6dc4a47a0cf423879b505af0e29997fca4088630 Author: Linus Walleij Date: Sat Mar 7 00:23:52 2009 +0100 [ARM] 5420/1: MMCI devinit and devexit macros This adds __devinit and __devexit macros to the module probe and remove functions in MMCI. Now includes the __devexit_p() thing too. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 9421f9543b3a0a870499f64498406003de8214b4 Author: Takashi Iwai Date: Thu Mar 12 17:06:07 2009 +0100 ALSA: hda - Print multiple out-amp values of pin widgets on Conext codecs Add a flag to work around the non-standard amp-value handling on Conexant codecs. Signed-off-by: Takashi Iwai commit 3b7523fc828e41b2988feb400704e01b67859d78 Author: Takashi Iwai Date: Thu Mar 12 16:45:01 2009 +0100 ALSA: hda - Add comments for the previous fix for conexant codecs Signed-off-by: Takashi Iwai commit eb5f6d753e337834c7ceb07824ee472e43d9a7a2 Author: Philipp Zabel Date: Thu Mar 12 11:07:54 2009 +0100 ASoC: Replace remaining uses of snd_soc_cnew with snd_soc_add_controls. The drivers are basically duplicating the same code over and over. As snd_soc_cnew is going to be made static some time after the next merge window, we might as well convert them now. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit 6f7cb44ba1a5195bf719f9ba1d57bd79e13262c1 Author: Mark Brown Date: Wed Mar 11 18:31:08 2009 +0000 ASoC: Move WM8580 to normal I2C device probe Refactor the WM8580 device registration to probe via standard I2C device registration, registering the DAIs once the device has probed via I2C. Signed-off-by: Mark Brown commit 5d75bc557859805f00eeddb09d7cc8ffc7e5334e Author: Gregorio Guidi Date: Thu Mar 12 16:41:51 2009 +0100 ALSA: hda - fix headphone settings and master volume (Conexant CX20551) Update the places where the 0x1d widget is used for Conexant 5047, fixing mismatch introduced after changing the connection. Signed-off-by: Gregorio Guidi Signed-off-by: Takashi Iwai commit eb53b4e8fef10ccccb49a6dbb5e19ca84ba5a305 Author: Magnus Damm Date: Thu Mar 12 21:05:59 2009 +0900 irq: export remove_irq() and setup_irq() symbols Export the setup_irq() and remove_irq() symbols. I'd like to export these functions since I have timer code that needs to use setup_irq() early on (too early for request_irq()), and the same code can also be compiled as a module. Signed-off-by: Magnus Damm LKML-Reference: <20090312120559.2926.82371.sendpatchset@rx1.opensource.se> [ changed to _GPL as these are special APIs deep inside the irq layer. ] Signed-off-by: Ingo Molnar commit cbf94f06824780183e4bba165c7c29d5c7bd9a51 Author: Magnus Damm Date: Thu Mar 12 21:05:51 2009 +0900 irq: match remove_irq() args with setup_irq() Modify remove_irq() to match setup_irq(). Signed-off-by: Magnus Damm LKML-Reference: <20090312120551.2926.43942.sendpatchset@rx1.opensource.se> Signed-off-by: Ingo Molnar commit f21cfb258df6dd3ea0b3e56d75c7e994edb81b35 Author: Magnus Damm Date: Thu Mar 12 21:05:42 2009 +0900 irq: add remove_irq() for freeing of setup_irq() irqs Impact: add new API This patch adds a remove_irq() function for releasing interrupts requested with setup_irq(). Without this patch we have no way of releasing such interrupts since free_irq() today tries to kfree() the irqaction passed with setup_irq(). Signed-off-by: Magnus Damm LKML-Reference: <20090312120542.2926.56609.sendpatchset@rx1.opensource.se> Signed-off-by: Ingo Molnar commit f8cb22cbb8383c9f41e6ccbcd4fb94edb1048bda Merge: 044d408... ebdcc81... Author: Ingo Molnar Date: Thu Mar 12 13:16:18 2009 +0100 Merge branch 'linus' into irq/genirq commit 02dde8b45c5460794b9052d7c12939fe3eb63c2c Author: Jan Beulich Date: Thu Mar 12 12:08:49 2009 +0000 x86: move various CPU initialization objects into .cpuinit.rodata Impact: debuggability and micro-optimization Putting whatever is possible into the (final) .rodata section increases the likelihood of catching memory corruption bugs early, and reduces false cache line sharing. Signed-off-by: Jan Beulich LKML-Reference: <49B90961.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 821508d4ef7920283b960057903505fed609fd16 Author: Jan Beulich Date: Thu Mar 12 12:09:57 2009 +0000 x86: move a few device initialization objects into .devinit.rodata Impact: debuggability and micro-optimization Putting whatever is possible into the (final) .rodata section increases the likelihood of catching memory corruption bugs early, and reduces false cache line sharing. Signed-off-by: Jan Beulich LKML-Reference: <49B909A5.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 6a5c05f002c3e4f24887a5fe8e7df757d339d368 Author: Jan Beulich Date: Thu Mar 12 11:54:54 2009 +0000 x86: fix HYPERVISOR_update_descriptor() Impact: fix potential oops during app-initiated LDT manipulation The underlying hypercall has differing argument requirements on 32- and 64-bit. Signed-off-by: Jan Beulich Acked-by: Jeremy Fitzhardinge LKML-Reference: <49B9061E.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit f3b6eaf0149186ad0637512ec363582c91e06ee6 Author: Ingo Molnar Date: Thu Mar 12 12:20:17 2009 +0100 x86: memcpy, clean up Impact: cleanup Make this file more readable by bringing it more in line with the usual kernel style. Signed-off-by: Ingo Molnar commit dd1ef4ec4721ddc0a1f2b73a4f67930cb320665c Author: Jan Beulich Date: Thu Mar 12 10:47:13 2009 +0000 x86-64: remove unnecessary spill/reload of rbx from memcpy Impact: micro-optimization This should slightly improve its performance. Signed-off-by: Jan Beulich LKML-Reference: <49B8F641.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit c2810188c1b810c68139608a207befae0a4f1e69 Author: Jan Beulich Date: Thu Mar 12 10:38:55 2009 +0000 x86-64: move save_paranoid into .kprobes.text Impact: mark save_paranoid as non-kprobe-able code This appears to be necessary as the function gets called from kprobes-unsafe exception handling stubs (i.e. which themselves live in .kprobes.text). Signed-off-by: Jan Beulich LKML-Reference: <49B8F44F.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit 9fa7266c2f0cdfcb09eacba2d3624bec7df78641 Author: Jan Beulich Date: Thu Mar 12 10:34:45 2009 +0000 x86: remove leftover unwind annotations Impact: cleanup These got left in needlessly when ret_from_fork got simplified. Signed-off-by: Jan Beulich LKML-Reference: <49B8F355.76E4.0078.0@novell.com> Signed-off-by: Ingo Molnar commit a98fe7f3425c6b4e90de16f8da63b0429a8fed08 Merge: bb7f5f6... 8229d75... 12074fa... 5e47c47... afcfe02... Author: Ingo Molnar Date: Thu Mar 12 11:50:15 2009 +0100 Merge branches 'x86/asm', 'x86/debug', 'x86/mm', 'x86/setup', 'x86/urgent' and 'linus' into x86/core commit e4dc5b7a36a49eff97050894cf1b3a9a02523717 Author: Darren Hart Date: Thu Mar 12 00:56:13 2009 -0700 futex: clean up fault logic Impact: cleanup Older versions of the futex code held the mmap_sem which had to be dropped in order to call get_user(), so a two-pronged fault handling mechanism was employed to handle faults of the atomic operations. The mmap_sem is no longer held, so get_user() should be adequate. This patch greatly simplifies the logic and improves legibility. Build and boot tested on a 4 way Intel x86_64 workstation. Passes basic pthread_mutex and PI tests out of ltp/testcases/realtime. Signed-off-by: Darren Hart Acked-by: Peter Zijlstra Cc: Rusty Russell LKML-Reference: <20090312075612.9856.48612.stgit@Aeon> Signed-off-by: Ingo Molnar commit e8f6386c01a5699c115bdad10271a24076364c97 Author: Darren Hart Date: Thu Mar 12 00:56:06 2009 -0700 futex: unlock before returning -EFAULT Impact: rt-mutex failure case fix futex_lock_pi can potentially return -EFAULT with the rt_mutex held. This seems like the wrong thing to do as userspace should assume -EFAULT means the lock was not taken. Even if it could figure this out, we'd be leaving the pi_state->owner in an inconsistent state. This patch unlocks the rt_mutex prior to returning -EFAULT to userspace. Build and boot tested on a 4 way Intel x86_64 workstation. Passes basic pthread_mutex and PI tests out of ltp/testcases/realtime. Signed-off-by: Darren Hart Acked-by: Peter Zijlstra Cc: Rusty Russell LKML-Reference: <20090312075606.9856.88729.stgit@Aeon> Signed-off-by: Ingo Molnar commit 16f4993f4e9860715918efd4eeac928f8de1218b Author: Darren Hart Date: Thu Mar 12 00:55:59 2009 -0700 futex: use current->time_slack_ns for rt tasks too RT tasks should set their timer slack to 0 on their own. This patch removes the 'if (rt_task()) slack = 0;' block in futex_wait. Build and boot tested on a 4 way Intel x86_64 workstation. Passes basic pthread_mutex and PI tests out of ltp/testcases/realtime. Signed-off-by: Darren Hart Acked-by: Peter Zijlstra Cc: Rusty Russell Cc: Arjan van de Ven LKML-Reference: <20090312075559.9856.28822.stgit@Aeon> Signed-off-by: Ingo Molnar commit 5eb3dc62fc5986e85715041c23dcf3832812be4b Author: Darren Hart Date: Thu Mar 12 00:55:52 2009 -0700 futex: add double_unlock_hb() Impact: cleanup The futex code uses double_lock_hb() which locks the hb->lock's in pointer value order. There is no parallel unlock routine, and the code unlocks them in name order, ignoring pointer value. This patch adds double_unlock_hb() to refactor the duplicated code segments. Build and boot tested on a 4 way Intel x86_64 workstation. Passes basic pthread_mutex and PI tests out of ltp/testcases/realtime. Signed-off-by: Darren Hart Acked-by: Peter Zijlstra Cc: Rusty Russell LKML-Reference: <20090312075552.9856.48021.stgit@Aeon> Signed-off-by: Ingo Molnar commit de87fcc124a5d4a171aa32707b3265608ebda6e7 Author: Darren Hart Date: Thu Mar 12 00:55:46 2009 -0700 futex: additional (get|put)_futex_key() fixes Impact: fix races futex_requeue and futex_lock_pi still had some bad (get|put)_futex_key() usage. This patch adds the missing put_futex_keys() and corrects a goto in futex_lock_pi() to avoid a double get. Build and boot tested on a 4 way Intel x86_64 workstation. Passes basic pthread_mutex and PI tests out of ltp/testcases/realtime. Signed-off-by: Darren Hart Acked-by: Peter Zijlstra Cc: Rusty Russell LKML-Reference: <20090312075545.9856.75152.stgit@Aeon> Signed-off-by: Ingo Molnar commit b2d0994b1301fc3a6a89e1889578dac9227840e3 Author: Darren Hart Date: Thu Mar 12 00:55:37 2009 -0700 futex: update futex commentary Impact: cleanup The futex_hash_bucket can be a bit confusing when first looking at the code as it is a shared queue (and futex_q isn't a queue at all, but rather an element on the queue). The mmap_sem is no longer held outside of the futex_handle_fault() routine, yet numerous comments refer to it. The fshared argument is no an integer. I left some of these comments along as they are simply removed in future patches. Some of the commentary refering to futexes by virtual page mappings was not very clear, and completely accurate (as for shared futexes both the page and the offset are used to determine the key). For the purposes of the function description, just referring to "the futex" seems sufficient. With hashed futexes we now access the page after the hash-bucket is locked, and not only after it is enqueued. Signed-off-by: Darren Hart Acked-by: Peter Zijlstra Cc: Rusty Russell LKML-Reference: <20090312075537.9856.29954.stgit@Aeon> Signed-off-by: Ingo Molnar commit ff5e2b4732b8386d8354da2cdf7c146487f51736 Author: Randy Dunlap Date: Wed Mar 11 23:24:03 2009 -0700 wimax: fix i2400m printk formats Fix printk format warnings: drivers/net/wimax/i2400m/netdev.c:523: warning: format '%zu' expects type 'size_t', but argument 7 has type 'unsigned int' drivers/net/wimax/i2400m/netdev.c:548: warning: format '%zu' expects type 'size_t', but argument 7 has type 'unsigned int' Signed-off-by: Randy Dunlap Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 554f786e284a6ce859d51f62240d615603944c8e Author: Steven Rostedt Date: Wed Mar 11 22:00:13 2009 -0400 ring-buffer: only allocate buffers for online cpus Impact: save on memory Currently, a ring buffer was allocated for each "possible_cpus". On some systems, this is the same as NR_CPUS. Thus, if a system defined NR_CPUS = 64 but it only had 1 CPU, we could have possibly 63 useless ring buffers taking up space. With a default buffer of 3 megs, this could be quite drastic. This patch changes the ring buffer code to only allocate ring buffers for online CPUs. If a CPU goes off line, we do not free the buffer. This is because the user may still have trace data in that buffer that they would like to look at. Perhaps in the future we could add code to delete a ring buffer if the CPU is offline and the ring buffer becomes empty. Signed-off-by: Steven Rostedt commit 9aba60fe6eb20453de53a572143bef22fa929fba Author: Steven Rostedt Date: Wed Mar 11 19:52:30 2009 -0400 tracing: fix trace_wait to know to wait on all cpus or just one Impact: fix to task live locking on reading trace_pipe on one CPU The same code is used for both trace_pipe (all CPUS) and the per_cpu trace_pipe file. When there is no data to read, it will check for signals and wait on the trace wait queue. The problem happens with the per_cpu wait. The trace_wait code checks all CPUs. Thus, if there's data in another CPU buffer, then it will exit the wait, without checking for signals or waiting on the wait queue. It would then try to read the empty buffer, and since that will just return nothing, then it will try to wait again. Unfortunately, that will again fail due to there still being data in the other buffers. This ends up with a live lock for the task. This patch fixes the trace_wait to be aware that the iterator may only be waiting on a single buffer. Signed-off-by: Steven Rostedt commit 1852fcce181faa237c010a3dbedb473cf9d4555f Author: Steven Rostedt Date: Wed Mar 11 14:33:00 2009 -0400 tracing: expand the ring buffers when an event is activated To save memory, the tracer ring buffers are set to a minimum. The activating of a trace expands the ring buffer size. This patch adds this expanding, when an event is activated. Signed-off-by: Steven Rostedt commit 73c5162aa362a543793f4a957c6c536dcbaa89ce Author: Steven Rostedt Date: Wed Mar 11 13:42:01 2009 -0400 tracing: keep ring buffer to minimum size till used Impact: less memory impact on systems not using tracer When the kernel boots up that has tracing configured, it allocates the default size of the ring buffer. This currently happens to be 1.4Megs per possible CPU. This is quite a bit of wasted memory if the system is never using the tracer. The current solution is to keep the ring buffers to a minimum size until the user uses them. Once a tracer is piped into the current_tracer the ring buffer will be expanded to the default size. If the user changes the size of the ring buffer, it will take the size given by the user immediately. If the user adds a "ftrace=" to the kernel command line, then the ring buffers will be set to the default size on initialization. Signed-off-by: Steven Rostedt commit 64cc2c63694a03393985ffc8b178e72f52dd8a06 Author: Steve French Date: Wed Mar 4 19:54:08 2009 +0000 [CIFS] work around bug in Samba server handling for posix open Samba server (version 3.3.1 and earlier, and 3.2.8 and earlier) incorrectly required the O_CREAT flag on posix open (even when a file was not being created). This disables posix open (create is still ok) after the first attempt returns EINVAL (and logs an error, once, recommending that they update their server). Acked-by: Jeff Layton Signed-off-by: Steve French commit 276a74a4835ad86d6da42f3a084b060afc5656e8 Author: Steve French Date: Tue Mar 3 18:00:34 2009 +0000 [CIFS] Use posix open on file open when server supports it Signed-off-by: Steve French commit fcc7c09d94be7b75c9ea2beb22d0fae191c6b4b9 Author: Jeff Layton Date: Sat Feb 28 12:59:03 2009 -0500 cifs: fix buffer format byte on NT Rename/hardlink Discovered at Connnectathon 2009... The buffer format byte and the pad are transposed in NT_RENAME calls (which are used to set hardlinks). Most servers seem to ignore this fact, but NetApp filers throw back an error due to this problem. This patch fixes it. CC: Stable Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 0382457744969b0a3aa39ba997944903c5972cbc Author: Steve French Date: Wed Feb 25 16:24:04 2009 +0000 [CIFS] Add definitions for remoteably fsctl calls There are about 60 fsctl calls which Windows claims would be able to be sent remotely and handled by the server. This adds the #defines for them. A few of them look immediately useful, but need to also add the structure definitions for them so they can be sent as SMBs. Signed-off-by: Steve French commit 1adcb71092f6461c4002ccf29d316f6da3e1f39b Author: Steve French Date: Wed Feb 25 14:19:56 2009 +0000 [CIFS] add extra null attr check Although attr == NULL can not happen, this makes cifs_set_file_info safer in the future since it may not be obvious that the caller can not set attr to NULL. Signed-off-by: Steve French commit 4717bed6806dab0270e5bfbc45e9f999e63ededd Author: Steve French Date: Tue Feb 24 14:44:19 2009 +0000 [CIFS] fix build error Signed-off-by: Steve French commit 7fc8f4e95bf9564045985bb206af8e28a5e4e28f Author: Steve French Date: Mon Feb 23 20:43:11 2009 +0000 [CIFS] reopen file via newer posix open protocol operation if available If the network connection crashes, and we have to reopen files, preferentially use the newer cifs posix open protocol operation if the server supports it. Signed-off-by: Steve French commit be652445fdccb8e5d4391928c3b45324ea37f9e1 Author: Steve French Date: Mon Feb 23 15:21:59 2009 +0000 [CIFS] Add new nostrictsync cifs mount option to avoid slow SMB flush If this mount option is set, when an application does an fsync call then the cifs client does not send an SMB Flush to the server (to force the server to write all dirty data for this file immediately to disk), although cifs still sends all dirty (cached) file data to the server and waits for the server to respond to the write write. Since SMB Flush can be very slow, and some servers may be reliable enough (to risk delaying slightly flushing the data to disk on the server), turning on this option may be useful to improve performance for applications that fsync too much, at a small risk of server crash. If this mount option is not set, by default cifs will send an SMB flush request (and wait for a response) on every fsync call. Signed-off-by: Steve French commit 10e70afa75c90702b2326abaaa757d6b7835636f Author: Steve French Date: Sun Feb 22 01:33:07 2009 +0000 [CIFS] DFS no longer experimental Also updates some DFS flag definitions Signed-off-by: Steve French commit b298f223559e0205244f553ceef8c7df3674da74 Author: Steve French Date: Sat Feb 21 21:17:43 2009 +0000 [CIFS] Send SMB flush in cifs_fsync In contrast to the now-obsolete smbfs, cifs does not send SMB_COM_FLUSH in response to an explicit fsync(2) to guarantee that all volatile data is written to stable storage on the server side, provided the server honors the request (which, to my knowledge, is true for Windows and Samba with 'strict sync' enabled). This patch modifies the cifs_fsync implementation to restore the fsync-behavior of smbfs by triggering SMB_COM_FLUSH after sending outstanding data on the client side to the server. Signed-off-by: Horst Reiterer Acked-by: Jeff Layton Signed-off-by: Steve French commit 793730bfb6711d6d14629e63845c25a3c14d205e Author: Yevgeny Petrilin Date: Wed Mar 11 15:47:18 2009 -0700 mlx4_core: Don't perform SET_PORT command for Ethernet ports The same operation is performed when the Ethernet driver initializes the port. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit afcfe024aebd74b0984a41af9a34e009cf5badaf Author: Stuart Bennett Date: Wed Mar 11 20:29:45 2009 +0000 x86: mmiotrace: quieten spurious warning message This message was being incorrectly emitted when using gdb, so compile it out by default for now; there will be a better fix in v2.6.30. Reported-by: Ingo Molnar Signed-off-by: Stuart Bennett Acked-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit aecfcde920da8d32949f6cbbc1fc051b4ef9e7be Merge: e2b8b28... 80370cb... Author: Ingo Molnar Date: Wed Mar 11 20:47:23 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 5e3771ce2d6a69e10fcc870cdf226d121d868491 Author: Trond Myklebust Date: Wed Mar 11 14:38:01 2009 -0400 SUNRPC: Ensure that xs_nospace return values are propagated If xs_nospace() finds that the socket has disconnected, it attempts to return ENOTCONN, however that value is then squashed by the callers. Signed-off-by: Trond Myklebust commit 8a2cec295f4499cc9d4452e9b02d4ed071bb42d3 Author: Trond Myklebust Date: Wed Mar 11 14:38:01 2009 -0400 SUNRPC: Delay, then retry on connection errors. Enforce the comment in xs_tcp_connect_worker4/xs_tcp_connect_worker6 that we should delay, then retry on certain connection errors. Signed-off-by: Trond Myklebust commit 2a4919919a97911b0aa4b9f5ac1eab90ba87652b Author: Trond Myklebust Date: Wed Mar 11 14:38:00 2009 -0400 SUNRPC: Return EAGAIN instead of ENOTCONN when waking up xprt->pending While we should definitely return socket errors to the task that is currently trying to send data, there is no need to propagate the same error to all the other tasks on xprt->pending. Doing so actually slows down recovery, since it causes more than one tasks to attempt socket recovery. Signed-off-by: Trond Myklebust commit 482f32e65d31cbf88d08306fa5d397cc945c3c26 Author: Trond Myklebust Date: Wed Mar 11 14:38:00 2009 -0400 SUNRPC: Handle socket errors correctly Ensure that we pick up and handle socket errors as they occur. Signed-off-by: Trond Myklebust commit c8485e4d634f6df155040293928707f127f0d06d Author: Trond Myklebust Date: Wed Mar 11 14:37:59 2009 -0400 SUNRPC: Handle ECONNREFUSED correctly in xprt_transmit() If we get an ECONNREFUSED error, we currently go to sleep on the 'xprt->sending' wait queue. The problem is that no timeout is set there, and there is nothing else that will wake the task up later. We should deal with ECONNREFUSED in call_status, given that is where we also deal with -EHOSTDOWN, and friends. Signed-off-by: Trond Myklebust commit 40d2549db5f515e415894def98b49db7d4c56714 Author: Trond Myklebust Date: Wed Mar 11 14:37:58 2009 -0400 SUNRPC: Don't disconnect if a connection is still in progress. Signed-off-by: Trond Myklebust commit 670f94573104b4a25525d3fcdcd6496c678df172 Author: Trond Myklebust Date: Wed Mar 11 14:37:58 2009 -0400 SUNRPC: Ensure we set XPRT_CLOSING only after we've sent a tcp FIN... ...so that we can distinguish between when we need to shutdown and when we don't. Also remove the call to xs_tcp_shutdown() from xs_tcp_connect(), since xprt_connect() makes the same test. Signed-off-by: Trond Myklebust commit 15f081ca8ddfe150fb639c591b18944a539da0fc Author: Trond Myklebust Date: Wed Mar 11 14:37:57 2009 -0400 SUNRPC: Avoid an unnecessary task reschedule on ENOTCONN If the socket is unconnected, and xprt_transmit() returns ENOTCONN, we currently give up the lock on the transport channel. Doing so means that the lock automatically gets assigned to the next task in the xprt->sending queue, and so that task needs to be woken up to do the actual connect. The following patch aims to avoid that unnecessary task switch. Signed-off-by: Trond Myklebust commit a67d18f89f5782806135aad4ee012ff78d45aae7 Author: Tom Talpey Date: Wed Mar 11 14:37:56 2009 -0400 NFS: load the rpc/rdma transport module automatically When mounting an NFS/RDMA server with the "-o proto=rdma" or "-o rdma" options, attempt to dynamically load the necessary "xprtrdma" client transport module. Doing so improves usability, while avoiding a static module dependency and any unnecesary resources. Signed-off-by: Tom Talpey Cc: Chuck Lever Signed-off-by: Trond Myklebust commit 441e3e242903f9b190d5764bed73edb58f977413 Author: Tom Talpey Date: Wed Mar 11 14:37:56 2009 -0400 SUNRPC: dynamically load RPC transport modules on-demand Provide an api to attempt to load any necessary kernel RPC client transport module automatically. By convention, the desired module name is "xprt"+"transport name". For example, when NFS mounting with "-o proto=rdma", attempt to load the "xprtrdma" module. Signed-off-by: Tom Talpey Cc: Chuck Lever Signed-off-by: Trond Myklebust commit b38ab40ad58c1fc43ea590d6342f6a6763ac8fb6 Author: Tom Talpey Date: Wed Mar 11 14:37:55 2009 -0400 XPRTRDMA: correct an rpc/rdma inline send marshaling error Certain client rpc's which contain both lengthy page-contained metadata and a non-empty xdr_tail buffer require careful handling to avoid overlapped memory copying. Rearranging of existing rpcrdma marshaling code avoids it; this fixes an NFSv4 symlink creation error detected with connectathon basic/test8 to multiple servers. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit b1e1e158779f1d99c2cc18e466f6bf9099fc0853 Author: Tom Talpey Date: Wed Mar 11 14:37:55 2009 -0400 SVCRDMA: remove faulty assertions in rpc/rdma chunk validation. Certain client-provided RPCRDMA chunk alignments result in an additional scatter/gather entry, which triggered nfs/rdma server assertions incorrectly. OpenSolaris nfs/rdma client connectathon testing was blocked by these in the special/locking section. Signed-off-by: Tom Talpey Cc: Tom Tucker Signed-off-by: Trond Myklebust commit e1ebfd33be068ec933f8954060a499bd22ad6f69 Author: Trond Myklebust Date: Wed Mar 11 14:37:54 2009 -0400 NFS: Kill the "defined but not used" compile error on nommu machines Bryan Wu reports that when compiling NFS on nommu machines he gets a "defined but not used" error on nfs_file_mmap(). The easiest fix is simply to get rid of the special casing in NFS, and just always call generic_file_mmap() to set up the file. Signed-off-by: Trond Myklebust commit 2a9f0ba7a976bc2b1bcf9156c1e57ffbc8f8fb64 Merge: 65ec1cd... 603b6fd... Author: Mark Brown Date: Wed Mar 11 18:30:48 2009 +0000 Merge branch 's3c-iis-header' into for-2.6.30 commit 603b6fd5b8d313a109d3739d8706ee51962ff402 Author: Mark Brown Date: Wed Mar 11 18:28:24 2009 +0000 [ARM] Revert futher extraneous changes from the S3C header move Can't see any immediate need for these; build tested. Signed-off-by: Mark Brown commit f3697bc314e912599f422cc5c6e53c7382c0aeb2 Merge: 7bf446f... 16b71fd... Author: Felix Blyakher Date: Wed Mar 11 13:28:03 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 72cb77f4a5ace37b12dcb47a0e8637a2c28ad881 Author: Trond Myklebust Date: Wed Mar 11 14:10:30 2009 -0400 NFS: Throttle page dirtying while we're flushing to disk The following patch is a combination of a patch by myself and Peter Staubach. Trond: If we allow other processes to dirty pages while a process is doing a consistency sync to disk, we can end up never making progress. Peter: Attached is a patch which addresses a continuing problem with the NFS client generating out of order WRITE requests. While this is compliant with all of the current protocol specifications, there are servers in the market which can not handle out of order WRITE requests very well. Also, this may lead to sub-optimal block allocations in the underlying file system on the server. This may cause the read throughputs to be reduced when reading the file from the server. Peter: There has been a lot of work recently done to address out of order issues on a systemic level. However, the NFS client is still susceptible to the problem. Out of order WRITE requests can occur when pdflush is in the middle of writing out pages while the process dirtying the pages calls generic_file_buffered_write which calls generic_perform_write which calls balance_dirty_pages_rate_limited which ends up calling writeback_inodes which ends up calling back into the NFS client to writes out dirty pages for the same file that pdflush happens to be working with. Signed-off-by: Peter Staubach [modification by Trond to merge the two similar patches] Signed-off-by: Trond Myklebust commit fb8a1f11b64e213d94dfa1cebb2a42a7b8c115c4 Author: Trond Myklebust Date: Wed Mar 11 14:10:29 2009 -0400 NFS: cleanup - remove struct nfs_inode->ncommit Signed-off-by: Trond Myklebust commit a65318bf3afc93ce49227e849d213799b072c5fd Author: Trond Myklebust Date: Wed Mar 11 14:10:28 2009 -0400 NFSv4: Simplify some cache consistency post-op GETATTRs Certain asynchronous operations such as write() do not expect (or care) that other metadata such as the file owner, mode, acls, ... change. All they want to do is update and/or check the change attribute, ctime, and mtime. By skipping the file owner and group update, we also avoid having to do a potential idmapper upcall for these asynchronous RPC calls. Signed-off-by: Trond Myklebust commit 69aaaae18f7027d9594bce100378f102926cc0be Author: Trond Myklebust Date: Wed Mar 11 14:10:28 2009 -0400 NFSv4: A referral is assumed to always point to a directory. Fix a bug whereby we would fail to create a mount point for a referral. Signed-off-by: Trond Myklebust commit 409924e4c943072a63c43bb6b77576bf12f1896b Author: Trond Myklebust Date: Wed Mar 11 14:10:27 2009 -0400 NFSv4: Make decode_getfattr() set fattr->valid to reflect what was decoded Signed-off-by: Trond Myklebust commit f26c7a78876ccd6c9b477ab4ca127aa1a4ef68c7 Author: Trond Myklebust Date: Wed Mar 11 14:10:26 2009 -0400 NFSv4: Clean up decode_getfattr() Signed-off-by: Trond Myklebust commit bca794785c2c12ecddeb09e70165b8ff80baa6ae Author: Trond Myklebust Date: Wed Mar 11 14:10:26 2009 -0400 NFS: Fix the type of struct nfs_fattr->mode There is no point in using anything other than umode_t, since we copy the content pretty much directly into inode->i_mode. Signed-off-by: Trond Myklebust commit 1ca277d88dafdbc3c5a69d32590e7184b9af6371 Author: Trond Myklebust Date: Wed Mar 11 14:10:25 2009 -0400 NFS: Shrink the struct nfs_fattr We don't need the bitmap[] field anymore, since the 'valid' field tells us all we need to know about which attributes were filled in... Also move the pre-op attributes in order to improve the structure packing. Signed-off-by: Trond Myklebust commit 9e6e70f8d8b6698e0017c56b86525aabe9c7cd4c Author: Trond Myklebust Date: Wed Mar 11 14:10:24 2009 -0400 NFSv4: Support NFSv4 optional attributes in the struct nfs_fattr Currently, filling struct nfs_fattr is more or less an all or nothing operation, since NFSv2 and NFSv3 have only mandatory attributes. In NFSv4, some attributes are optional, and so we may simply not be able to fill in those fields. Furthermore, NFSv4 allows you to specify which attributes you are interested in retrieving, thus permitting you to optimise away retrieval of attributes that you know will no change... Signed-off-by: Trond Myklebust commit 78f945f88ef83dcc7c962614a080e0a9a2db5889 Author: Trond Myklebust Date: Wed Mar 11 14:10:23 2009 -0400 NFSv4: Ignore errors on the post-op attributes in SETATTR calls There is no need to fail or retry a SETATTR call just because the post-op GETATTR failed. Signed-off-by: Trond Myklebust commit 37d9d76d8b3a2ac5817e1fa3263cfe0fdb439e51 Author: NeilBrown Date: Wed Mar 11 14:10:23 2009 -0400 NFS: flush cached directory information slightly more readily. If cached directory contents becomes incorrect, there is no way to flush the contents. This contrasts with files where file locking is the recommended way to ensure cache consistency between multiple applications (a read-lock always flushes the cache). Also while changes to files often change the size of the file (thus triggering a cache flush), changes to directories often do not change the apparent size (as the size is often rounded to a block size). So it is particularly important with directories to avoid the possibility of an incorrect cache wherever possible. When the link count on a directory changes it implies a change in the number of child directories, and so a change in the contents of this directory. So use that as a trigger to flush cached contents. When the ctime changes but the mtime does not, there are two possible reasons. 1/ The owner/mode information has been changed. 2/ utimes has been used to set the mtime backwards. In the first case, a data-cache flush is not required. In the second case it is. So on the basis that correctness trumps performance, flush the directory contents cache in this case also. Signed-off-by: NeilBrown Signed-off-by: Trond Myklebust commit 2b57dc6cf9bf31edc0df430ea18dd1dbd3028975 Author: Suresh Jayaraman Date: Wed Mar 11 14:10:22 2009 -0400 NFS: Minor __nfs_revalidate_inode cleanup Remove redundant NFS_STALE() check, a leftover due to the commit 691beb13cdc88358334ef0ba867c080a247a760f Signed-off-by: Suresh Jayaraman Signed-off-by: Trond Myklebust commit fe315e76fc3a3f9f7e1581dc22fec7e7719f0896 Author: Chuck Lever Date: Wed Mar 11 14:10:21 2009 -0400 SUNRPC: Avoid spurious wake-up during UDP connect processing To clear out old state, the UDP connect workers unconditionally invoke xs_close() before proceeding with a new connect. Nowadays this causes a spurious wake-up of the task waiting for the connect to complete. This is a little racey, but usually harmless. The waiting task immediately retries the connect via a call_bind/call_connect sequence, which usually finds the transport already in the connected state because the connect worker has finished in the background. To avoid a spurious wake-up, factor the xs_close() logic that resets the underlying socket into a helper, and have the UDP connect workers call that helper instead of xs_close(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5e47c478b0b69bc9bc3ba544e4b1ca3268f98fef Author: H. Peter Anvin Date: Wed Mar 11 10:55:33 2009 -0700 x86: remove zImage support Impact: obsolete feature removal The zImage kernel format has been functionally unused for a very long time. It is just barely possible to build a modern kernel that still fits within the zImage size limit, but it is highly unlikely that anyone ever uses it. Furthermore, although it is still supported by most bootloaders, it has been at best poorly tested (or not tested at all); some bootloaders are even known to not support zImage at all and not having even noticed. Also remove some really obsolete constants that no longer have any meaning. LKML-Reference: <49B703D4.1000008@zytor.com> Signed-off-by: H. Peter Anvin commit 1fecb1c4b62881e3689ba2dcf93072ae301b597c Author: David Teigland Date: Wed Mar 4 11:17:23 2009 -0600 dlm: fix length calculation in compat code Using offsetof() to calculate name length does not work because it does not produce consistent results with with structure packing. This caused memcpy to corrupt memory by copying 4 extra bytes off the end of the buffer on 64 bit kernels with 32 bit userspace (the only case where this 32/64 compat code is used). The fix is to calculate name length directly from the start instead of trying to derive it later using count and offsetof. Signed-off-by: David Teigland commit a536e38125fe5da8ed49690f30c30a8f651cf1f5 Author: David Teigland Date: Fri Feb 27 15:23:28 2009 -0600 dlm: ignore cancel on granted lock Return immediately from dlm_unlock(CANCEL) if the lock is granted and not being converted; there's nothing to cancel. Signed-off-by: David Teigland commit 43279e5376017c40b4be9af5bc79cbb4ef6f53d7 Author: David Teigland Date: Wed Jan 28 14:37:54 2009 -0600 dlm: clear defunct cancel state When a conversion completes successfully and finds that a cancel of the convert is still in progress (which is now a moot point), preemptively clear the state associated with outstanding cancel. That state could cause a subsequent conversion to be ignored. Also, improve the consistency and content of error and debug messages in this area. Signed-off-by: David Teigland commit 5e9ccc372dc855900c4a75b21286038938e288c7 Author: Christine Caulfield Date: Wed Jan 28 12:57:40 2009 -0600 dlm: replace idr with hash table for connections Integer nodeids can be too large for the idr code; use a hash table instead. Signed-off-by: Christine Caulfield Signed-off-by: David Teigland commit 65ec1cd1e2c6228752d2f167b01e6d291014d249 Merge: 5314adc... 6335d05... Author: Mark Brown Date: Wed Mar 11 16:51:31 2009 +0000 ASoC: Merge dai_ops factor out Merge Eric Maio's patch to merge snd_soc_dai_ops out of line. Fixed merge issues and updated drivers, plus an issue with the ops for the two s3c2443 AC97 DAIs having been merged. Signed-off-by: Mark Brown commit 5314adc3612d893c7cc526b3312d124805e45bc3 Author: Mark Brown Date: Wed Mar 11 16:28:29 2009 +0000 ASoC: Fix formats for s3c24xx-i2s register prints The register values are all u32 so don't need the long format. Signed-off-by: Mark Brown commit fc1ad92dfc4e363a055053746552cdb445ba5c57 Author: Eric Dumazet Date: Wed Mar 11 09:23:57 2009 -0700 tcp: allow timestamps even if SYN packet has tsval=0 Some systems send SYN packets with apparently wrong RFC1323 timestamp option values [timestamp tsval=0 tsecr=0]. It might be for security reasons (http://www.secuobs.com/plugs/25220.shtml ) Linux TCP stack ignores this option and sends back a SYN+ACK packet without timestamp option, thus many TCP flows cannot use timestamps and lose some benefit of RFC1323. Other operating systems seem to not care about initial tsval value, and let tcp flows to negotiate timestamp option. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a7e1cf0c517d44db8e871a86b2cf7ea7e7d06a4b Author: Grant Likely Date: Wed Mar 11 09:36:26 2009 -0600 powerpc/bootwrapper: add fixed-head.o to simpleimage wrappers fixed-head.o must be linked into the bootwrapper for raw-binary images to work. This patch adds it into the bootwrapper. Signed-off-by: Grant Likely Reported-by: Eddie Dawydiuk Acked-by: Benjamin Herrenschmidt commit 10b9dc6f6bd64885fcd6a005aa211582dbe92647 Author: Wolfram Sang Date: Wed Mar 11 09:36:26 2009 -0600 powerpc/5200: add Phytec phyCORE-MPC5200B-IO board (pcm032) Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit df8a95f46f8e43a24003abe2efaca8c63c895b54 Author: Wolfgang Grandegger Date: Wed Mar 11 09:36:26 2009 -0600 powerpc/5200: add function to return external clock frequency This patch adds the utility function mpc52xx_get_xtal_freq() to get the frequency of the external oscillator clock connected to the pin SYS_XTAL_IN. The MSCAN may us it as clock source. Unfortunately, this value is not available from the FDT blob, but it can be determined from the IPB frequency. Signed-off-by: Wolfgang Grandegger Signed-off-by: Grant Likely commit bb899d49a5d04ae53c787c15c5fb82754d6a0da4 Author: Grant Likely Date: Wed Mar 11 09:36:26 2009 -0600 powerpc/5200: remove sysfs debug file from GPT driver Remove poorly designed debug sysfs attribute entry from the GPT driver. Signed-off-by: Grant Likely Acked-by: Wolfram Sang commit 1df879e4bbf870d769a9330cb917ed517a1d980c Author: John Linn Date: Wed Mar 11 09:36:20 2009 -0600 powerpc/virtex/spi: Xilinx SPI driver not releasing memory The driver was not releasing memory when it was removed or when there was a failure during probe. This fixes it. Signed-off-by: John Linn Acked-by: David Brownell Signed-off-by: Grant Likely commit 908002161247e6e68c478052926b62d9a3d72418 Author: Herbert Xu Date: Wed Mar 11 23:18:32 2009 +0800 nlattr: Fix build error with NET off We moved the netlink attribute support from net to lib in order for it to be available for general consumption. However, parts of the code (the bits that we don't need :) really depends on NET because the target object is sk_buff. This patch fixes this by wrapping them in CONFIG_NET. Some EXPORTs have been moved to make this work. Tested-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit 12074fa1073013dd11f1cff41db018d5cff4ecd9 Author: Akinobu Mita Date: Wed Mar 11 23:34:50 2009 +0900 x86: debug check for kmap_atomic_pfn and iomap_atomic_prot_pfn() It may be useful for kmap_atomic_pfn() and iomap_atomic_prot_pfn() to check invalid kmap usage as well as kmap_atomic. Signed-off-by: Akinobu Mita LKML-Reference: <20090311143449.GB22244@localhost.localdomain> Signed-off-by: Ingo Molnar commit bb6d59ca927d855ffac567b35c0a790c67016103 Author: Akinobu Mita Date: Wed Mar 11 23:33:18 2009 +0900 x86: unify kmap_atomic_pfn() and iomap_atomic_prot_pfn() kmap_atomic_pfn() and iomap_atomic_prot_pfn() are almost same except pgprot. This patch removes the code duplication for these two functions. Signed-off-by: Akinobu Mita LKML-Reference: <20090311143317.GA22244@localhost.localdomain> Signed-off-by: Ingo Molnar commit 02b7cbc3994622900e8fc201f5f229b591c43628 Author: Mark Brown Date: Wed Mar 11 14:12:28 2009 +0000 ASoC: Remove version display from WM8580 driver Signed-off-by: Mark Brown commit 8229d754383e8cd905c38b56bd7365c7fc10dfc1 Author: Jaswinder Singh Rajput Date: Wed Mar 11 19:13:49 2009 +0530 x86: cpu architecture debug code, build fix, cleanup move store_ldt outside the CONFIG_PARAVIRT section and also clean up the code a bit. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit aaf1e176fa9a96fe1eea33b710684bba066aedc1 Author: Mark Brown Date: Tue Mar 10 10:55:15 2009 +0000 ASoC: Add initial driver for the WM8400 CODEC The WM8400 is a highly integrated audio CODEC and power management unit intended for mobile multimedia application. This driver supports the primary audio CODEC features, including: - 1W speaker driver - Fully differential headphone output - Up to 4 differential microphone inputs Signed-off-by: Mark Brown commit 5706d5013212c8afcb9fe5332ee6442488280c66 Author: David Brownell Date: Wed Mar 11 02:37:25 2009 -0800 ASoC: buildfix for OSK Buildfix: CC sound/soc/omap/osk5912.o sound/soc/omap/osk5912.c: In function 'osk_soc_init': sound/soc/omap/osk5912.c:189: error: implicit declaration of function 'clk_get_usecount' make[3]: *** [sound/soc/omap/osk5912.o] Error 1 There's no such (standard) clock interface. Signed-off-by: David Brownell Signed-off-by: Mark Brown commit 563fdd4a0af509d8cb78901750f7d00db345d864 Author: Kumar Gala Date: Wed Feb 11 22:50:42 2009 -0600 powerpc/85xx: Update smp support to handle doorbells and non-mpic init Use device tree to determine if we actually have an MPIC and use CPU feature to decide if we should use doorbells for IPIs. Signed-off-by: Kumar Gala commit bb7f5f6c26d0a304fb3af92591a1dddd39b6ac61 Author: Cyrill Gorcunov Date: Mon Mar 9 20:19:51 2009 +0300 x86: shrink __ALIGN and __ALIGN_STR definitions Impact: cleanup 1) .p2align 4 and .align 16 are the same meaning (until a.out format for i386 is used which is not our case for CONFIG_X86_ALIGNMENT_16 anyway) 2) having 15 as max allowed bytes to be skipped does not make sense on modulo 16 Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090309171951.GE9945@localhost> [ small cleanup, use __stringify(), etc. ] Signed-off-by: Ingo Molnar commit 3c081384007332ab95c8d8753f47719d6646bcb2 Merge: f455dfb... a2b0346... Author: Mark Brown Date: Wed Mar 11 11:12:48 2009 +0000 Merge branch 's3c-iis-header' into for-2.6.30 Conflicts: arch/arm/mach-shark/include/mach/io.h commit a2b03461cb072eb6097a55ec0289294b09382284 Author: Mark Brown Date: Wed Mar 11 11:02:33 2009 +0000 [ARM] Revert extraneous changes from the S3C audio header move These changes were included in the S3C audio header move but are not directly related to it. Signed-off-by: Mark Brown commit 1a3d1fc2273c6736ad2d19058e0413bc830c5e4d Author: Liu Yu Date: Tue Mar 10 11:09:49 2009 +0800 powerpc/math-emu: Fix efp dependence There is no dependece between efp and math-emu. But when disable math-emu the efp code cannot be built. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit 2b881b940a7b0cdf7c8258c9869458aa4e5f830c Author: Thomas Gleixner Date: Tue Mar 10 18:43:58 2009 +0000 powerpc/85xx: remove setup_irq(NULL action) in ksi8560 setup_irq(0, NULL) is broken as setup_irq() dereferences action unconditionally. Signed-off-by: Thomas Gleixner Signed-off-by: Kumar Gala commit f084e8db187e4c5f2abe8181b27fe3214354460a Author: Ted Peters Date: Thu Feb 26 12:15:16 2009 -0600 powerpc/85xx: Fix MPC8572DS PCI protected interrupt sources The PCI irqs for the protected sources where not correct for PCI PHBs Signed-off-by: Ted Peters Signed-off-by: Kumar Gala commit df1c99d416500da8d26a4d78777467c53ee7689e Author: Mike Galbraith Date: Tue Mar 10 19:08:11 2009 +0100 sched: add avg_overlap decay Impact: more precise avg_overlap metric - better load-balancing avg_overlap is used to measure the runtime overlap of the waker and wakee. However, when a process changes behaviour, eg a pipe becomes un-congested and we don't need to go to sleep after a wakeup for a while, the avg_overlap value grows stale. When running we use the avg runtime between preemption as a measure for avg_overlap since the amount of runtime can be correlated to cache footprint. The longer we run, the less likely we'll be wanting to be migrated to another CPU. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: <1236709131.25234.576.camel@laptop> Signed-off-by: Ingo Molnar commit d95c3578120e5bc4784069439f00ccb1b5f87717 Merge: ba1d755... 78b020d... Author: Ingo Molnar Date: Wed Mar 11 10:49:34 2009 +0100 Merge branch 'x86/core' into cpus4096 commit 78b020d035074fc3aa4d017353bb2c32e2aff56f Merge: bf5172d... fee7b0d... 5490fa9... 16b71fd... Author: Ingo Molnar Date: Wed Mar 11 10:49:15 2009 +0100 Merge branches 'x86/cleanups', 'x86/kexec', 'x86/mce2' and 'linus' into x86/core commit 65a37b29a8d7492f081d4f8da2227467af1c0c1d Merge: 1d8ce7b... 60db564... Author: Ingo Molnar Date: Wed Mar 11 10:30:23 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu commit 1d8ce7bc4d05b4a5c04dc17f92fef26989fb5935 Merge: 3a450de... 16b71fd... Author: Ingo Molnar Date: Wed Mar 11 10:29:28 2009 +0100 Merge branch 'linus' into core/percpu Conflicts: arch/x86/include/asm/fixmap_64.h commit 78a05b522044a50dc2a6811d10b9ee3f7c3e78f8 Author: Takashi Iwai Date: Wed Mar 11 09:52:28 2009 +0100 ALSA: Use define for ioctl definitions Use define instead of enum for ioctl definitions since strace can't parse ioctls defined via enum properly. Signed-off-by: Takashi Iwai commit 47e78ecc2adb778c7d2b54924e90433a0182a6ba Author: Takashi Iwai Date: Wed Mar 11 09:50:19 2009 +0100 ALSA: Remove obsolete snd_xferv struct and ioctls Removed obsleted snd_xferv struct and ioctls that are no longer used in the current codebase. Signed-off-by: Takashi Iwai commit bf5172d07ac38e538e01143289e9b46076494ad5 Author: Thomas Gleixner Date: Mon Mar 9 22:04:45 2009 +0100 x86: convert obsolete irq_desc_t typedef to struct irq_desc Impact: cleanup Convert the last remaining users. Signed-off-by: Thomas Gleixner commit 600fa578a95f65bc1f2a03210d3d418747024b43 Author: Magnus Damm Date: Wed Mar 11 08:14:26 2009 +0000 sh: improve sh7785lcr power off code Improve the sh7785lcr power off implementation to never return. It takes some time before the board is actually powered off, just hang after asking the harware to power down. This removes the serial port garbage printout. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 49976927de5c52c415d4809c7d56700cc8ff4215 Author: Magnus Damm Date: Wed Mar 11 08:04:23 2009 +0000 input: sh_keysc suspend can use to_platform_device() This patch changes sh_keysc to use to_platform_device() for suspend. Thanks to Trilok Soni for this suggestion. Signed-off-by: Magnus Damm Reviewed-by: Trilok Soni Signed-off-by: Paul Mundt commit 4a55026fd7a08074676e87932578ff9e327e82a3 Author: Francesco VIRLINZI Date: Wed Mar 11 07:42:05 2009 +0000 sh: clkfwk: Add resume from hibernation support. This patch adds PM support to the clock framework. With this, resume from hibernation is properly supported. Signed-off-by: Francesco Virlinzi Signed-off-by: Paul Mundt commit d680c76eccd9222031ee30dcee5fdedba2467610 Author: Francesco VIRLINZI Date: Wed Mar 11 07:40:54 2009 +0000 sh: clkfwk: add clk_set_parent/clk_get_parent This patch adds the clk_set_parent/clk_get_parent routines to the sh clock framework. Signed-off-by: Francesco Virlinzi Signed-off-by: Paul Mundt commit 28794d34ecb6815a3fa0a4256027c9b081a17c5f Author: Benjamin Herrenschmidt Date: Tue Mar 10 17:53:27 2009 +0000 powerpc/kconfig: Kill PPC_MULTIPLATFORM CONFIG_PPC_MULTIPLATFORM is a remain of the pre-powerpc days and isn't really meaningful anymore. It was basically equivalent to PPC64 || 6xx. This removes it along with the following changes: - 32-bit platforms that relied on PPC32 && PPC_MULTIPLATFORM now rely on 6xx which is what they want anyway. - A new symbol, PPC_BOOK3S, is defined that represent compliance with the "Server" variant of the architecture. This is set when either 6xx or PPC64 is set and open the door for future BOOK3E 64-bit. - 64-bit platforms that relied on PPC64 && PPC_MULTIPLATFORM now use PPC64 && PPC_BOOK3S - A separate and selectable CONFIG_PPC_OF_BOOT_TRAMPOLINE option is now used to control the use of prom_init.c Signed-off-by: Benjamin Herrenschmidt commit 9e5efaa9360f26e0052d16f7a40d002a6a18863b Author: Benjamin Herrenschmidt Date: Tue Mar 10 17:24:37 2009 +0000 powerpc/mm: Properly wire up get_user_pages_fast() on 32-bit While we did add support for _PAGE_SPECIAL on some 32-bit platforms, we never actually built get_user_pages_fast() on them. This fixes it which requires a little bit of ifdef'ing around. Signed-off-by: Benjamin Herrenschmidt commit 353bca5ed4e0705ed4a1ac7b82491b223c3b55ba Author: Thomas Gleixner Date: Tue Mar 10 14:46:30 2009 +0000 powerpc/irq: Convert obsolete hw_interrupt_type to struct irq_chip Impact: cleanup Convert the last remaining users to struct irq_chip. Signed-off-by: Thomas Gleixner CC: Benjamin Herrenschmidt CC: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 97f7d6bcc10687ff79632da338646a266dd590fc Author: Thomas Gleixner Date: Tue Mar 10 14:45:54 2009 +0000 powerpc/irq: Convert obsolete irq_desc_t to struct irq_desc Impact: cleanup Convert the last remaining users. Signed-off-by: Thomas Gleixner CC: Benjamin Herrenschmidt CC: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit af9c7249071bf862781df06eb24456cab763dc7d Author: Andrew Klossner Date: Mon Mar 9 07:52:41 2009 +0000 powerpc/udbg: Fix lost byte during console handover; change LFCR to CRLF When the console is on a serial port to be driven by serial8250, a character can be lost from the end of the first line in the two-line sequence serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 42) is a 16550A console handover: boot [udbg0] -> real [ttyS0] This happens because udbg_puts or udbg_write stuff the last byte of the line into the Tx FIFO and return, whereupon the serial8250 initialization code immediately empties that FIFO. The fix: udbg_puts and udbg_write now wait for the Tx FIFO to clear before returning. This delays the system by one additional serial frame time for each line written by udbg, but the effect is not noticeable, a cumulative 17 milliseconds for 200 lines of early printk output at 115200 baud. Also, the routines in udbg_16550.c now emit CRLF instead of LFCR. Linux makes a point of emitting CRLF because, when serial output is captured to a file, LFCR sequences can confuse text editors. See http://lkml.org/lkml/2006/2/4/50 for some history. Signed-off-by: Andrew Klossner Signed-off-by: Benjamin Herrenschmidt commit a77acda0b7f2e54009955512e577812433d7abc5 Author: Wolfram Sang Date: Mon Mar 9 06:39:01 2009 +0000 powerpc/pci: Fix typo: s/resouces/resources/ in a pr_debug Fix typo: s/resouces/resources/ in a pr_debug Signed-off-by: Wolfram Sang Signed-off-by: Benjamin Herrenschmidt commit b46ce6119826e7cf29eb314112f42d4b266762c9 Author: Michael Ellerman Date: Thu Mar 5 17:39:14 2009 +0000 powerpc/pseries: The RPA PCI hotplug driver depends on EEH The RPA PCI hotplug driver calls EEH routines, so should depend on EEH. Also PPC_PSERIES implies PPC64, so remove that. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 47c3c6ef955aabdccce294eb61c3294c8083478f Author: Michael Ellerman Date: Thu Mar 5 17:37:11 2009 +0000 powerpc/cell: Fix Axon MSI driver dependencies The Axon MSI driver depends on more than just PCI_MSI, so add a Kconfig fragment for it. Fixes randconfig build failures. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 1bac0221554d2e9153e6aff2272ee833b5bff980 Author: Michael Ellerman Date: Thu Mar 5 17:36:39 2009 +0000 powerpc/pseries: The pseries MSI code depends on EEH Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 94afa5a5f54235c4612198768b6a2fa2e2366f44 Author: Michael Ellerman Date: Thu Mar 5 14:44:26 2009 +0000 powerpc/pseries: Reject discontiguous/non-zero based MSI-X requests There's no way for us to express to firmware that we want a discontiguous, or non-zero based, range of MSI-X entries. So we must reject such requests. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit e7943fbbfdb6eef03c003b374de1f802cc14f02a Author: Michael Ellerman Date: Wed Mar 4 19:02:01 2009 +0000 powerpc: Print linux_banner in prom_init So at least you can see what kernel you're booting if you die before the kernel prints it mid-way through start_kernel(). Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 7c9583a4db7e3009843aaae0567d299e2837c5ae Author: Octavian Purdila Date: Wed Mar 4 02:02:42 2009 +0000 powerpc/oprofile: Enable support for ppc750 processors This patch enables oprofile for all 3 FX variants and GX variant of the 750 processor. Signed-off-by: Octavian Purdila Signed-off-by: Benjamin Herrenschmidt commit 2fb4423aa38b598fa688bbd53a835bb7628c445b Author: Jeremy Kerr Date: Tue Mar 3 19:39:32 2009 +0000 powerpc/spufs: Fix incorrect buffer offset in regs write We need to offset by *pos bytes, not *pos words. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit d219889b769a56901c9a916187ee0af95e6ff8a6 Author: Jeremy Kerr Date: Tue Mar 3 19:38:07 2009 +0000 powerpc/spufs: Check file offset before calculating write size in fixed-sized files Based on an original patch from Roel Kluin . The write size calculated during regs and fpcr writes may currently go negative. Because size is unsigned, this will wrap, and our check for EFBIG will fail. Instead, do the check for EFBIG before subtracting from size. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit e7eec2fc27d7dbefd5852c36b3fe6229e6302c99 Author: roel kluin Date: Tue Mar 3 08:33:07 2009 +0000 powerpc/ps3: Make ps3av_set_video_mode mode ID signed Change the ps3av_auto_videomode() mode id argument type from unsigned to signed so a negative id can be detected and reported as an -EINVAL failure. Signed-off-by: Roel Kluin Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 9146cfc82c082e5c88007e7779b02b7bcade0cf0 Author: Geoff Levand Date: Tue Mar 3 08:33:06 2009 +0000 powerpc/ps3: Print memory hotplug errors To help users diagnose hotpug memory problems, change the printing of memory hotplug errors from DBG() to pr_err(). Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit c9c38320e80aea06f1b5541a20be8bda508691e3 Author: Geoff Levand Date: Tue Mar 3 08:33:05 2009 +0000 powerpc: Add missing DABR flags The powerpc 64 bit architecture defines three flags for the DABR (Data Address Breakpoint Register). Add definitions for the currently missing DABR_DATA_WRITE and DABR_DATA_READ flags to the powerpc reg.h file. Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 9dca4efe88a8987b6e8496facc74de0555cc6617 Author: Timur Tabi Date: Tue Mar 3 06:23:47 2009 +0000 powerpc: Add defintion for MSR[GS] to list of MSR bits Add macros for the GS (guest state) bit to the list of MSR bit definitions. On PowerPC cores that support embedded hypervisor mode, GS is cleared if the system is running in hypervisor state (and MSR[PR] is cleared), and set if it's running in guest state. See the Power ISA 2.06 specification for more information. Signed-off-by: Timur Tabi Signed-off-by: Benjamin Herrenschmidt commit f8ff96db9be035a01065a8528c016d125945479a Author: Octavian Purdila Date: Tue Feb 24 02:09:58 2009 +0000 powerpc/oprofile: G4 oprofile has variable number of counters For ppc750 processors which use 4 performance counters instead of the 6 G4 uses but otherwise is compatible with G4. Signed-off-by: Octavian Purdila Signed-off-by: Benjamin Herrenschmidt commit 8f748aae4b5eda6a6ec3ab3554e7e19c7702ccc2 Author: Arnd Bergmann Date: Mon Feb 23 21:44:37 2009 +0000 powerpc/spufs: Initialize ctx->stats.tstamp correctly spuctx_switch_state() warns if ktime goes backwards, but it sometimes compares an uninitialized value, which showed that the data was unreliable when we actually saw the warning. Initialize it to the current time in order to get correct data. Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 9e1e3723be3828d6faac03ff6889e78cc0e64286 Author: Michael Ellerman Date: Mon Feb 23 17:40:56 2009 +0000 powerpc: Remove unused asm-offsets entries for cpu_spec Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 2657dd4e301d4841ed67a4fac7d145ad8f3e1b28 Author: Michael Ellerman Date: Sun Feb 22 16:25:45 2009 +0000 powerpc: Make sure we copy all cpu_spec features except PMC related ones When identify_cpu() is called a second time with a logical PVR, it only copies a subset of the cpu_spec fields so as to avoid overwriting the performance monitor fields that were initialized based on the real PVR. However some of the other, non performance monitor related fields are also not copied: * pvr_mask * pvr_value * mmu_features * machine_check The fact that pvr_mask is not copied can result in show_cpuinfo() showing the cpu as "unknown", if we override an unknown PVR with a logical one - as reported by Shaggy. So change the logic to copy all fields, and then put back the PMC related ones in the case that we're overwriting a real PVR with a logical one. Signed-off-by: Michael Ellerman Acked-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit 666435bbf31bfc2aec2afccb2fb54951e573c5c1 Author: Michael Ellerman Date: Sun Feb 22 16:25:43 2009 +0000 powerpc: Deindentify identify_cpu() The for-loop body of identify_cpu() has gotten a little big, so move the loop body logic into a separate function. No other changes. Signed-off-by: Michael Ellerman Acked-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit 1cdab55d8a8313f77a95fb8ca966dc4334f8e810 Author: Benjamin Herrenschmidt Date: Sun Feb 22 16:19:14 2009 +0000 powerpc: Wire up /proc/vmallocinfo to our ioremap() This adds the necessary bits and pieces to powerpc implementation of ioremap to benefit from caller tracking in /proc/vmallocinfo, at least for ioremap's done after mem init as the older ones aren't tracked. Signed-off-by: Benjamin Herrenschmidt commit 16962e7ce1dce29e1e92d231ac7d6844d7385d54 Author: Nick Piggin Date: Thu Feb 19 07:07:41 2009 +0000 powerpc: Estimate G5 cpufreq transition latency Setting G5's cpu frequency transition latency to CPUFREQ_ETERNAL stops ondemand governor from working. I measured the latency using sched_clock and haven't seen much higher than 11000ns, so I set this to 12000ns for my configuration. Possibly other configurations will be different? Ideally the generic code would be able to measure it in case the platform does not provide it. But this simple patch at least makes it throttle again. Signed-off-by: Nick Piggin Signed-off-by: Benjamin Herrenschmidt commit e14eee56c2280953c6e3d24d5dce42bd90836b81 Merge: d6ee6f7... 99adcd9... Author: Benjamin Herrenschmidt Date: Wed Mar 11 17:10:07 2009 +1100 Merge commit 'origin/master' into next commit d6ee6f7e4c74d9a0fed7544f4d389bde004651d3 Merge: ac4dff2... 48b3fd1... Author: Benjamin Herrenschmidt Date: Wed Mar 11 17:10:00 2009 +1100 Merge commit 'gcl/next' into next commit 60db56422043aaa455ac7f858ce23c273220f9d9 Author: Tejun Heo Date: Wed Mar 11 14:36:54 2009 +0900 percpu: fix spurious alignment WARN in legacy SMP percpu allocator Impact: remove spurious WARN on legacy SMP percpu allocator Commit f2a8205c4ef1af917d175c36a4097ae5587791c8 incorrectly added too tight WARN_ON_ONCE() on alignments for UP and legacy SMP percpu allocator. Commit e317603694bfd17b28a40de9d65e1a4ec12f816e fixed it for UP but legacy SMP allocator was forgotten. Fix it. Signed-off-by: Tejun Heo Reported-by: Sachin P. Sant commit 5490fa96735ce0e2af270c0868987d644b9a38ec Author: KOSAKI Motohiro Date: Wed Mar 11 10:14:26 2009 +0900 x86, mce: use round_jiffies() instead round_jiffies_relative() Impact: saving power _very_ little round_jiffies() round up absolute jiffies to full second. round_jiffies_relative() round up relative jiffies to full second. The "t->expires" is absolute jiffies. Then, round_jiffies() should be used instead round_jiffies_relative(). Signed-off-by: KOSAKI Motohiro Cc: Andi Kleen Cc: H. Peter Anvin Signed-off-by: H. Peter Anvin commit fee7b0d84cc8c7bc5dc212901c79e93eaf83a5b5 Author: Huang Ying Date: Tue Mar 10 10:57:16 2009 +0800 x86, kexec: x86_64: add kexec jump support for x86_64 Impact: New major feature This patch add kexec jump support for x86_64. More information about kexec jump can be found in corresponding x86_32 support patch. Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit 5359454701ce51a4626b1ef6eb7b16ec35bd458d Author: Huang Ying Date: Tue Mar 10 10:57:04 2009 +0800 x86, kexec: x86_64: add identity map for pages at image->start Impact: Fix corner case that cannot yet occur image->start may be outside of 0 ~ max_pfn, for example when jumping back to original kernel from kexeced kenrel. This patch add identity map for pages at image->start. Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit fef3a7a17418814733ebde0b40d8e32747677c8f Author: Huang Ying Date: Tue Mar 10 10:56:57 2009 +0800 x86, kexec: fix kexec x86 coding style Impact: Cleanup Fix some coding style issue for kexec x86. Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit e2b8b2808538a91444e78c7db5a30519cadd09b2 Merge: 4dd163a... ef18012... Author: Ingo Molnar Date: Tue Mar 10 22:55:31 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 4dd163a0512eb91bbcf4e66d2f65b8e4042561b3 Merge: 6cc3c6e... 7cf4942... 99adcd9... Author: Ingo Molnar Date: Tue Mar 10 22:54:23 2009 +0100 Merge branches 'tracing/ftrace', 'tracing/textedit' and 'linus' into tracing/core commit 80370cb758e7ca2692cd9fb5e413d970b1f4b2b2 Author: Steven Rostedt Date: Tue Mar 10 17:16:35 2009 -0400 tracing: use raw spinlocks for trace_vprintk Impact: prevent locking up by lockdep tracer The lockdep tracer uses trace_vprintk and thus trace_vprintk can not call back into lockdep without locking up. Signed-off-by: Steven Rostedt commit f455dfb106916d855d59686fe16575c2ceb2cb2a Author: Mark Brown Date: Tue Mar 10 19:51:07 2009 +0000 ASoC: Fix up merge with the ARM tree The same change has been made with the final lines in slightly differnet orders. Signed-off-by: Mark Brown commit cbf1146d5ee113152c5cdeb54ff9d4b2f0c91736 Author: Daniel Mack Date: Tue Mar 10 16:41:00 2009 +0100 ASoC: don't touch pxa-ssp registers when stream is running In pxa_ssp_set_dai_fmt(), check whether there is anything to do at all. If there would be but the SSP port is in use already, bail out. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit ace14b82633960a2b6bf6a0b2640c63872a65562 Author: Martin Michlmayr Date: Tue Mar 10 08:59:58 2009 +0100 [ARM] Orion: Fix some typos in the DNS-323 support code Fix some typos in the DNS-323 support code. Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 6cc3c6e12bb039047974ad2e7e2d46d15a1b762f Author: Peter Zijlstra Date: Tue Mar 10 19:03:43 2009 +0100 trace_clock: fix preemption bug Using the function_graph tracer in recent kernels generates a spew of preemption BUGs. Fix this by not requiring trace_clock_local() users to disable preemption themselves. Signed-off-by: Peter Zijlstra Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit ef18012b248b47ec9a12c3a83ca5e99782d39c5d Author: Steven Rostedt Date: Tue Mar 10 14:10:56 2009 -0400 tracing: remove funky whitespace in the trace code Impact: clean up There existed a lot of 's in the tracing code. This patch removes them. Signed-off-by: Steven Rostedt commit f24ade3a3332811a512ed3b6c6aa69486719b1d8 Author: Ingo Molnar Date: Tue Mar 10 19:02:30 2009 +0100 x86, sched_clock(): mark variables read-mostly Impact: micro-optimization There's a number of variables in the sched_clock() path that are in .data/.bss - but not marked __read_mostly. This creates the danger of accidental false cacheline sharing with some other, write-often variable. So mark them __read_mostly. Signed-off-by: Ingo Molnar commit 9b779edf4b97798d037bb44fca2719ac184d0f14 Author: Jaswinder Singh Rajput Date: Tue Mar 10 15:37:51 2009 +0530 x86: cpu architecture debug code Introduce: cat /sys/kernel/debug/x86/cpu/* for Intel and AMD processors to view / debug the state of each CPU. By using this we can debug whole range of registers and other cpu information for debugging purpose and monitor how things are changing. This can be useful for developers as well as for users. Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1236701373.3387.4.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 0e3d0f0566f3fcf664782f597070bbc669d78454 Author: Steven Rostedt Date: Tue Mar 10 13:12:58 2009 -0400 tracing: update comments to match event code macros Impact: clean up / comments The comments that described the ftrace macros to manipulate the TRACE_EVENT and TRACE_FORMAT macros no longer match the code. This patch updates them. Reported-by: KOSAKI Motohiro Signed-off-by: Steven Rostedt commit 823f9124fb2e33eeb624d139978a52089f8a02ae Author: Steven Rostedt Date: Tue Mar 10 12:58:51 2009 -0400 tracing: document TRACE_EVENT macro in tracepoint.h Impact: clean up / comments Kosaki Motohiro asked about an explanation to the TRACE_EVENT macro. Ingo Molnar replied with a nice description. This patch takes the description that Ingo wrote (with some slight modifications) and adds it to the tracepoint.h file. Reported-by: KOSAKI Motohiro Signed-off-by: Steven Rostedt commit 30a8fecc2d34f086df34fe2f2b926f080e002600 Author: Steven Rostedt Date: Tue Mar 10 12:41:38 2009 -0400 tracing: flip the TP_printk and TP_fast_assign in the TRACE_EVENT macro Impact: clean up In trying to stay consistant with the C style format in the TRACE_EVENT macro, it makes more sense to do the printk after the assigning of the variables. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 1288b670e6cb3745392de617f223672396f98d73 Author: Ben Dooks Date: Fri Dec 12 00:24:16 2008 +0000 [ARM] S3C64XX: add AHB_CON and SPCON register address definitions Add the address definitions for S3C64XX_AHB_CONx and SPCON registers for use in the PM code. Signed-off-by: Ben Dooks commit 36d543a3b56dc7cddb63f5734e13db16066933a4 Author: Ben Dooks Date: Fri Dec 12 00:24:04 2008 +0000 [ARM] S3C64XX: Add definitions for the GPIO memory port configurations Add defines for the registers that control the GPIO pins that are run the memory interface. Signed-off-by: Ben Dooks commit 2ae0b117a62c46c233c421e94fd4692ad562d1c7 Author: Ben Dooks Date: Fri Dec 12 00:24:02 2008 +0000 [ARM] S3C64XX: SYSCON power and sleep control register defines Add the register defines for the sleep and power control functions in the S3C64XX SYSCON register block. Signed-off-by: Ben Dooks commit 2454e524bcfd8b2fefa28af0f33bfcd376ecdfcb Author: Ben Dooks Date: Fri Dec 12 00:24:39 2008 +0000 [ARM] S3C64XX: Add S3C64XX_SPCON register bit definitions Add the definitions for the SPCON register in the GPIO block. Signed-off-by: Ben Dooks commit e383707131910337afadfc202c58a70361a9ea7c Author: Ben Dooks Date: Fri Dec 12 00:24:17 2008 +0000 [ARM] S3C64XX: Add GPIO SPCONSLP and SLPEN register definitions Add GPIO register definitions for SPCONSLP and SLPEN for controlling the state of the pins over sleep. Signed-off-by: Ben Dooks commit 333053733f52fa8c8e44c621b7b17fe5df215d4a Author: Ben Dooks Date: Fri Dec 12 00:24:15 2008 +0000 [ARM] S3C64XX: Add EINT group regs and move IRQ_EINT to regs-gpio.h Add definitions for the EINT group registers and move the EINT IRQ register definitions out of arch/arm/plat-s3c64xx/irq-eint.c so that they are available for re-use with PM and the other code. Signed-off-by: Ben Dooks commit 5b3d515fcfe93d012107b9bd4895e2d913cbe8c3 Author: Ben Dooks Date: Fri Dec 12 00:24:38 2008 +0000 [ARM] S3C64XX: Add modem registers and a virtual map Add the modem registers and a virtual mapping for the modem block. This is is required as there are registers that control the LCD block that need to be saved over suspend as well as interrupt controls. Signed-off-by: Ben Dooks commit 2395037e5dd6841a6fa23afbb31e79d92e549cd1 Merge: bbcd306... 39e874f... Author: Ingo Molnar Date: Tue Mar 10 17:17:32 2009 +0100 Merge branch 'core/printk' into tracing/ftrace commit 2314c4ae1461c9e8b26cf8b9a851f280bc5769e1 Author: Steven Rostedt Date: Tue Mar 10 12:04:02 2009 -0400 tracing: add back the available_events file The event directory files type and available_types were no longer needed with the new TRACE_EVENT_FORMAT macros, they were deleted. But by accident the available_events file was also removed. This patch brings it back. Reported-by: KOSAKI Motohiro Signed-off-by: Steven Rostedt commit 57310a98a354e84279d7c8af2f48805a62372e53 Author: Peter Zijlstra Date: Mon Mar 9 13:56:21 2009 +0100 sched: optimize ttwu vs group scheduling Impact: micro-optimization We can avoid the sched domain walk on try_to_wake_up() when we know there are no groups. Signed-off-by: Peter Zijlstra LKML-Reference: <1236603381.8389.455.camel@laptop> Signed-off-by: Ingo Molnar commit 090cec81ae9b4ff0c1d301b722f0e6c5fb72d8f9 Author: Hugo Villeneuve Date: Mon Mar 9 23:32:08 2009 -0400 ALSA: ASoC: Davinci: Updated sffsdr_hw_params() function to new format Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit 14cbba89ae967d2e9106a80b270b078d7699109a Author: Hugo Villeneuve Date: Mon Mar 9 23:32:07 2009 -0400 ALSA: ASoC: Davinci: Replaced DAI format RIGHT_J by DSP_B for SFFSDR Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit b3d7e3c99d855faf093b06dc381b821a9d8d3c23 Merge: eac8473... 0a4e1c9... Author: Mark Brown Date: Tue Mar 10 15:42:03 2009 +0000 Merge commit 'takashi/topic/asoc' into for-2.6.30 commit 8c54436ae9f59146b3d02820a3ebbf71e61f2aee Merge: 5ed0cec... 7a203f3... Author: Ingo Molnar Date: Tue Mar 10 16:34:43 2009 +0100 Merge branches 'sched/cleanups' and 'linus' into sched/core commit 40e26815fafd3b8c4aced17b1f22e68ef33eb8db Author: Steven Rostedt Date: Tue Mar 10 11:32:40 2009 -0400 tracing: do not allow modifying the ftrace events via the event files Impact: fix to prevent crash on calling NULL function pointer The ftrace internal records have their format exported via the event system under the ftrace subsystem. These are only for exporting the format to allow binary readers to be able to parse them in a binary output. The ftrace subsystem events can only be enabled via the ftrace tracers and do not have a registering function. The event files expect the event record to have registering function and will call it directly. Passing in a ftrace subsystem event will cause the kernel to crash because it will execute a NULL pointer. This patch prevents the ftrace subsystem from being viewable to the event enabling files. Signed-off-by: Steven Rostedt commit 7cf49427042400d40bdc80b5c3399b6b5945afa8 Author: Masami Hiramatsu Date: Mon Mar 9 12:40:40 2009 -0400 x86: expand irq-off region in text_poke() Expand irq-off region to cover fixmap using code and cache synchronizing. Signed-off-by: Masami Hiramatsu LKML-Reference: <49B54688.8090403@redhat.com> Signed-off-by: Ingo Molnar commit df481e41b963b7fc3d7e3543a0c7bb140a682146 Author: Takashi Iwai Date: Tue Mar 10 15:35:35 2009 +0100 ALSA: hda - Clean up Cxt5047 parser Clean up Conexant 5047 pareser code: - Split mixer elements to separate arrays to reduce the duplicated entires - Fix mixer element names to the standard ones - Remove unneeded cxt5047_hp2_unsol_event; the normal unsol_event handler works fine. Signed-off-by: Takashi Iwai commit ce8eb2bf05042452107e489782105d2e235cbdd0 Author: Steven Rostedt Date: Tue Mar 10 10:14:35 2009 -0400 tracing: fix printk format specifier Impact: clean up The offsetof and sizeof are of type size_t, and instead of typecasting them to unsigned int for printk formatting, one could just use %zu. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 5b3a7440cbabdda07cfb3dcf4a07e0115a3dff9a Author: Takashi Iwai Date: Tue Mar 10 15:10:55 2009 +0100 ALSA: hda - Fix / clean up init verbs for Cxt5047 codec Fix the initial connections of output pins 0x13 and 0x1d for Conexant 5047 codec to point to the mixer amp properly. Removed unneeded (doubly) verbs from arrays, also removed the unneeded changing of widget 0x1c, which is now completely unused. Signed-off-by: Takashi Iwai commit 3b628867f328cfe1ad4811d63961579874f87041 Author: Takashi Iwai Date: Tue Mar 10 14:53:54 2009 +0100 ALSA: hda - Remove superfluous verbs for Cxt5047 laptop-eapd model Remove superfluous verbs from cxt5047_toshiba_init_verbs[]. Also fix comments and minor coding style issues. Signed-off-by: Takashi Iwai commit b880c74adf7e79b97de710a152ea82f292f9abc7 Author: Takashi Iwai Date: Tue Mar 10 14:41:05 2009 +0100 ALSA: hda - Create "Capture Source" control dynamically in patch_conexant.c Create "Capture Source" control dynamically for Conexant codecs. If only one capture item is available, don't create such a control since it's just useless. Signed-off-by: Takashi Iwai commit dd5746a85cb21ea5b3afca0b569586a05aa56846 Author: Takashi Iwai Date: Tue Mar 10 14:30:40 2009 +0100 ALSA: hda - Create vmaster for conexant codecs Instead of binding volumes, create a virtual master volume for Conexant codecs. This allows separate HP and speaker volume controls. Signed-off-by: Takashi Iwai commit bbb76b552a9cef86777181c8577acc907b122b41 Author: Américo Wang Date: Tue Mar 10 17:34:47 2009 +0800 ptrace: remove a useless goto Impact: cleanup Obviously, this goto is useless. Remove it. Signed-off-by: WANG Cong Cc: Andrew Morton Cc: Roland McGrath LKML-Reference: <20090310093447.GC3179@hack> Signed-off-by: Ingo Molnar commit 3e1a3ce2f19a8a74fe6771f6dcd642d61ae050dc Author: Ayaz Abdulla Date: Thu Mar 5 08:02:38 2009 +0000 forcedeth: version bump to 64 This patch bumps up the version to 0.64 Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 1b2bb76f575699eff3f58b18dcfebf5d3b1f6ddb Author: Ayaz Abdulla Date: Thu Mar 5 08:02:34 2009 +0000 forcedeth: fix irq clearing and napi spin lock changes This patch clears the irqstatus register with the exact same events it has read from it. Since the read-write operation is not atomic, a new irqstatus bit could have been set in between these operations and would then be cleared accidentally. Secondly, we now don't need any spin lock protection when scheduling/completing napi poll as the isr will not execute anymore (as we turn off all interrupts now). Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 6cef67a02f7994c97dbd716dbeb592265fb5b7b0 Author: Ayaz Abdulla Date: Thu Mar 5 08:02:30 2009 +0000 forcedeth: performance changes This patch modifies the throughput mode poll settings to reduce the number of interrupts. This is only used by older hardware that need a timer irq in throughput mode. Secondly, this patch increases the default rx ring from 128 to 512. This drastically improves bandwidth utilization for small packets sizes i.e 512 bytes. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 4145ade2bb265b34331265bfa2221e40b069b3ca Author: Ayaz Abdulla Date: Thu Mar 5 08:02:26 2009 +0000 forcedeth: add interrupt moderation logic This patch adds the logic to moderate the interrupts by changing the mode between throughput and poll. If there has been a large amount of time without any burst of network load, the code will transition to pure throughput mode (where each tx/rx/other will cause an interrupt). If bursts of network load occurs, it will transition to poll based mode to help reduce cpu utilization (it will not interrupt on each packet) while maintaining the optimum network bandwidth utilization. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit b67874ac1604cda8070d60d432e892c09d761b2e Author: Ayaz Abdulla Date: Thu Mar 5 08:02:22 2009 +0000 forcedeth: remove isr processing loop This patch is only a subset of changes so that it is easier to see the modifications. This patch removes the isr 'for' loop and shifts all the logic to account for new tab spacing. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 9e184767c956e71d9535c9fc8433e140f819d07d Author: Ayaz Abdulla Date: Thu Mar 5 08:02:18 2009 +0000 forcedeth: add new optimization mode A new optimization mode called Dynamic has been added. This will be mode where interrupt moderation logic will dynamically switch between pure throughput mode and poll based (called 'cpu') mode. Also, for newer chipsets, the timer irq is not needed for throughput mode. Secondly, since we are modifying the irqmask to change between modes, msix is not supported. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit f27e6f39fc37f378f5485b9a0ff905796e789f80 Author: Ayaz Abdulla Date: Thu Mar 5 08:02:14 2009 +0000 forcedeth: napi - handle all processing The napi poll routine has been modified to handle all interrupt events and process them accordingly. Therefore, the ISR will now only schedule the napi poll and disable all interrupts instead of just disabling rx interrupt. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 33912e72d00c3627dbbb7c59463df9535176059f Author: Ayaz Abdulla Date: Thu Mar 5 08:02:10 2009 +0000 forcedeth: add/modify tx done with limit There are two tx_done routines to handle tx completion processing. Both these functions now take in a limit value and return the amount of tx completions. This will be used by a future patch to determine the total amount of work done. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 2daac3e8f831beba2012fdefda17770456be9b7e Author: Ayaz Abdulla Date: Thu Mar 5 08:02:06 2009 +0000 forcedeth: remove overhead This patch removes unnecessary overhead code. Firstly, there is no nead to mask off unwanted interrupts as we will be checking against the irqmask field anyways. Secondly, there has been no value in last few years from detecting error or unknown interrupts. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 582806be066bd35dc5d2739b090b561a5efd787a Author: Ayaz Abdulla Date: Thu Mar 5 08:02:03 2009 +0000 forcedeth: save irq events for napi processing This patch will save the irq events in the driver's context so that the napi routine knows which interrupts have occurred. Subsequent changes will be moving all interrupt processing into the napi poll routine. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit d41c628c514bceb33037c26f83585c629594bed5 Author: Ayaz Abdulla Date: Thu Mar 5 08:01:59 2009 +0000 forcedeth: remove msix + napi This patch removes support for msix running in conjunction with napi. There has been reported issues regarding the behaviour of irqmask and generation of interrupts by the HW when in MSIX mode. When running napi, the driver is constantly turning off/on the irqmask. For the time being, I am going to disable it until I can root cause the issue. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 08d935757440872d46be77f95153972cdbfe550d Author: Ayaz Abdulla Date: Thu Mar 5 08:01:55 2009 +0000 forcedeth: fix missing napi enable/disable calls This patch adds missing napi enable/disable calls. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 8ed1454aa8ab6c616f9c457238c6397c0529ceb9 Author: Ayaz Abdulla Date: Thu Mar 5 08:01:49 2009 +0000 forcedeth: fix stats version feature Newer versions of the stats feature would not encompass all older versions. This would result in only retreiving a subset of all available stats in HW. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit a2205472c3017bfe97b6cb6f5acd6ca141a97eda Author: Stephen Hemminger Date: Mon Mar 9 13:51:55 2009 +0000 net: fix warning about non-const string Since dev_set_name takes a printf style string, new gcc complains if arg is not const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7546dd97d27306d939c13e03318aae695badaa88 Author: Stephen Hemminger Date: Mon Mar 9 08:18:29 2009 +0000 net: convert usage of packet_type to read_mostly Protocols that use packet_type can be __read_mostly section for better locality. Elminate any unnecessary initializations of NULL. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3f612132c7164d5cc9ed677a2fdf8950222d2170 Author: Paul Bolle Date: Sun Mar 8 05:23:13 2009 +0000 gigaset: return -ENOTTY for unimplemented functions A number of functions in the usb_gigaset module will return -EINVAL if CONFIG_GIGASET_UNDOCREQ is not set. Make these return -ENOTTY as it's more specific and it might make it easier to see (from userspace) why these functions actually fail. Impact: some error return codes changed Signed-off-by: Paul Bolle Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 3c420f27b7b2340a81989c8d9ed619e545dd2ad7 Author: Tilman Schmidt Date: Sat Mar 7 12:11:02 2009 +0000 gigaset: Kconfig cleanup Streamline dependencies and remove some obsolete or redundant comments in the Gigaset ISDN driver's Kconfig file. In particular, remove the strong warning against the GIGASET_UNDOCREQ option, as in seven years of existence, the code in question has never been reported to cause any harm. Impact: Kconfig cleanup, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 39e874f8afbdb3745e2406ce4ecbde9ac4cbaa78 Author: Frederic Weisbecker Date: Mon Mar 9 21:15:04 2009 +0100 vsprintf: fix bug in negative value printing Sitsofe Wheeler found and bisected that while unifying the vsprintf format decoding in: fef20d9: vsprintf: unify the format decoding layer for its 3 users The sign flag has been dropped out in favour of precise types (ie: LONG/ULONG). But the format helper number() still needs this flag to keep track of the signedness unless it will consider all numbers as unsigned. Also add an explicit cast to int (for %d) while parsing with va_arg() to ensure the highest bit is well extended on the 64 bits number that hosts the value in case of negative values. Reported-Bisected-Tested-by: Sitsofe Wheeler Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Linus Torvalds LKML-Reference: <20090309201503.GA5010@nowhere> Signed-off-by: Ingo Molnar commit 1e2d0059fc24c84356721c16c2ad0590c38015a0 Author: Dhananjay Phadke Date: Mon Mar 9 08:50:56 2009 +0000 netxen: annotate board_config and board_type Remove huge board config structure from each instance, read only necessary fields from flash. Replace board_type with port_type (1G/10G), there's another board_type field describing card type (SFP/XFP/CX4). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit becf46a012db667c562bbbe589c14e100b62e5a4 Author: Dhananjay Phadke Date: Mon Mar 9 08:50:55 2009 +0000 netxen: cleanup superfluous multi-context code MAX_RCV_CTX was set to 1, there's only rx context per PCI function. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 9f5bc7f1908665d7cf379f698c7bdc53bc10da85 Author: Dhananjay Phadke Date: Mon Mar 9 08:50:54 2009 +0000 netxen: refactor netdev open close rearrange open and close into hardware attach(), detach() and nic up() and down(). this will be used for suspend/resume subsequently. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d32cc3d24eace8a271a39ffe8aeae1861f400d2d Author: Dhananjay Phadke Date: Mon Mar 9 08:50:53 2009 +0000 netxen: small xmit optimizations Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 0ddc110c6fef34c554999448cdffe9c174a15fc9 Author: Dhananjay Phadke Date: Mon Mar 9 08:50:52 2009 +0000 netxen: cleanup rx handling o remove unused rx fragment handling code. o imporove check for status descriptor ownership. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d5df2a16133f4eb22f9a6bbc07723443568d362f Merge: d4a4aba... db434ac... Author: David S. Miller Date: Tue Mar 10 05:04:16 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x_main.c drivers/net/wireless/iwlwifi/iwl3945-base.c drivers/net/wireless/rt2x00/rt73usb.c commit fff94cd9f5527bbba13aa5ea5719d16531ca8e65 Author: Ben Dooks Date: Tue Mar 10 11:48:07 2009 +0000 [ARM] S3C: Tidy sleep code path to fix call flow As noted by Russell King, the sleep code path is not elegant and makes use of leaving items on the stack between calls. Change the code that does the following: if (s3c_cpu_save(regs_save) == 0) { flush_cache_all(); S3C_PMDBG("preparing to sleep\n"); pm_cpu_sleep(); } to simply call s3c_cpu_save, and let that do the necessary calls to quiesce and sleep the system. Signed-off-by: Ben Dooks commit d4a4aba61731ce6d102a6a93e22b8fa26511c9d5 Author: Ron Mercer Date: Mon Mar 9 10:59:28 2009 +0000 qlge: bugfix: Fix endian issue related to rx buffers. This was introduced in an earlier net-next patch. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 74c50b4bae225b8e5aff9a1ceca256ba46c665c6 Author: Ron Mercer Date: Mon Mar 9 10:59:27 2009 +0000 qlge: bugfix: Pad outbound frames smaller than 60 bytes. With some asic configurations xmit of frames smaller than 60 bytes may fail. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 6b318cb36813d03dd20f80e63c37176a55edae30 Author: Ron Mercer Date: Mon Mar 9 10:59:26 2009 +0000 qlge: bugfix: Move netif_napi_del() to common call point. Moving netif_napi_del() up the call chain so it will get called from all exit points. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 39a28bc480bff0f778d043877aff2fd16ad5f769 Author: Ron Mercer Date: Mon Mar 9 10:59:25 2009 +0000 qlge: Remove spinlock from asic init path. There is nothing to contend with it. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b25215d0433f6c71b68eede3548815196a2ed5d5 Author: Ron Mercer Date: Mon Mar 9 10:59:24 2009 +0000 qlge: Clear shadow registers before use. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 08b1bc8f4aba4ddbc4ccef7ebc899e6faae81bbf Author: Ron Mercer Date: Mon Mar 9 10:59:23 2009 +0000 qlge: Get rid of irqsave/restore in intr disable. The completion interrupt disable routine is only called from the ISR, so there is no need for irqsave/restore. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit c9cf0a04a0c20c26388c51052296d774ec92e2bd Author: Ron Mercer Date: Mon Mar 9 10:59:22 2009 +0000 qlge: bugfix: Tell hw to strip vlan header. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 1e213303d8ef2a5d43fb64d2b373858ef70cc79b Author: Ron Mercer Date: Mon Mar 9 10:59:21 2009 +0000 qlge: Add tx multiqueue support. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 22bdd4f599b87734b7fc8137f47e62c13ab27e93 Author: Ron Mercer Date: Mon Mar 9 10:59:20 2009 +0000 qlge: Add support for GRO. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d555f5921f2b0d9f65b547dd0be67c870ff5a56f Author: Ron Mercer Date: Mon Mar 9 10:59:19 2009 +0000 qlge: Increase filtering for inbound csum settings. Chip does not do UDP checksum when fragmentation occurs. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a75ee7f1ccace560642e5dc6b1c0e22c73da5a8c Author: Ron Mercer Date: Mon Mar 9 10:59:18 2009 +0000 qlge: Remove debug junk from asic reset logic. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit db98812f6bbe17c5994d6290a68f8de8aa5ff8b9 Author: Ron Mercer Date: Mon Mar 9 10:59:17 2009 +0000 qlge: Move reset logic into asic_reset_worker func. Get rid of extraneous ql_cycle_adapter. It's only called from the one place. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit bbcd3063597a3824357cd83c501c2a2aa21ef37b Author: KOSAKI Motohiro Date: Tue Mar 10 10:49:53 2009 +0900 tracing: Don't assume possible cpu list have continuous numbers "for (++cpu ; cpu < num_possible_cpus(); cpu++)" statement assumes possible cpus have continuous number - but that's a wrong assumption. Insted, cpumask_next() should be used. Signed-off-by: KOSAKI Motohiro Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <20090310104437.A480.A69D9226@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 8293dd6f86e759068ce918aa10ca9c5d6d711cd0 Merge: 631595f... 467c88f... Author: Ingo Molnar Date: Tue Mar 10 10:16:17 2009 +0100 Merge branch 'x86/core' into tracing/ftrace Semantic merge: kernel/trace/trace_functions_graph.c Signed-off-by: Ingo Molnar commit 631595fbf4aeac260e664a8a002897e4db6a50dd Author: KOSAKI Motohiro Date: Tue Mar 10 13:57:10 2009 +0900 doc: add trace_buf_size description to kernel-parameters.txt from early boot tracing view, trace_buf_size parameter is important. it should be documented. Signed-off-by: KOSAKI Motohiro LKML-Reference: <20090310135200.A48B.A69D9226@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 47a72688fae7298e1ad5fdc9bff7e04b6a549620 Author: Adrian McMenamin Date: Wed Mar 4 00:31:04 2009 +0000 mtd: flash mapping support for Dreamcast VMU. This patch adds support for the Sega Dreamcast visual memory unit as a flash mapping. It requires changes in the maple bus driver (posted separately) to support block reads and writes. The VMU is a 'smart' flash device, with a built-in 8-bit controller - for instance there is an erase before a write but it is hidden from the user. But the device's overall behaviour means it works well with the mtd layer and it is appropriate to add it as an mtd mapping. Signed-off-by: Adrian McMenamin Acked-By: David Woodhouse Signed-off-by: Paul Mundt commit 9a1043d19c4edc4ff1d80081a39809a506a62e4d Merge: 12e87e3... 157587d... Author: Ingo Molnar Date: Tue Mar 10 09:57:16 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 12e87e36e0141c08dbc8b2177c93c75fb18ad7e5 Merge: 42b40b3... c3ffc7a... 7bffc23... 7a203f3... Author: Ingo Molnar Date: Tue Mar 10 09:56:25 2009 +0100 Merge branches 'tracing/doc', 'tracing/ftrace', 'tracing/printk' and 'linus' into tracing/core commit 8c5dfd25519bf302ba43daa59976c4d675a594a7 Author: Stoyan Gaydarov Date: Tue Mar 10 00:10:32 2009 -0500 x86: BUG to BUG_ON changes Impact: cleanup Signed-off-by: Stoyan Gaydarov LKML-Reference: <1236661850-8237-8-git-send-email-stoyboyker@gmail.com> Signed-off-by: Ingo Molnar commit 71b973a42c5456824c8712e00659d9616d395919 Author: Nobuhiro Iwamatsu Date: Tue Mar 10 17:26:49 2009 +0900 sh: dma-sh updates for multi IRQ and new SH-4A CPUs. This adds DMA support for newer SH-4A CPUs, particularly SH7763/64/80/85. This also enables multi IRQ support for platforms that have multiple vectors bound to the same IRQ source. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 467c88fee51e2ae862e9485245687da0730e29aa Merge: 1f442d7... 7ab1524... 8827247... d1a8e77... 0feca85... d0fc63f... 7a203f3... 3a450de... Author: Ingo Molnar Date: Tue Mar 10 09:26:38 2009 +0100 Merge branches 'x86/apic', 'x86/asm', 'x86/fixmap', 'x86/memtest', 'x86/mm', 'x86/urgent', 'linus' and 'core/percpu' into x86/core commit ae68df5635a191c7edb75f5c1c1406353cb24a9f Author: Paul Mundt Date: Tue Mar 10 17:00:48 2009 +0900 sh: Generate uImage by default on Urquell board. Signed-off-by: Paul Mundt commit 66c3a75772247c31feabefb724e082220a1ab060 Author: Tejun Heo Date: Tue Mar 10 16:27:48 2009 +0900 percpu: generalize embedding first chunk setup helper Impact: code reorganization Separate out embedding first chunk setup helper from x86 embedding first chunk allocator and put it in mm/percpu.c. This will be used by the default percpu first chunk allocator and possibly by other archs. Signed-off-by: Tejun Heo commit 6074d5b0a319fe8400ff079a3c289406ca024321 Author: Tejun Heo Date: Tue Mar 10 16:27:48 2009 +0900 percpu: more flexibility for @dyn_size of pcpu_setup_first_chunk() Impact: cleanup, more flexibility for first chunk init Non-negative @dyn_size used to be allowed iff @unit_size wasn't auto. This restriction stemmed from implementation detail and made things a bit less intuitive. This patch allows @dyn_size to be specified regardless of @unit_size and swaps the positions of @dyn_size and @unit_size so that the parameter order makes more sense (static, reserved and dyn sizes followed by enclosing unit_size). While at it, add @unit_size >= PCPU_MIN_UNIT_SIZE sanity check. Signed-off-by: Tejun Heo commit e01009833e22dc87075d770554b34d797843ed23 Author: Tejun Heo Date: Tue Mar 10 16:27:48 2009 +0900 percpu: make x86 addr <-> pcpu ptr conversion macros generic Impact: generic addr <-> pcpu ptr conversion macros There's nothing arch specific about x86 __addr_to_pcpu_ptr() and __pcpu_ptr_to_addr(). With proper __per_cpu_load and __per_cpu_start defined, they'll do the right thing regardless of actual layout. Move these macros from arch/x86/include/asm/percpu.h to mm/percpu.c and allow archs to override it as necessary. Signed-off-by: Tejun Heo commit 19390c4d03688b9940a1836f06b76ec622b9cd6f Author: Tejun Heo Date: Tue Mar 10 16:27:48 2009 +0900 linker script: define __per_cpu_load on all SMP capable archs Impact: __per_cpu_load available on all SMP capable archs Percpu now requires three symbols to be defined - __per_cpu_load, __per_cpu_start and __per_cpu_end. There were three archs which didn't have it. Update them as follows. * powerpc: can use generic PERCPU() macro. Compile tested for powerpc32, compile/boot tested for powerpc64. * ia64: can use generic PERCPU_VADDR() macro. __phys_per_cpu_start is identical to __per_cpu_load. Compile tested and symbol table looks identical after the change except for the additional __per_cpu_load. * arm: added explicit __per_cpu_load definition. Currently uses unified .init output section so can't use the generic macro. Dunno whether the unified .init ouput section is required by arch peculiarity so I left it alone. Please break it up and use PERCPU() if possible. Signed-off-by: Tejun Heo Cc: Benjamin Herrenschmidt Cc: Pat Gefre Cc: Russell King commit dc65a977ce59f2c3171ea451b90c7e5effb6737e Author: Paul Mundt Date: Tue Mar 10 16:26:29 2009 +0900 sh: Define ARCH_SHMOBILE for SH-Mobile CPUs. Signed-off-by: Paul Mundt commit 6dfc0d2c4b9a5455c60e0b9ee95bbf22fc516cef Author: Takashi Iwai Date: Tue Mar 10 07:54:20 2009 +0100 ALSA: hda - Add missing models to documentation Signed-off-by: Takashi Iwai commit 8ffe31334262108be343d92e81649f9dc3efe826 Author: Yoshihiro Shimoda Date: Tue Mar 10 15:51:49 2009 +0900 sh: pci-sh7780: fix pci memory address for fixed PMB Fix the problem that cannot work a PCI device when 32-bit physical address mode. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit df4d4f1a47ed6080c7b4010149126bd1013dc3f1 Author: Yoshihiro Shimoda Date: Tue Mar 10 15:50:44 2009 +0900 sh: sh7785lcr: Updates for fixed PMB. Add a new defconfig for SH7785LCR in 32-bit mode, and update the power off code to avoid 29-bit assumptions. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 2f47f44790a9c8fc43e515df3c6be19a35ee5de5 Author: Yoshihiro Shimoda Date: Tue Mar 10 15:49:54 2009 +0900 sh: Support fixed 32-bit PMB mappings from bootloader. This provides a method for supporting fixed PMB mappings inherited from the bootloader, as an alternative to the dynamic PMB mapping currently used by the kernel. In the future these methods will be combined. P1/P2 area is handled like a regular 29-bit physical address, and local bus device are assigned P3 area addresses. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 6fce61aeaf0dc1dfa306092539397ab903a9afc4 Author: Takashi Iwai Date: Tue Mar 10 07:48:57 2009 +0100 ALSA: hda - Fix coding style issues in last two patches Also re-ordered the quirk entries per SSID. Signed-off-by: Takashi Iwai commit 443e26d014c242623dd70cda054cc6e5ebf7993d Author: Christoph Plattner Date: Tue Mar 10 00:05:56 2009 +0100 ALSA: hda - Rework on patch_sigmatel.c for HP HDX16/HDX18 Code rework, comments of mail tiwai@suse.de (2009-03-09) incorporated. Code tested on HP HDX16 (not tested on HDX18 yet). Signed-off-by: Christoph Plattner Signed-off-by: Takashi Iwai commit ae6241fbf5c8863631532e8069037bae460607be Author: Christoph Plattner Date: Sun Mar 8 23:19:05 2009 +0100 ALSA: hda - Added HP HDX16/HDX18 notebook support for HDA codecs (82HD71) Added codec recognition of HP HDX platforms and added support of the MUTE LED (orange/white). For this feature the CONFIG_SND_HDA_POWER_SAVE is needed to use event handling for mute control. Signed-off-by: Christoph Plattner Signed-off-by: Takashi Iwai commit a29b99eccecefe5026713b226f66f117c8837ad5 Author: Magnus Damm Date: Tue Mar 10 06:24:21 2009 +0000 input: add suspend wakeup support to sh_keysc This patch adds wakeup support to the sh_keysc driver. With this feature the ".../power/wakeup" file can be used to enable and disable if the device takes the system out of suspend. Default is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 508407149a7f927c4b65a20e0a08a2a94dc769c6 Author: Magnus Damm Date: Tue Mar 10 06:13:22 2009 +0000 sh: Show sleep state with Migo-R LEDs If CONFIG_PM is set, let Migo-R LEDs show sleep states. D11 will show STATUS0 and D12 PDSTATUS. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 74aaf024c9a4def24f3eb91a675e4712142d3c87 Merge: e161183... 467fc49... Author: Paul Mundt Date: Tue Mar 10 15:25:18 2009 +0900 Merge branch 'sh/stable-updates' commit e161183ba674f97fce748384f5bb037d07bdc5c9 Merge: 2ef7f0d... 99adcd9... Author: Paul Mundt Date: Tue Mar 10 15:17:26 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 157587d7ac555458da9f682e3250135e468470a6 Author: Steven Rostedt Date: Tue Mar 10 00:15:34 2009 -0400 tracing: remove obsolete TRACE_EVENT_FORMAT macro Impact: clean up The TRACE_EVENT_FORMAT macro is no longer used by trace points and only the DECLARE_TRACE, TRACE_FORMAT or TRACE_EVENT macros should be used by them. Although the TRACE_EVENT_FORMAT macro is still used by the internal tracing utility, it should not be used in core kernel code. Signed-off-by: Steven Rostedt commit d6e2ca4c05be6a5ab16030a9f227301bd6acc9f0 Author: Steven Rostedt Date: Mon Mar 9 23:23:30 2009 -0400 tracing: convert irq trace points to new macros Impact: enhancement Converted the two irq trace point macros. The entry macro copies the name of the irq handler, thus it is better to simply use the TRACE_FORMAT macro which uses the trace_printk. The return of the handler does not need to record the name, thus the faster C style handler is more approriate. Signed-off-by: Steven Rostedt commit 12b5fdb8bbb2d2fc31746d7b672c12fd8897aa08 Author: Steven Rostedt Date: Mon Mar 9 23:03:44 2009 -0400 tracing: convert the sched trace points to the TRACE_EVENT macros Impact: enhancement This patch converts the rest of the sched trace points to use the new more powerful TRACE_EVENT macro. Signed-off-by: Steven Rostedt commit da4d03020c2af32f73e8bfbab0a66620d85bb9bb Author: Steven Rostedt Date: Mon Mar 9 17:14:30 2009 -0400 tracing: new format for specialized trace points Impact: clean up and enhancement The TRACE_EVENT_FORMAT macro looks quite ugly and is limited in its ability to save data as well as to print the record out. Working with Ingo Molnar, we came up with a new format that is much more pleasing to the eye of C developers. This new macro is more C style than the old macro, and is more obvious to what it does. Here's the example. The only updated macro in this patch is the sched_switch trace point. The old method looked like this: TRACE_EVENT_FORMAT(sched_switch, TP_PROTO(struct rq *rq, struct task_struct *prev, struct task_struct *next), TP_ARGS(rq, prev, next), TP_FMT("task %s:%d ==> %s:%d", prev->comm, prev->pid, next->comm, next->pid), TRACE_STRUCT( TRACE_FIELD(pid_t, prev_pid, prev->pid) TRACE_FIELD(int, prev_prio, prev->prio) TRACE_FIELD_SPECIAL(char next_comm[TASK_COMM_LEN], next_comm, TP_CMD(memcpy(TRACE_ENTRY->next_comm, next->comm, TASK_COMM_LEN))) TRACE_FIELD(pid_t, next_pid, next->pid) TRACE_FIELD(int, next_prio, next->prio) ), TP_RAW_FMT("prev %d:%d ==> next %s:%d:%d") ); The above method is hard to read and requires two format fields. The new method: /* * Tracepoint for task switches, performed by the scheduler: * * (NOTE: the 'rq' argument is not used by generic trace events, * but used by the latency tracer plugin. ) */ TRACE_EVENT(sched_switch, TP_PROTO(struct rq *rq, struct task_struct *prev, struct task_struct *next), TP_ARGS(rq, prev, next), TP_STRUCT__entry( __array( char, prev_comm, TASK_COMM_LEN ) __field( pid_t, prev_pid ) __field( int, prev_prio ) __array( char, next_comm, TASK_COMM_LEN ) __field( pid_t, next_pid ) __field( int, next_prio ) ), TP_printk("task %s:%d [%d] ==> %s:%d [%d]", __entry->prev_comm, __entry->prev_pid, __entry->prev_prio, __entry->next_comm, __entry->next_pid, __entry->next_prio), TP_fast_assign( memcpy(__entry->next_comm, next->comm, TASK_COMM_LEN); __entry->prev_pid = prev->pid; __entry->prev_prio = prev->prio; memcpy(__entry->prev_comm, prev->comm, TASK_COMM_LEN); __entry->next_pid = next->pid; __entry->next_prio = next->prio; ) ); This macro is called TRACE_EVENT, it is broken up into 5 parts: TP_PROTO: the proto type of the trace point TP_ARGS: the arguments of the trace point TP_STRUCT_entry: the structure layout of the entry in the ring buffer TP_printk: the printk format TP_fast_assign: the method used to write the entry into the ring buffer The structure is the definition of how the event will be saved in the ring buffer. The printk is used by the internal tracing in case of an oops, and the kernel needs to print out the format of the record to the console. This the TP_printk gives a means to show the records in a human readable format. It is also used to print out the data from the trace file. The TP_fast_assign is executed directly. It is basically like a C function, where the __entry is the handle to the record. Signed-off-by: Steven Rostedt commit 9cc26a261d43e5898287a1f5808132f8f05ceb1c Author: Steven Rostedt Date: Mon Mar 9 16:00:22 2009 -0400 tracing: use generic __stringify Impact: clean up This removes the custom made STR(x) macros in the tracer and uses the generic __stringify macro instead. Signed-off-by: Steven Rostedt commit 2939b0469d04ba9ac791aca9a81625d7eb50662b Author: Steven Rostedt Date: Mon Mar 9 15:47:18 2009 -0400 tracing: replace TP with TP_ Impact: clean up The macros TPPROTO, TPARGS, TPFMT, TPRAWFMT, and TPCMD all look a bit ugly. This patch adds an underscore to their names. Signed-off-by: Steven Rostedt commit 156b5f172a64103bcb13b6d26288388b9019caa3 Author: Steven Rostedt Date: Fri Mar 6 10:50:53 2009 -0500 tracing: typecast sizeof and offsetof to unsigned int Impact: fix compiler warnings On x86_64 sizeof and offsetof are treated as long, where as on x86_32 they are int. This patch typecasts them to unsigned int to avoid one arch giving warnings while the other does not. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 2ef7f0dab6b3d171b6aff00a47077385ae3155b5 Author: Magnus Damm Date: Fri Mar 6 09:47:02 2009 +0000 sh: hibernation support Add Suspend-to-disk / swsusp / CONFIG_HIBERNATION support to the SuperH architecture. To suspend, use "swapon /dev/sda2; echo disk > /sys/power/state" To resume, pass "resume=/dev/sda2" on the kernel command line. The patch "pm: rework includes, remove arch ifdefs V2" is needed to allow the generic swsusp code to build properly. Hibernation is not enabled with this patch though, a patch setting ARCH_HIBERNATION_POSSIBLE will be submitted later. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit df7f54c012b92ec93d56b68547351dcdf8a163d3 Author: Eric Paris Date: Mon Mar 9 14:35:58 2009 -0400 SELinux: inode_doinit_with_dentry drop no dentry printk Drop the printk message when an inode is found without an associated dentry. This should only happen when userspace can't be accessing those inodes and those labels will get set correctly on the next d_instantiate. Thus there is no reason to send this message. Signed-off-by: Eric Paris Signed-off-by: James Morris commit eac84739721857f4d5be3d9127f4644f16a9bea4 Author: Ben Dooks Date: Mon Mar 9 17:47:13 2009 +0000 ASoC: Fix Samsung S3C2412_IISMOD_SDF_{MSB,LSB} definitions The definitions of S3C2412_IISMOD_SDF_MSB and S3C2412_IISMOD_SDF_LSB are incorrect, being the same S3C2412_IISMOD_SDF_IIS which is the only correct one in this series. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 6b849bcff0004aa5dd216b4d3eb56f51c9df8a72 Author: Mark Brown Date: Mon Mar 9 18:18:33 2009 +0000 ASoC: Convert PXA AC97 driver to probe with the platform device This will break any boards that don't register the AC97 controller device due to using ASoC. Signed-off-by: Mark Brown commit ac4dff224d8be65090f4d7d7bde5a0bba6ca90cc Author: Martyn Welch Date: Fri Feb 27 15:53:10 2009 +0000 powerpc/86xx: Correct local bus registers in GE Fanuc SBC610 dts file The registers for the local bus are incorrectly set to 0xf8005000 rather than there actual location of 0xfef05000. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 9ab921201444e4dcfd0c14ac4cc6758e32059dae Author: Xiaotian Feng Date: Fri Mar 6 11:01:23 2009 +0800 cpm_uart: fix non-console port startup bug After UART interrupt handler is installed and rx is enabled, if an rx interrupt comes before hardware init, rx->cur will be updated. Then the hardware init will reset BD and make rx->cur out of sync, move the hardware init code before request_irq. Signed-off-by: Xiaotian Feng Signed-off-by: Kumar Gala commit 0bcd783c1f0396b68410fdb41fbe196fbc1947af Author: Timur Tabi Date: Wed Mar 4 14:55:30 2009 -0600 powerpc: add fsl,fifo-depth property to Freescale SSI device nodes The Freescale Serial Synchronous Interface (SSI) is an audio device present on some Freescale SOCs. Various implementations of the SSI have a different transmit and receive FIFO depth, but are otherwise identical. To support these variations, add a new property fsl,fifo-depth to the SSI node that specifies the depth of the FIFOs. Also update the MPC8610 HPCD device tree with this property. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit c3071951d0acd33b5c3f820fb5eaa3a9c2a8f212 Author: Kumar Gala Date: Tue Feb 10 22:26:06 2009 -0600 powerpc/fsl-booke: Add support for tlbilx instructions The e500mc core supports the new tlbilx instructions that do core local invalidates and also provide us the ability to take down all TLB entries matching a given PID. Signed-off-by: Kumar Gala commit c026c98739c7e435440e76cbcd96e0f8ebeeada0 Author: Anton Vorontsov Date: Thu Feb 19 19:02:23 2009 +0300 powerpc/83xx: Do not configure or probe disabled FSL DR USB controllers On MPC837X CPUs Dual-Role USB isn't always available (for example DR USB pins can be muxed away to eSDHC). U-Boot adds status = "disabled" property into the DR USB nodes to indicate that we must not try to configure or probe Dual-Role USB, otherwise we'll break eSDHC support on targets with MPC837X CPUs. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 30c404699dd650f213d480d263c775915a0e1297 Author: dayu@datangmobile.cn Date: Wed Feb 18 13:47:42 2009 +0800 powerpc/83xx: Fix the interrupt loss problem on ipic The interrupt pending register is write 1 clear. If there are more than one external interrupts pending at the same time, acking the first interrupt by reading pending register then OR the corresponding bit and write back to pending register will also clear other interrupt pending bits. That will cause loss of interrupt. Signed-off-by: Da Yu Signed-off-by: Kumar Gala commit 1ab082d7cbd0f34e39a5396cc6340c00bc5d66ef Author: Timur Tabi Date: Fri Feb 6 08:00:37 2009 -0600 i2c-mpc: do not allow interruptions when waiting for I2C to complete The i2c_wait() function is using wait_event_interruptible_timeout() to wait for the I2C controller to signal that it has completed an I2C bus operation. If the process that causes the I2C operation terminated abruptly, the wait will be interrupted, returning an error. It is better to let the I2C operation finished before the process exits. It is safe to use wait_event_timeout() instead, because the timeout will allow the process to exit if the I2C bus hangs. It's also better to allow the I2C operation to finish, because unacknowledged I2C operations can cause the I2C bus to hang. Signed-off-by: Timur Tabi Acked-by: Ben Dooks Signed-off-by: Kumar Gala commit e776ec19a47a325ee1d9ece2d983526dcd626c53 Author: Randy Dunlap Date: Sat Feb 28 17:40:18 2009 +0100 ALSA: Move ALSA docbooks to be with the rest of the kernel docbooks Move ALSA docbooks to be with the rest of the kernel docbooks and add them to the Makefile so that they build. Latter required a few minor changes to alsa .tmpl files. (I did not remove all of the trailing whitespace in the .tmpl files.) Fixes kernel bugzilla #12726: http://bugzilla.kernel.org/show_bug.cgi?id=12726 Signed-off-by: Randy Dunlap Cc: documentation_man-pages@kernel-bugs.osdl.org Cc: Nicola Soranzo Signed-off-by: Takashi Iwai commit 5f8206c04857965cc2ff6c395633c4fdd977dd77 Author: Takashi Iwai Date: Mon Feb 9 08:50:43 2009 +0100 ALSA: Fix DocBook headers Signed-off-by: Takashi Iwai commit efdcd41b4e41560375bb34ad8b095bcaa1c3a93f Merge: 33dbe61... 79c7cdd... Author: Takashi Iwai Date: Mon Mar 9 15:21:57 2009 +0100 Merge branch 'topic/vmaster-update' into topic/docbook-fix commit 33dbe6114047496a5b6fee0941c52dad41250043 Merge: b1a0aac... 662c319... Author: Takashi Iwai Date: Mon Mar 9 15:21:51 2009 +0100 Merge branch 'topic/jack' into topic/docbook-fix commit 9a1b64caac82aa02cb74587ffc798e6f42c6170a Author: Takashi Iwai Date: Wed Feb 11 17:03:49 2009 +0100 ALSA: rawmidi - Refactor rawmidi open/close codes Refactor rawmidi open/close code messes. Signed-off-by: Takashi Iwai commit f9d202833d0beac09ef1c6a41305151da4fe5d4c Author: Takashi Iwai Date: Wed Feb 11 14:55:59 2009 +0100 ALSA: rawmidi - Fix possible race in open The module refcount should be handled in the register_mutex to avoid possible races with module unloading. Signed-off-by: Takashi Iwai commit 118dd6bfe7e0cddc8ab417ead19cc76000e92773 Author: Takashi Iwai Date: Mon Feb 23 16:35:21 2009 +0100 ALSA: Clean up snd_monitor_file management Use the standard linked list for snd_monitor_file management. Also, move the list deletion of shutdown_list element into snd_disconnect_release() (for simplification). Signed-off-by: Takashi Iwai commit 662c319ae4b4fb60001816dfe1dde5fdfc7a2af9 Author: Takashi Iwai Date: Mon Feb 9 08:53:50 2009 +0100 ALSA: Add sound/core/jack.c to driver-API docbook entry Signed-off-by: Takashi Iwai commit 79c7cdd5441f5d3900c1632adcc8cd2bee35c8da Author: Takashi Iwai Date: Mon Feb 9 14:47:19 2009 +0100 ALSA: Add kernel-doc comments to vmaster stuff Signed-off-by: Takashi Iwai commit 39661758631da37efbc961e57a4ddefad573cc52 Author: Roel Kluin Date: Wed Feb 25 13:40:26 2009 +0100 ALSA: snd-powermac: timeout reaches -1 If unsuccessful, timeout reaches -1 after the loop. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 6da6711385165eff76411b77974eec13c5ef6486 Author: Takashi Iwai Date: Thu Feb 5 16:02:46 2009 +0100 ALSA: powermac - Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit dca7c74172fee0cf6ee1e303df093c31b5561039 Author: Risto Suominen Date: Tue Jan 20 22:01:17 2009 +0200 ALSA: Add vmaster controls for Pmac 5500, iMac G3 SL, and PBook G3 Lombard Add virtual master controls for PowerMac 5500 (AWACS) and iMac G3 Slot-loading and PowerBook G3 Lombard (Screamer). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit ed336d3404a8fdeda1e3f1c189b5f83186675448 Author: Risto Suominen Date: Tue Jan 20 22:01:16 2009 +0200 ALSA: powermac - Allow input from mic in iBook G3 Dual-USB Allow input from microphone on iBook G3 Dual-USB (Tumbler). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 4d9e93b1adf2923c0a0cbc545d6e78dec3334faf Author: Risto Suominen Date: Tue Jan 20 22:01:15 2009 +0200 ALSA: powermac - Correct volume controls and HP detection for PMac 8500/9500 Correct volume controls and headphone detection for PowerMac 8500/9500 (AWACS). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 573934bc038b0f47d17a5608e74b79dcd7c191ea Author: Risto Suominen Date: Tue Jan 20 22:01:14 2009 +0200 ALSA: powermac - Correct volume controls for PowerBook G3 Lombard Correct volume controls for PowerBook G3 Lombard (Screamer). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit b0a8a8fd1b3bd6fbbb4b599191b859d41e12a002 Author: Risto Suominen Date: Tue Jan 20 22:01:13 2009 +0200 ALSA: powermac - Correct HP detection and input selectors for PMac 5500 Correct headphone detection and input selectors for PowerMac 5500 (AWACS). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit f5b1db634280ecaf3147ee996f26aad0ed4828c4 Author: Takashi Iwai Date: Fri Jan 16 18:15:22 2009 +0100 ALSA: add snd_ctl_add_slave_uncached() Added snd_ctl_add_slave_uncached() function to add a slave element with volatile controls. The values of normal slave elements are supposed to be cachable, i.e. they are changed only via the put callbacks. OTOH, when a slave element is volatile and its values may be changed by other reason (e.g. hardware status change), the values will get inconsistent. The new function allows the slave elements with volatile changes. When the slave is tied with this call, the native get callback is issued at each time so that the values are always updated. Signed-off-by: Takashi Iwai commit bff22c9b85c911719a82b6e7cc8925dd84d278c7 Author: Mike Rapoport Date: Mon Feb 23 18:01:12 2009 +0200 [ARM] pxa: add DM9000_PLATF_NO_EEPROM flag to CM-X... platforms Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 5bf3df3f00f507119a26ba0780aa8799e741615c Author: Eric Miao Date: Tue Jan 20 11:04:16 2009 +0800 [ARM] pxa: separate definitions from pxa-regs.h and remove it finally The remaining registers are separated into: - - - and then we can remove pxa-regs.h completely. Instead of #include this file, let's: 1. include the specific with care (if that's absolutely necessary) 2. define the registers in the driver, make cleanly defined API to expose the register access to external with sufficient reason Signed-off-by: Eric Miao commit b74d1969083a8869659ad2b23138fc8a5ca97c53 Author: Eric Miao Date: Tue Jan 20 10:31:55 2009 +0800 [ARM] pxa: move pxa2xx chip selects definitions out of pxa-regs.h The definitions of PXA_CS_PHYS are really PXA2xx specific and should be moved out of pxa-regs.h. As an illustration, the PXA3xx static chip selects definitions are added into pxa3xx-regs.h. Signed-off-by: Eric Miao commit 5438614509d80bc0b1981b749e9cb688f1769dfb Author: Eric Miao Date: Mon Jan 19 18:43:12 2009 +0800 [ARM] pxa: make lubbock specific debugging stuffs back into lubbock.c This isn't perfect but at least solves the problem of pm.c's dependency on register definitions in , which doesn't make much sense. Signed-off-by: Eric Miao commit b393c69652333be31ad7a8205761c0d5b7f3e167 Author: Eric Miao Date: Mon Jan 19 17:34:27 2009 +0800 [ARM] pxa: move PCMCIA definitions out of pxa-regs.h into pxa2xx_base.c Move the processor specific initialization (largely resources initialization) out of soc_common_drv_pcmcia_probe() into dedicated sa11xx_drv_pcmcia_probe() and __pxa2xx_drv_pcmcia_probe(). By doing this, we are now able to move the PCMCIA related definitions out of pxa-regs.h and back into pxa2xx_base.c. As a result, remove that reference of _PCMCIA1IO in arch/arm/mach-pxa/viper.c. Signed-off-by: Eric Miao commit 5742964e916269e01a3467d2bff2601180b7da3d Author: Eric Miao Date: Mon Jan 19 15:28:07 2009 +0800 [ARM] pxa: remove unnecessary #include of pxa-regs.h and hardware.h pxa-regs.h and hardware.h are not intended for use directly in driver code, remove those unnecessary references. Signed-off-by: Eric Miao commit 290a5589ce83540d0aba811c3d15af34aa373533 Author: Eric Miao Date: Wed Jan 14 19:12:42 2009 +0800 [ARM] pxa: remove machine class specific stuffs from serial driver The only things prevent drivers/serial/pxa.c from being generic enough are: 1. IER_UUE which can be safely replaced by UART_IER_UUE as defined in serial_reg.h for PXA 2. __PREG() and FFUART/BTUART/STUART definitions to decide the UART port name And removed the un-necessary #include of and headers. Signed-off-by: Eric Miao commit 0807da5938b2d64fef7f1109fb4014de6392cbf7 Author: Eric Miao Date: Wed Jan 7 18:01:51 2009 +0800 [ARM] pxa: access GPIO registers by chip so to make it further generic Let's handle GPIOs by banks, each bank covers up to 32 GPIOs with one set of registers, and each set of registers start from different offsets. GPLR GPDR GPSR GPCR GRER GFER GEDR BANK 0 - 0x0000 0x000C 0x0018 0x0024 0x0030 0x003C 0x0048 BANK 1 - 0x0004 0x0010 0x001C 0x0028 0x0034 0x0040 0x004C BANK 2 - 0x0008 0x0014 0x0020 0x002C 0x0038 0x0044 0x0050 BANK 3 - 0x0100 0x010C 0x0118 0x0124 0x0130 0x013C 0x0148 BANK 4 - 0x0104 0x0110 0x011C 0x0128 0x0134 0x0140 0x014C BANK 5 - 0x0108 0x0114 0x0120 0x012C 0x0138 0x0144 0x0150 NOTE: BANK 3 is only available on PXA27x and later processors. BANK 4 and 5 are only available on PXA935 1. introduce GPIO_BANK(n) for the offset base of each bank 2. 'struct pxa_gpio_chip' is expanded to include IRQ edge and mask setings, and saved register values as well, and is dynamically allocated due to possible bank number ranging from 3 to 6 3. all accesses to GPIO registers are made through 'regbase' within 'pxa_gpio_chip', and register offset 4. introduce several inline functions to simplify the code a bit 5. change IRQ demux handler to base on gpio chips Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 3b8e285c21d12082a85a142ef73a1648d41cae46 Author: Eric Miao Date: Wed Jan 7 11:30:49 2009 +0800 [ARM] pxa: move declaration of 'pxa_last_gpio' into Signed-off-by: Eric Miao commit da065a0b3611751feefeb0f0e277cd5830056dad Author: Eric Miao Date: Tue Jan 6 18:29:01 2009 +0800 [ARM] pxa: move GPIO register definitions into This makes gpio.c fully independent of pxa-regs.h (except for the virtual address of the registers). Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 0d9f768fce67a53b9c2296789129d4dfb3f4996b Author: Eric Miao Date: Tue Jan 6 18:06:25 2009 +0800 [ARM] pxa: move pxa_gpio_mode() outside of generic gpio.c Looks like we have to live with pxa_gpio_mode() for a while, giving its presence is actually making gpio.c not generic enough, let's move it temporarily outside before it can be fully purged. Signed-off-by: Eric Miao commit a58fbcd8ad17ddaa0c7aadbbbd20de4ebc807fa4 Author: Eric Miao Date: Tue Jan 6 17:37:37 2009 +0800 [ARM] pxa: move IRQ handling of GPIO 0 and 1 outside of gpio.c This is part of the work making gpio.c generic enough, the changes include: 1. move IRQ handling of GPIO 0 and 1 outside (and back into irq.c) 2. pxa_init_gpio() accepts a range for muxed GPIO IRQs, and an IRQ number for the muxed GPIOs 3. __gpio_is_occupied() and __gpio_is_inverted() are made inline, and are moved into instead of generic gpio.c Signed-off-by: Eric Miao commit 7ebc8d56f407184a457dd5fc739cf39e423a25aa Author: Eric Miao Date: Fri Jan 2 19:38:42 2009 +0800 [ARM] pxa: move DMA registers definitions into 1. Driver code where pxa_request_dma() is called will most likely reference DMA registers as well, and it is really unnecessary to include pxa-regs.h just for this. Move the definitions into and make relevant drivers include it instead of . 2. Introduce DMAC_REGS_VIRT as the virtual address base for these DMA registers. This allows later processors to re-use the same IP while registers may start at different I/O address. Signed-off-by: Eric Miao commit fef1f99a0c2928893c074bf3eff27efd36a4532a Author: Eric Miao Date: Fri Jan 2 16:26:33 2009 +0800 [ARM] pxa: allow DMA controller IRQ being specified Signed-off-by: Eric Miao commit 51c62982a33d9086fd8876293411d28a5f97247a Author: Eric Miao Date: Fri Jan 2 23:17:22 2009 +0800 [ARM] pxa: introduce pxa{25x,27x,300,320,930}.h for board usage Considering the header mess ATM, it is not always possible to include the correct header files within board code. Let's keep this simple: - for pxa25x based platforms - for pxa27x based platforms - for pxa300 based platforms - for pxa320 based platforms - for pxa930 based platforms NOTE: 1. one header one board file, they are not compatible (i.e. they have conflicting definitions which won't compile if included together). 2. Unless strictly necessary, the following header files are considered to be SoC files use _only_, and is not recommended to be included in board code: Signed-off-by: Eric Miao commit 5b079b5ab4cfc6d23312b3bb0203f527bb1f79d0 Author: Philipp Zabel Date: Mon Feb 9 17:34:09 2009 +0100 [ARM] pxa/magician: remove unused forward declaration of pasic3 Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 05199ecb7c986a15c1a61a86cb41dffdc05929f0 Author: Philipp Zabel Date: Mon Feb 9 17:34:08 2009 +0100 [ARM] pxa/magician: default to backlight trigger for keypad illumination Default to the same behaviour as the shipped WinCE system. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit d942d778b1cc9a3b72f4c92ddf1e6312102a4ad4 Author: Philipp Zabel Date: Mon Feb 9 17:34:07 2009 +0100 [ARM] pxa/magician: register pda_power IRQs as rising/falling edge so they can be shared with gpio_vbus. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit d62ab6e26dbda4d5e183ccbbce9909c5667b20ef Author: Philipp Zabel Date: Mon Feb 9 17:34:06 2009 +0100 [ARM] pxa/magician: select PXA_SSP for touchscreen and sound Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 23804614230be43185b7d9b5ef97a8b87375c3cc Author: Philipp Zabel Date: Mon Feb 9 17:34:05 2009 +0100 [ARM] pxa/magician: fix htc-egpio resource size Fixes an off-by-one error. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit abcea2c322cef559ef2f108b4763d107a5ccc37f Merge: 8118aea... 6d831c6... Author: Eric Miao Date: Mon Mar 9 21:21:07 2009 +0800 Merge branch 'devel' of ssh://master.kernel.org/home/rmk/linux-2.6-arm into devel commit 8118aea23c328fd4913b325af53fda9d530b1d56 Merge: 432dc14... 26a5522... Author: Eric Miao Date: Mon Mar 9 21:20:23 2009 +0800 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit 85122ea40c4fc82af5b66b8683f525c2c4a36d1a Author: Takashi Iwai Date: Fri Mar 6 16:30:07 2009 +0100 ALSA: Remove unneeded snd_pcm_substream.timer_lock The timer callbacks are called in the protected status by the lock of the timer instance, so there is no need for an extra lock in the PCM substream. Signed-off-by: Takashi Iwai commit ed3da3d9a0ef13c6fe1414ec73c9c1be12747b62 Author: Takashi Iwai Date: Tue Mar 3 17:00:15 2009 +0100 ALSA: Rewrite hw_ptr updaters Clean up and improve snd_pcm_update_hw_ptr*() functions. snd_pcm_update_hw_ptr() tries to detect the unexpected hwptr jumps more strictly to avoid the position mess-up, which often results in the bad quality I/O with pulseaudio. The hw-ptr skip error messages are printed when xrun proc is set to non-zero. Signed-off-by: Takashi Iwai commit 0a4e1c9069b3cc2a9e5b57898ac9be94314e8efa Merge: f271fa2... a381934... Author: Takashi Iwai Date: Mon Mar 9 12:05:21 2009 +0100 Merge branch 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit a381934e5f9c0c3c292d780d61f5be9c22b2ef54 Author: Daniel Mack Date: Mon Mar 9 02:13:17 2009 +0100 ASoC: Add a driver for AK4104 S/PDIF transmitter This adds a driver for the SPI connected AK4104 S/PDIF transmitter device. Its features are fairly simple, but as there is need to set up certain bits in the IEC958 information, this better goes into a real driver. Signed-off-by: Daniel Mack Cc: Mark Brown Signed-off-by: Mark Brown commit c3ffc7a40b7e94b094efe1c8ab4e24370a782b65 Author: KOSAKI Motohiro Date: Mon Mar 9 18:15:34 2009 +0900 tracing: Don't use tracing_record_cmdline() in workqueue tracer Impact: improve workqueue tracer output Currently, /sys/kernel/debug/tracing/trace_stat/workqueues can display wrong and strange thread names. Why? Currently, ftrace has tracing_record_cmdline()/trace_find_cmdline() convenience function that implements a task->comm string cache. This can avoid unnecessary memcpy overhead and the workqueue tracer uses it. However, in general, any trace statistics feature shouldn't use tracing_record_cmdline() because trace statistics can display very old process. Then comm cache can return wrong string because recent process overrides the cache. Fortunately, workqueue trace guarantees that displayed processes are live. Thus we can search comm string from PID at display time. % cat workqueues # CPU INSERTED EXECUTED NAME # | | | | 7 431913 431913 kondemand/7 7 0 0 tail 7 21 21 git 7 0 0 ls 7 9 9 cat 7 832632 832632 unix_chkpwd 7 236292 236292 ls Note: tail, git, ls, cat unix_chkpwd are obiously not workqueue thread. % cat workqueues # CPU INSERTED EXECUTED NAME # | | | | 7 510 510 kondemand/7 7 0 0 kmpathd/7 7 15 15 ata/7 7 0 0 aio/7 7 11 11 kblockd/7 7 1063 1063 work_on_cpu/7 7 167 167 events/7 Signed-off-by: KOSAKI Motohiro Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 7bffc23e56e92c14b787bf4d95249a32085bfed5 Author: Ingo Molnar Date: Mon Mar 9 10:11:36 2009 +0100 tracing: optimize trace_printk() Impact: micro-optimization trace_printk() does this unconditionally: trace_printk_fmt = fmt; Where trace_printk_fmt is an entry into a global array. This is very SMP-unfriendly. So only write it once per bootup. Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <1236356510-8381-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8a20d84d09ab5d121f989cd99e4fc5f4b49f98ba Author: Ingo Molnar Date: Mon Mar 9 10:09:06 2009 +0100 tracing: trace_printk() fix, move format array to data section Impact: fix kernel crash when using trace_printk() trace_printk_fmt section is defined into the readonly section. But we do: trace_printk_fmt = fmt; to fill in that table of format strings - which is not read-only. Under CONFIG_DEBUG_RODATA=y this crashes ... Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <1236356510-8381-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 873591db59e66434fd0a484c92f69fc21100b33d Author: Clemens Ladisch Date: Mon Mar 9 09:12:55 2009 +0100 sound: oxygen: enable headphone output on Claro cards On the HT-Omega Claro (halo) sound cards, the headphone amplifier must be enabled explicitly by setting a GPIO bit. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f271fa28fbaf947d9c79f188dd149176da727dd5 Author: Takashi Iwai Date: Mon Mar 9 00:52:17 2009 +0100 ASoC: Fix Kconfig dependency of CONFIG_SND_S3C24XX_SOC_JIVE_WM8750 Remove a non-existing Kconfig CONFIG_SND_SOC_WM8750_SPI. Signed-off-by: Takashi Iwai commit 055a49b0c92c6282e7db22e9e6ebcae6cb74ebb4 Author: Mark Brown Date: Sun Mar 8 18:57:34 2009 +0000 ASoC: Remove unneeded forward reference to WM8753 SPI implementation Signed-off-by: Mark Brown commit 0feca851c1b3cb4ebfa3149144b3d5de0879ebaa Author: Jeremy Fitzhardinge Date: Fri Mar 6 10:09:26 2009 -0800 x86-32: make sure virt_addr_valid() returns false for fixmap addresses I found that virt_addr_valid() was returning true for fixmap addresses. I'm not sure whether pfn_valid() is supposed to include this test, but there's no harm in being explicit. Signed-off-by: Jeremy Fitzhardinge Cc: Jiri Slaby Cc: Yinghai Lu LKML-Reference: <49B166D6.2080505@goop.org> Signed-off-by: Ingo Molnar commit e954ef20c29b7af07a8cb5452f14fb69e3d9d2b2 Author: Yinghai Lu Date: Thu Mar 5 12:04:57 2009 -0800 x86: fix warning about nodeid Impact: cleanup Ingo found there warning about nodeid with some configs. try to use for_each_online_node for non numa too. in that case nodeid will be 0. also move out boundary checking from setup_node_bootmem(), so non-numa config will not check it. Signed-off-by: Yinghai Lu Cc: Andrew Morton LKML-Reference: <49B03069.80001@kernel.org> Signed-off-by: Ingo Molnar commit b191f63c4fe9fbcfe583180228080d02b8dcdebc Author: Daniel Mack Date: Sun Mar 8 17:51:52 2009 +0100 ASoC: bring cs4270 feature/limitations list in sync Removes numbers from the list of features/limitations and makes it reflect recent changes to the code. Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 8827247ffcc9e880cbe4705655065cf011265157 Author: Wang Chen Date: Sat Mar 7 13:34:19 2009 +0800 x86: don't define __this_fixmap_does_not_exist() Impact: improve out-of-range fixmap index debugging Commit "1b42f51630c7eebce6fb780b480731eb81afd325" defined the __this_fixmap_does_not_exist() function with a WARN_ON(1) in it. This causes the linker to not report an error when __this_fixmap_does_not_exist() is called with a non-constant parameter. Ingo defined __this_fixmap_does_not_exist() because he wanted to get virt addresses of fix memory of nest level by non-constant index. But we can fix this and still keep the link-time check: We can get the four slot virt addresses on link time and store them to array slot_virt[]. Then we can then refer the slot_virt with non-constant index, in the ioremap-leak detection code. Signed-off-by: Wang Chen LKML-Reference: <49B2075B.4070509@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 888b55dc314d26239d84c3b187dae555a81c1605 Author: KOSAKI Motohiro Date: Sun Mar 8 13:12:43 2009 +0900 ftrace: tracing header should put '#' at the beginning of a line In a recent discussion, Andrew Morton pointed out that tracing header should put '#' at the beginning of a line. Then, we can easily filtered the header by following grep usage: cat trace | grep -v '^#' Wakeup trace also has the same header problem. Comparison of headers displayed: before this patch: # tracer: wakeup # wakeup latency trace v1.1.5 on 2.6.29-rc7-tip-tip -------------------------------------------------------------------- latency: 19059 us, #21277/21277, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4) ----------------- | task: kondemand/1-1644 (uid:0 nice:-5 policy:0 rt_prio:0) ----------------- # _------=> CPU# # / _-----=> irqs-off # | / _----=> need-resched # || / _---=> hardirq/softirq # ||| / _--=> preempt-depth # |||| / # ||||| delay # cmd pid ||||| time | caller # \ / ||||| \ | / irqbalan-1887 1d.s. 0us : 1887:120:R + [001] 1644:115:S kondemand/1 irqbalan-1887 1d.s. 1us : default_wake_function <-autoremove_wake_function irqbalan-1887 1d.s. 2us : check_preempt_wakeup <-try_to_wake_up after this patch: # tracer: wakeup # # wakeup latency trace v1.1.5 on 2.6.29-rc7-tip-tip # -------------------------------------------------------------------- # latency: 529 us, #530/530, CPU#0 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4) # ----------------- # | task: kondemand/0-1641 (uid:0 nice:-5 policy:0 rt_prio:0) # ----------------- # # _------=> CPU# # / _-----=> irqs-off # | / _----=> need-resched # || / _---=> hardirq/softirq # ||| / _--=> preempt-depth # |||| / # ||||| delay # cmd pid ||||| time | caller # \ / ||||| \ | / sshd-2496 0d.s. 0us : 2496:120:R + [000] 1641:115:S kondemand/0 sshd-2496 0d.s. 1us : default_wake_function <-autoremove_wake_function sshd-2496 0d.s. 1us : check_preempt_wakeup <-try_to_wake_up Signed-off-by: KOSAKI Motohiro Cc: Andrew Morton LKML-Reference: <20090308124421.23C3.A69D9226@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 42b40b3d55f5782b00b74d9105c3565fbfa5cb80 Author: KOSAKI Motohiro Date: Sat Mar 7 23:55:09 2009 +0900 ftrace: fix documentation typo s/trace_max_latency/tracing_max_latency/ There isn't a trace_max_latency file, there is tracing_max_latency. Fix it. Signed-off-by: KOSAKI Motohiro Acked-by: Steven Rostedt LKML-Reference: <20090307235409.5A87.A69D9226@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit dba58e39ced7af63f2748d12bbb2b4ac83c72391 Merge: 9de3682... 78ff7fa... Author: Ingo Molnar Date: Sun Mar 8 16:48:51 2009 +0100 Merge branches 'tracing/doc', 'tracing/ftrace', 'tracing/printk' and 'tracing/textedit' into tracing/core commit 1f442d70c84aa798e243e721eba728a98434cd86 Author: Yinghai Lu Date: Sat Mar 7 23:46:26 2009 -0800 x86: remove smp_apply_quirks()/smp_checks() Impact: cleanup and code size reduction on 64-bit This code is only applied to Intel Pentium and AMD K7 32-bit cpus. Move those checks to intel_init()/amd_init() for 32-bit so 64-bit will not build this code. Also change to use cpu_index check to see if we need to emit warning. Signed-off-by: Yinghai Lu LKML-Reference: <49B377D2.8030108@kernel.org> Signed-off-by: Ingo Molnar commit aa8aba6944203a17a7e941b42d8415153c649660 Author: Ben Dooks Date: Fri Dec 12 00:24:34 2008 +0000 [ARM] S3C: Do not kmalloc/kfree during inner suspend code. The PM CRC checking code kmallocs an area to save a set of CRC values during suspend. This triggers a warning due to the call of a function that might sleep whilst the system is not in a valid state to do so. Move the allocation and free to points in the suspend and resume process where they can call a function that might-sleep. Signed-off-by: Ben Dooks commit 663a83048c602d5176c23489b4e29598d753e42b Author: Ben Dooks Date: Fri Dec 12 00:24:36 2008 +0000 [ARM] S3C: Avoid checking the task stackpage in pm-check When doing the CRC check of the memory, avoid checking the page that our stack is residing in as this changes during the execution of the suspend and resume. Signed-off-by: Ben Dooks commit 67c2addcb08df4827fbb7af88b57cce2ba71e34b Author: Ben Dooks Date: Fri Dec 12 00:24:29 2008 +0000 [ARM] S3C24XX: Add S3C_GPIO_END definition Add the definition for S3C_GPIO_END to allow the PM code to build. This means moving the GPIO bank numbers to a separate file to allow the gpio and regs-gpio to include them. Including regs-gpio.h into gpio.h causes too many build problems and adding gpio.h would mean editing a large number of files. Signed-off-by: Ben Dooks commit d2b07fe2a3e35d8e58cceb63ab58831d706da939 Author: Ben Dooks Date: Fri Dec 12 00:24:20 2008 +0000 [ARM] S3C: Update UART save over PM suspend/resume Change the way the UART state is saved over suspend to allow the s3c64xx code to modify the settings on resume to avoid any illegal state changes to the UART clocks. This will also allow us to save the UDIVSLOT register on newer SoCs. Move to using a structure for the UART use the extant Kconfig configuration specifying the number of UARTs. Signed-off-by: Ben Dooks commit ef30e14420df546bc6576b00f9caf3379b6699d1 Author: Ben Dooks Date: Fri Dec 12 00:24:19 2008 +0000 [ARM] S3C: Rename sleep.S functions to be non-cpu specific Rename s3c2410_cpu_resume to s3c_cpu_resume and s3c2410_cpu_save to s3c_cpu_save to remove the CPU specific naming of these functions which are now in the generic PM code. Signed-off-by: Ben Dooks commit 4e59c25dcbc1f033d043f1009a7f6aaa1f2aef26 Author: Ben Dooks Date: Fri Dec 12 00:24:18 2008 +0000 [ARM] S3C: Rename s3c2410_pm_init to s3c_pm_init. Since we have moved a large proportion of the PM code to the common support area, remove the cpu specific name from the initialisation function. Signed-off-by: Ben Dooks commit 598ee00207a561572e011c49e39144a321ef3979 Author: Andy Green Date: Fri Dec 12 00:24:13 2008 +0000 [ARM] S3C24XX: Fix bug in IRQ_EINT_BIT() calculation There's a bug in calculation of IRQ_EINT_BIT introduced on the test branch for pm changes for s3c by Ben Dooks fixed in this patch. There's also a bit of a mystery about how wake gets to wake EINT set of interrupts, I added a couple of lines that make it work for EINT4+ but not sure what's meant to be there for EINT0-3. Still, this gets GTA02 resume working again. Signed-off-by: Andy Green [ben-linux@fluff.org: remove irq-pm.c change] Signed-off-by: Ben Dooks commit 56b34426888d35b3b6367c216bbfb17b82b4f0ac Author: Ben Dooks Date: Fri Dec 12 00:24:12 2008 +0000 [ARM] S3C: Make IRQ_EINT sleep control common Move the IRQ_EINT sleep control to be available to all s3c impelmentations. Since s3c_irqext_wake is not large, place it in arch/arm/plat-s3c/pm.c as adding it to a new file would be a waste of compile time. Signed-off-by: Ben Dooks commit 7299a40918e15d5f9b4bc7fcb02163c335d92e43 Author: Ben Dooks Date: Fri Dec 12 00:24:11 2008 +0000 [ARM] S3C24XX: Remove changelog from arch/arm/plat-s3c24xx/irq.c Remove the changelog, this file is in version control. Signed-off-by: Ben Dooks commit 65fa22b73f95c481db125ba9a34de1553c638548 Author: Ben Dooks Date: Fri Dec 12 00:24:10 2008 +0000 [ARM] S3C24XX: Split PM code from arch/arm/plat-s3c24xx/irq.c Split the PM code out of arch/arm/plat-s3c24xx/irq.c to remove some of the #ifdefs being used. Also fix a couple of places where the absecnce of a function was redefined to the same thing. Signed-off-by: Ben Dooks commit 840eeeb880e03927588e0e971cb426441795ff14 Author: Ben Dooks Date: Fri Dec 12 00:24:09 2008 +0000 [ARM] S3C: Fix warnings in the PM memory CRC code Fix warnings from struct resource being bigger than unsigned long by forcing the type. We are only a 32bit platform so no physical memory addresses will be too big to fit in this. Signed-off-by: Ben Dooks commit 2261e0e6e3991d4c5f33e9fedadfc465eedc05a7 Author: Ben Dooks Date: Fri Dec 12 00:24:08 2008 +0000 [ARM] S3C: Move plat-s3c24xx pm.c support into plat-s3c Move parts of the core and debug suspend code into the plat-s3c for use with the new s3c64xx code. Signed-off-by: Ben Dooks commit 549c7e33aeb9bfe441ecf68639d2227bb90978e7 Author: Ben Dooks Date: Fri Dec 12 00:24:07 2008 +0000 [ARM] S3C: Split the resume memory check code from pm.c Split the optional memory check code out of the pm.c file as it is quite a big #ifdef block and as-such can be moved out and simply compiled when the configuration is set. Signed-off-by: Ben Dooks commit 6419711a164ba1304fa8fbb75ae9485455e04dcd Author: Ben Dooks Date: Fri Dec 12 00:24:06 2008 +0000 [ARM] S3C: Move PM support functions to common location Start moving the PM code by moving all the common support functions to a common location in arch/arm/plat-s3c. With the move we rename the functions from s3cxxx_ to s3c_ to fit the new location. Signed-off-by: Ben Dooks commit a3f66351b3cc89011e8a34068c245b413ce696d6 Author: Ben Dooks Date: Fri Dec 12 00:24:05 2008 +0000 [ARM] S3C: Nove from plat-s3c24xx to plat-s3fc Move the header to plat-s3c as preparation for moving parts of the s3c24xx pm support which are common into the plat-s3c support. Signed-off-by: Ben Dooks commit cb4f952db3a01a2d56eb17e0eb00ce99ae5f0f50 Author: Artem Bityutskiy Date: Sat Mar 7 20:53:41 2009 +0200 UBIFS: amend key_hash return value ... which should be uint32_t, not int. Signed-off-by: Artem Bityutskiy commit 3edaae7c5bda085b7dc704fe379f35b85e6f493e Author: Artem Bityutskiy Date: Tue Mar 3 19:22:53 2009 +0200 UBIFS: improve find function interface Make 'ubifs_find_free_space()' return offset where free space starts, rather than the amount of free space. This is just more appropriat for its caller. Signed-off-by: Artem Bityutskiy commit 3a450de1365d20afde406f0d9b2931a5e4a4fd6a Author: Cliff Wickman Date: Fri Mar 6 17:30:56 2009 -0600 x86: UV: remove uv_flush_tlb_others() WARN_ON In uv_flush_tlb_others() (arch/x86/kernel/tlb_uv.c), the "WARN_ON(!in_atomic())" fails if CONFIG_PREEMPT is not enabled. And CONFIG_PREEMPT is not enabled by default in the distribution that most UV owners will use. We could #ifdef CONFIG_PREEMPT the warning, but that is not good form. And there seems to be no suitable fix to in_atomic() when CONFIG_PREMPT is not on. As Ingo commented: > and we have no proper primitive to test for atomicity. (mainly > because we dont know about atomicity on a non-preempt kernel) So we drop the WARN_ON. Signed-off-by: Cliff Wickman Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 3a638ff272744247aad4a75b1fac174ac5746114 Author: Timur Tabi Date: Fri Mar 6 18:39:34 2009 -0600 ASoC: Improve pause/unpause performance in Freescale 8610 drivers Add support for true pause and unpause. Without this, mplayer will drop some audio (less than one second, but still noticeable) when pausing playback. Remove support for PM suspend and resume from the trigger function, since the driver doesn't support PM anyway. Optimize the delay after starting capture. Instead of delaying 1ms, the driver now polls the hardware. The new delay is shorter by over 90% yet still effective. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit 96deff6baf55da68b4b9b4dfe8ef572c6f1835fd Author: Hugo Villeneuve Date: Fri Mar 6 15:56:53 2009 -0500 ASoC: Davinci: Fix incorrect machine type for SFFSDR board Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit ccea34b5d0fbab081496d1860f31acee99fa8a6d Author: Tejun Heo Date: Sat Mar 7 00:44:13 2009 +0900 percpu: finer grained locking to break deadlock and allow atomic free Impact: fix deadlock and allow atomic free Percpu allocation always uses GFP_KERNEL and whole alloc/free paths were protected by single mutex. All percpu allocations have been from GFP_KERNEL-safe context and the original allocator had this assumption too. However, by protecting both alloc and free paths with the same mutex, the new allocator creates free -> alloc -> GFP_KERNEL dependency which the original allocator didn't have. This can lead to deadlock if free is called from FS or IO paths. Also, in general, allocators are expected to allow free to be called from atomic context. This patch implements finer grained locking to break the deadlock and allow atomic free. For details, please read the "Synchronization rules" comment. While at it, also add CONTEXT: to function comments to describe which context they expect to be called from and what they do to it. This problem was reported by Thomas Gleixner and Peter Zijlstra. http://thread.gmane.org/gmane.linux.kernel/802384 Signed-off-by: Tejun Heo Reported-by: Thomas Gleixner Reported-by: Peter Zijlstra commit 7bf446f8b581cef434f5ff05e8a791563bc09b7f Author: Hannes Eder Date: Thu Mar 5 15:20:25 2009 +0100 xfs: include header files for prototypes Fix this sparse warnings: fs/xfs/linux-2.6/xfs_ioctl.c:72:1: warning: symbol 'xfs_find_handle' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_ioctl.c:249:1: warning: symbol 'xfs_open_by_handle' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_ioctl.c:361:1: warning: symbol 'xfs_readlink_by_handle' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_ioctl.c:496:1: warning: symbol 'xfs_attrmulti_attr_get' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_ioctl.c:525:1: warning: symbol 'xfs_attrmulti_attr_set' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_ioctl.c:555:1: warning: symbol 'xfs_attrmulti_attr_remove' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_ioctl.c:657:1: warning: symbol 'xfs_ioc_space' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_ioctl.c:1340:1: warning: symbol 'xfs_file_ioctl' was not declared. Should it be static? fs/xfs/support/debug.c:65:1: warning: symbol 'xfs_fs_vcmn_err' was not declared. Should it be static? fs/xfs/support/debug.c:112:1: warning: symbol 'xfs_hex_dump' was not declared. Should it be static? Signed-off-by: Hannes Eder Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 3180e66d77e3c34cb466188105eace05dfeb5681 Author: Hannes Eder Date: Wed Mar 4 19:34:10 2009 +0100 xfs: make symbols static Instead of the keyword 'static' the macro 'STATIC' is used, so the symbols are still global with CONFIG_XFS_DEBUG. Fix this sparse warnings: fs/xfs/linux-2.6/xfs_super.c:638:1: warning: symbol 'xfs_blkdev_get' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_super.c:655:1: warning: symbol 'xfs_blkdev_put' was not declared. Should it be static? fs/xfs/linux-2.6/xfs_super.c:876:1: warning: symbol 'xfsaild' was not declared. Should it be static? fs/xfs/xfs_bmap.c:6208:1: warning: symbol 'xfs_check_block' was not declared. Should it be static? fs/xfs/xfs_dir2_leaf.c:553:1: warning: symbol 'xfs_dir2_leaf_check' was not declared. Should it be static? Signed-off-by: Hannes Eder Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 24418492aa245e9812c425593883b9db52fd8d29 Author: Hannes Eder Date: Wed Mar 4 19:33:48 2009 +0100 xfs: move declaration to header file Fix this sparse warning: fs/xfs/xfs_da_btree.c:1550:26: warning: symbol 'xfs_default_nameops' was not declared. Should it be static? Signed-off-by: Hannes Eder Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 9d5ab13325d0bb855cf856946c140a68ceb20e32 Author: Faisal Latif Date: Fri Mar 6 15:15:01 2009 -0800 RDMA/nes: Handle MPA Reject message properly While doing testing, there are failures as MPA Reject call is not handled. To handle MPA Reject call, following changes are done: *Handle inbound/outbound MPA Reject response message. When nes_reject() is called for pending MPA request reply, send the MPA Reject message to its peer (active side)cm_node. The peer cm_node (active side) will indicate Reject message event for the pending Connect Request. *Handle MPA Reject response message for loopback connections and listener. When MPA Request is rejected, check if it is a loopback connection and if it is then it will send Reject message event to its peer loopback node. Also when destroying listener, check if the cm_nodes for that listener are loopback or not. *Add gracefull connection close with the MPA Reject response message. Send gracefull close (FIN, FIN ACK..) to terminate the cm_nodes. *Some code re-org while making the above changes. Removed recv_list and recv_list_lock from the cm_node structure as there can be only one receive close entry on the timer. Also implemented handle_recv_entry() as receive close entry is processed from both nes_rem_ref_cm_node() as well as nes_cm_timer_tick(). Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit 0145f341a951b998d6d0fa38992a42d2a90b5bab Author: Don Wood Date: Fri Mar 6 15:15:00 2009 -0800 RDMA/nes: Improve use of PBLs Two level 256 byte PBLs was not implemented so the driver could report out of memory when in fact there were PBLs still available. This solution prefers to use 4KB PBLs over two level 256B PBLs until the number of 4KB PBLs falls below a threshold. At this point the 4KB PBL structure is converted to use 256B PBLs which prevents the driver from running out of 4KB PBLs too quickly. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 2869975cfbd58dc6591d8c3ba1f171e7f758be28 Author: Faisal Latif Date: Fri Mar 6 15:12:11 2009 -0800 RDMA/nes: Remove LLTX NETIF_F_LLTX is deprecated. Remove private TX locking from the driver and remove the NETIF_F_LLTX feature flag. This also fixes a warning in some configs that comes from doing skb_linearize() call in the hard_start_xmit method with IRQs disabled (if HIGHMEM is enabled, skb_linearize() may end up enabling BHs, which is a no-no if hard IRQs are disabled in that context). By getting rid of LLTX, we do not disable IRQs when skb_linearize() is called. Remove the sq_lock as it is not needed for non-LLTX. Fix ethtool not to show the counter for sq_lock. Reported-by: aluno3@poczta.onet.pl Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit fd87778cb99429f5e2e041213a5c9c564bbe7b78 Author: Don Wood Date: Fri Mar 6 15:12:11 2009 -0800 RDMA/nes: Inform hardware that asynchronous event has been handled When asynchronous events are processed by software, it is necessary to let the hardware know that software has handled the event. This frees up the entry in the asynchronous event queue. Signed-off-by: Don Wood Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 7b14ab0b438f20c7d6599985b036bb2864fd2524 Author: Chien Tung Date: Fri Mar 6 15:12:11 2009 -0800 RDMA/nes: Fix tmp_addr compilation warning In find_node(), tmp_addr causes an "unused variable" warning when INFINIBAND_NES_DEBUG is not defined. It's only used in a nes_debug() and the print does not make sense. So take out the whole thing. Reported-by: Manish Katiyar Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit b9c367e7e694502085f21d9d2686645798080aa3 Author: Chien Tung Date: Fri Mar 6 15:12:10 2009 -0800 RDMA/nes: Report correct vendor_id and vendor_part_id ibv_devinfo displays 0 for vendor_id and vendor_part_id. Fill in OUI and device_id for those two fields. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit cd6853d3eb453aee2574521b7ce2cd5a45492a59 Author: Chien Tung Date: Fri Mar 6 15:12:10 2009 -0800 RDMA/nes: Update copyright to new legal entity and year Update copyright to the new legal entity, Intel-NE, Inc., an Intel company. Update copyright for the new year. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit dae5d13a7e6efcf6e0e00c0febb530b894fa13a3 Author: Don Wood Date: Fri Mar 6 15:12:09 2009 -0800 RDMA/nes: Account for freed PBL after HW operation Fix occurrences where the software PBL counts were changed before the hardware was updated. This bug allowed another thread to overallocate the hardware resources. Add proper PBL accounting in case nes_reg_mr() fails. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 47d1ff6e1a24c0126cd0243b1d6d0a3ffbd7a026 Merge: b796313... 559595a... Author: Felix Blyakher Date: Fri Mar 6 17:06:44 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit b52a5195efd6173c06107ca5beb44389130596dc Author: Mark Brown Date: Fri Mar 6 18:13:43 2009 +0000 ASoC: Fix logging severity for some S3C error messages Upgrade the severity of some failure messages from debug level so they're displayed by default. Signed-off-by: Mark Brown commit ee7d476714464206317d4420d67e3bfa0308448d Author: Mark Brown Date: Fri Mar 6 18:04:34 2009 +0000 ASoC: Re-remove hand-rolled pr_debug() macros The recent set of S3C64xx patches re-added a lot of uses of DBG() that had previously been removed - revert this so the standard pr_debug() macro is used. Signed-off-by: Mark Brown commit 9de36825b321fe9fe9cf73260554251af579f4ca Author: Ingo Molnar Date: Fri Mar 6 17:52:03 2009 +0100 tracing: trace_bprintk() cleanups Impact: cleanup Remove a few leftovers and clean up the code a bit. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1236356510-8381-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 769b0441f438c4bb4872cb8560eb6fe51bcc09ee Author: Frederic Weisbecker Date: Fri Mar 6 17:21:49 2009 +0100 tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk() Impact: faster and lighter tracing Now that we have trace_bprintk() which is faster and consume lesser memory than trace_printk() and has the same purpose, we can now drop the old implementation in favour of the binary one from trace_bprintk(), which means we move all the implementation of trace_bprintk() to trace_printk(), so the Api doesn't change except that we must now use trace_seq_bprintk() to print the TRACE_PRINT entries. Some changes result of this: - Previously, trace_bprintk depended of a single tracer and couldn't work without. This tracer has been dropped and the whole implementation of trace_printk() (like the module formats management) is now integrated in the tracing core (comes with CONFIG_TRACING), though we keep the file trace_printk (previously trace_bprintk.c) where we can find the module management. Thus we don't overflow trace.c - changes some parts to use trace_seq_bprintk() to print TRACE_PRINT entries. - change a bit trace_printk/trace_vprintk macros to support non-builtin formats constants, and fix 'const' qualifiers warnings. But this is all transparent for developers. - etc... V2: - Rebase against last changes - Fix mispell on the changelog V3: - Rebase against last changes (moving trace_printk() to kernel.h) Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt LKML-Reference: <1236356510-8381-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1ba28e02a18cbdbea123836f6c98efb09cbf59ec Author: Lai Jiangshan Date: Fri Mar 6 17:21:48 2009 +0100 tracing: add trace_bprintk() Impact: add a generic printk() for tracing, like trace_printk() trace_bprintk() uses the infrastructure to record events on ring_buffer. [ fweisbec@gmail.com: ported to latest -tip, made it work if !CONFIG_MODULES, never free the format strings from modules because we can't keep track of them and conditionnaly create the ftrace format strings section (reported by Steven Rostedt) ] Signed-off-by: Lai Jiangshan Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt LKML-Reference: <1236356510-8381-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1427cdf0592368bdec57276edaf714040ee8744f Author: Lai Jiangshan Date: Fri Mar 6 17:21:47 2009 +0100 tracing: infrastructure for supporting binary record Impact: save on memory for tracing Current tracers are typically using a struct(like struct ftrace_entry, struct ctx_switch_entry, struct special_entr etc...)to record a binary event. These structs can only record a their own kind of events. A new kind of tracer need a new struct and a lot of code too handle it. So we need a generic binary record for events. This infrastructure is for this purpose. [fweisbec@gmail.com: rebase against latest -tip, make it safe while sched tracing as reported by Steven Rostedt] Signed-off-by: Lai Jiangshan Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt LKML-Reference: <1236356510-8381-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 546e5354a6e4ec760ac03ef1148e9a4762abb5f5 Merge: af438c0... fef20d9... Author: Ingo Molnar Date: Fri Mar 6 17:45:42 2009 +0100 Merge branch 'core/printk' into tracing/ftrace commit fef20d9c1380f04ba9492d6463148db07b413708 Author: Frederic Weisbecker Date: Fri Mar 6 17:21:50 2009 +0100 vsprintf: unify the format decoding layer for its 3 users An new optimization is making its way to ftrace. Its purpose is to make trace_printk() consuming less memory and be faster. Written by Lai Jiangshan, the approach is to delay the formatting job from tracing time to output time. Currently, a call to trace_printk() will format the whole string and insert it into the ring buffer. Then you can read it on /debug/tracing/trace file. The new implementation stores the address of the format string and the binary parameters into the ring buffer, making the packet more compact and faster to insert. Later, when the user exports the traces, the format string is retrieved with the binary parameters and the formatting job is eventually done. The new implementation rewrites a lot of format decoding bits from vsnprintf() function, making now 3 differents functions to maintain in their duplicated parts of printf format decoding bits. Suggested by Ingo Molnar, this patch tries to factorize the most possible common bits from these functions. The real common part between them is the format decoding. Although they do somewhat similar jobs, their way to export or import the parameters is very different. Thus, only the decoding layer is extracted, unless you see other parts that could be worth factorized. Changes in V2: - Address a suggestion from Linus to group the format_decode() parameters inside a structure. Changes in v3: - Address other cleanups suggested by Ingo and Linus such as passing the printf_spec struct to the format helpers: pointer()/number()/string() Note that this struct is passed by copy and not by address. This is to avoid side effects because these functions often change these values and the changes shoudn't be persistant when a callee helper returns. It would be too risky. - Various cleanups (code alignement, switch/case instead of if/else fountains). - Fix a bug that printed the first format specifier following a %p Changes in v4: - drop unapropriate const qualifier loss while casting fmt to a char * (thanks to Vegard Nossum for having pointed this out). Signed-off-by: Frederic Weisbecker Cc: Linus Torvalds Acked-by: Steven Rostedt LKML-Reference: <1236356510-8381-6-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4370aa4aa75391a5e2e06bccb0919109f725ed8e Author: Lai Jiangshan Date: Fri Mar 6 17:21:46 2009 +0100 vsprintf: add binary printf Impact: add new APIs for binary trace printk infrastructure vbin_printf(): write args to binary buffer, string is copied when "%s" is occurred. bstr_printf(): read from binary buffer for args and format a string [fweisbec@gmail.com: rebase] Signed-off-by: Lai Jiangshan Signed-off-by: Frederic Weisbecker Cc: Linus Torvalds LKML-Reference: <1236356510-8381-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 7ab152470e8416ef2a44c800fdc157e2192f2974 Author: Cyrill Gorcunov Date: Fri Mar 6 19:08:34 2009 +0300 x86: linkage.h - guard assembler specifics by __ASSEMBLY__ Stephen Rothwell reported: |Today's linux-next build (x86_64 allmodconfig) produced this warning: | |In file included from drivers/char/epca.c:49: |drivers/char/digiFep1.h:7:1: warning: "GLOBAL" redefined |In file included from include/linux/linkage.h:5, | from include/linux/kernel.h:11, | from arch/x86/include/asm/system.h:10, | from arch/x86/include/asm/processor.h:17, | from include/linux/prefetch.h:14, | from include/linux/list.h:6, | from include/linux/module.h:9, | from drivers/char/epca.c:29: |arch/x86/include/asm/linkage.h:55:1: warning: this is the location of the previous definition | |Probably introduced by commit 95695547a7db44b88a7ee36cf5df188de267e99e |("x86: asm linkage - introduce GLOBAL macro") from the x86 tree. Any assembler specific snippets being placed in headers are to be protected by __ASSEMBLY__. Fixed. Also move __ALIGN definition under the same protection as well. Reported-by: Stephen Rothwell Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090306160833.GB7420@localhost> Signed-off-by: Ingo Molnar commit 48b3fd14bd119cd20b0f9696363683a14a8f88bd Author: Grant Likely Date: Fri Mar 6 08:50:24 2009 -0700 powerpc/4xx: update ml507 .dts file to release reference design This patch updates the Xilinx ML507 device tree to match the released ML507 powerpc reference design (ml507_ppc440_emb_ref). This patch is needed to boot Linux on the ML507 powerpc reference design without manually generating and tweaking a device tree from the project directory. Signed-off-by: Grant Likely commit 78ff7fae04554b49d29226ed12536268c2500d1f Author: Masami Hiramatsu Date: Fri Mar 6 10:37:54 2009 -0500 x86: implement atomic text_poke() via fixmap Use fixmaps instead of vmap/vunmap in text_poke() for avoiding page allocation and delayed unmapping. At the result of above change, text_poke() becomes atomic and can be called from stop_machine() etc. Signed-off-by: Masami Hiramatsu Acked-by: Mathieu Desnoyers LKML-Reference: <49B14352.2040705@redhat.com> Signed-off-by: Ingo Molnar commit 3945dab45aa8c89014893bfa8eb1e1661a409cef Author: Masami Hiramatsu Date: Fri Mar 6 10:37:22 2009 -0500 tracing, Text Edit Lock - SMP alternatives support Use the mutual exclusion provided by the text edit lock in alternatives code. Since alternative_smp_* will be called from module init code, etc, we'd better protect it from other subsystems. Signed-off-by: Masami Hiramatsu LKML-Reference: <49B14332.9030109@redhat.com> Signed-off-by: Ingo Molnar commit 4460fdad85becd569f11501ad5b91814814335ff Author: Mathieu Desnoyers Date: Fri Mar 6 10:36:38 2009 -0500 tracing, Text Edit Lock - kprobes architecture independent support Use the mutual exclusion provided by the text edit lock in the kprobes code. It allows coherent manipulation of the kernel code by other subsystems. Changelog: Move the kernel_text_lock/unlock out of the for loops. Use text_mutex directly instead of a function. Remove whitespace modifications. (note : kprobes_mutex is always taken outside of text_mutex) Signed-off-by: Mathieu Desnoyers Acked-by: Ananth N Mavinakayanahalli Acked-by: Masami Hiramatsu LKML-Reference: <49B14306.2080202@redhat.com> Signed-off-by: Ingo Molnar commit 0e39ac444636ff5be39b26f1cb56d79594654dda Author: Mathieu Desnoyers Date: Fri Mar 6 10:35:52 2009 -0500 tracing, Text Edit Lock - Architecture Independent Code This is an architecture independant synchronization around kernel text modifications through use of a global mutex. A mutex has been chosen so that kprobes, the main user of this, can sleep during memory allocation between the memory read of the instructions it must replace and the memory write of the breakpoint. Other user of this interface: immediate values. Paravirt and alternatives are always done when SMP is inactive, so there is no need to use locks. Signed-off-by: Mathieu Desnoyers LKML-Reference: <49B142D8.7020601@redhat.com> Signed-off-by: Ingo Molnar commit f0ef03985130287c6c84ebe69416cf790e6cc00e Merge: 1609743... 31bbed5... Author: Ingo Molnar Date: Fri Mar 6 16:44:14 2009 +0100 Merge branch 'x86/core' into tracing/textedit Conflicts: arch/x86/Kconfig block/blktrace.c kernel/irq/handle.c Semantic conflict: kernel/trace/blktrace.c Signed-off-by: Ingo Molnar commit a56dbddf06b653ef9c04ca3767f260fd31ccebab Author: Tejun Heo Date: Sat Mar 7 00:44:11 2009 +0900 percpu: move fully free chunk reclamation into a work Impact: code reorganization for later changes Do fully free chunk reclamation using a work. This change is to prepare for locking changes. Signed-off-by: Tejun Heo commit 9f7dcf224bd09ec9ebcbfb383bf2c465e0e0b03d Author: Tejun Heo Date: Sat Mar 7 00:44:09 2009 +0900 percpu: move chunk area map extension out of area allocation Impact: code reorganization for later changes Separate out chunk area map extension into a separate function - pcpu_extend_area_map() - and call it directly from pcpu_alloc() such that pcpu_alloc_area() is guaranteed to have enough area map slots on invocation. With this change, pcpu_alloc_area() does only area allocation and the only failure mode is when the chunk doens't have enough room, so there's no need to distinguish it from memory allocation failures. Make it return -1 on such cases instead of hacky -ENOSPC. Signed-off-by: Tejun Heo commit 1880d93b80acc3171850e9df5048bcb26b75c2f5 Author: Tejun Heo Date: Sat Mar 7 00:44:09 2009 +0900 percpu: replace pcpu_realloc() with pcpu_mem_alloc() and pcpu_mem_free() Impact: code reorganization for later changes With static map handling moved to pcpu_split_block(), pcpu_realloc() only clutters the code and it's also unsuitable for scheduled locking changes. Implement and use pcpu_mem_alloc/free() instead. Signed-off-by: Tejun Heo commit 5dd61dfabcaa5bfb67afb8a2d255bd1e156562e3 Author: Pekka Enberg Date: Thu Mar 5 17:04:57 2009 +0200 x86: rename do_not_nx to disable_nx in mm/init_64.c As a preparational step for unifying noexec handling on 32-bit and 64-bit, rename the do_not_nx variable to disable_nx on 64-bit. Signed-off-by: Pekka Enberg LKML-Reference: <1236265497.31324.11.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit c77a3b59c624454c501cbfa1a3611d5a00bf9532 Author: Pekka Enberg Date: Thu Mar 5 17:04:26 2009 +0200 x86: fix uninitialized variable in init_memory_mapping() Signed-off-by: Pekka Enberg LKML-Reference: <1236265466.31324.9.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 26bd7b496cabc232fcff9ae0249828420c52b5af Author: Mark Brown Date: Fri Mar 6 11:32:17 2009 +0000 ASoC: Staticise workqueue function for GPIO jack detection Signed-off-by: Mark Brown commit 67a9c573b5bf39bc6b40c322c58640687c1b79fe Author: Mike Frysinger Date: Fri Mar 6 15:53:30 2009 +0800 ASoC: Blackfin: fix typo in MUTE definition Reported-by: Rob Maris Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 3465d93a128acce836249e3de40932d2ed25cac6 Author: Mike Frysinger Date: Fri Mar 6 15:53:28 2009 +0800 ASoC: Blackfin: move gpio_err behind the define that is only user of it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit de0b988828a45f4fefc96ff2fbed3ba2184319b9 Author: Lopez Cruz, Misael Date: Thu Mar 5 11:32:31 2009 -0600 ASoC: Add headset jack detection for SDP3430 machine driver Add headset jack detection for SDP3430 boards using SoC jack reporting interface. Headset detection on SDP3430 board is achieved through TWL4030 GPIO_2 pin. Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit a454dad19e78388d9f140ad0dfa6a849c57d385d Author: Timur Tabi Date: Thu Mar 5 17:23:37 2009 -0600 ASoC: add support for SSI asynchronous mode to the Freescale SSI drivers Add a new device tree property for the SSI node: "fsl,ssi-asynchronous". If defined, the SSI is programmed into asynchronous mode, otherwise it is programmed into synchronous mode. In asynchronous mode, pin SRCK must be connected to the same clock source as STFS, and pin SRFS must be connected to the same signal as STFS. Asynchronous mode allows playback and capture to use different sample sizes. It also technically allows different sample rates, but the driver does not support that. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit 499d8f4a528f1ebd0c19d89174fdc67130090c89 Author: Mark Brown Date: Thu Mar 5 17:26:15 2009 +0000 ASoC: Update Kconfig for Samsung CPUs to reflect S3C64xx support We now support the 64xx series as well as the 24xx series - make sure people using Kconfig know this. Signed-off-by: Mark Brown commit 07495f3e5af3a472f0f49957692cac15168fa528 Author: Mark Brown Date: Thu Mar 5 17:06:23 2009 +0000 ASoC: Fix memory allocation for snd_soc_dapm_switch names snd_soc_dapm_switch ends up ends up in dapm_new_mixer() (since a switch is a special case of a mixer with only one input) but this wasn't correctly handled in the code. Also fix the coding style for the switch below while we're here. Reported-by: Joonyoung Shim Signed-off-by: Mark Brown commit b0c5033f02182d1e9634edc737df88b82264e820 Author: Daniel Mack Date: Thu Mar 5 14:21:26 2009 +0100 ASoC: add two more bitfields for PXA SSP Add two more bitfields for the PSP register. As they seem to exist for PXA3xx only, define them conditionally. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 42aa3418ebd7b79be0e1ee7515e365c1574114f9 Author: Mark Brown Date: Sun Mar 1 19:21:10 2009 +0000 ASoC: Factor out DAPM widget power check into separate function Essentially simple code motion to facilitate refactoring of the power decisions. Signed-off-by: Mark Brown commit 20a41eac4fbaa22d051d0fbaeaf3315d2d8c4860 Author: Daniel Mack Date: Wed Mar 4 21:16:57 2009 +0100 ASoC: Fix name of register bit in pxa-ssp A bit in PXA's SSCR0 register was erroneously named ADC but its name is in fact ACS (audio clock select). Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 89492be88616aa20b3a6c3eb512f83c0c7d0c8a3 Author: Peter Ujfalusi Date: Thu Mar 5 12:48:49 2009 +0200 ASoC: TWL4030: Make the HS ramp delay configurable Enum type for selecting the desired ramp delay for the headset output. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit a1b3eaeb146937e954cdb6dcb67f8761b73e2eef Author: Mark Brown Date: Wed Mar 4 20:17:48 2009 +0000 ASoC: Refresh JIVE driver Remove uneeded startup callback and use snd_soc_dapm_nc_pin() Signed-off-by: Mark Brown commit c36623a7543e7a23ceeafbeb7b34a9e020100898 Author: Ben Dooks Date: Wed Mar 4 00:49:34 2009 +0000 ASoC: Select DMA if I2S is configured Select the relevant DMA implementation when the sound driver is selected. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit f8cf8176c7fc2c790e900595755b93e30633754d Author: Ben Dooks Date: Wed Mar 4 00:49:31 2009 +0000 ASoC: Add s3c64xx-i2s support Add the initial code to support the S3C64XX I2S hardware using the s3c-i2s-v2 core code. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit dc85447b196a683784eb85654c436fd58c3e2ed1 Author: Ben Dooks Date: Wed Mar 4 00:49:30 2009 +0000 ASoC: Split s3c2412-i2s.c into core and SoC specific parts The S3C2412 I2S (IIS) interface is replicated on further Samsung SoC parts in a broadly compatible way, so split the common code out into a core called s3c-i2s-v2.[ch] so that the newer SoCs such as the S3C6410 can make use of it. As such, all the original s3c2412 functions are currently being left with their original names, and will be renamed later in the series. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 3093e48c48b69ccc06a1f78ffe7ece7ee2ee09ef Author: Ben Dooks Date: Wed Mar 4 00:49:27 2009 +0000 ASoC: Add JIVE audio support Add support for the Jive's WM8750 codec attached via the S3C2412 IIS. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 979c036e090332cd3a090ce8b4eb50c3aa28dea0 Author: Lopez Cruz, Misael Date: Wed Mar 4 11:39:07 2009 -0600 ASoC: Add DAPM machine widgets to SDP3430 driver Add DAPM machine domain widgets to SDP3430 machine driver. Interconnection: * Ext Mic: MAINMIC, SUBMIC * Ext Spk: HFL, HFR * Headset Jack: HSMIC, HSOL, HSOR Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 4f5b31c3f29f4351d2740faed3a6c569b800b39d Merge: 86027ae... 899e6cf... Author: Mark Brown Date: Fri Mar 6 13:36:37 2009 +0000 Merge commit 's3c-iis-header' into HEAD commit 90f349d96e1dc05b1f7916958282c30760eeacd6 Author: Takashi Iwai Date: Fri Mar 6 14:30:08 2009 +0100 ALSA: ac97 - Add patch entry for Conexant CX20468-31 chip Added the patch entry for Conexant CX20468-31 chip (4358:5430). Reference: Novell bnc#471265 https://bugzilla.novell.com/show_bug.cgi?id=471265 Signed-off-by: Takashi Iwai commit 5ed0cec0ac5f1b3759bdbe4d9df32ee4ff8afb5a Author: Lai Jiangshan Date: Fri Mar 6 19:40:20 2009 +0800 sched: TIF_NEED_RESCHED -> need_reshed() cleanup Impact: cleanup Use test_tsk_need_resched(), set_tsk_need_resched(), need_resched() instead of using TIF_NEED_RESCHED. Signed-off-by: Lai Jiangshan Cc: Peter Zijlstra LKML-Reference: <49B10BA4.9070209@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit af438c0f114b6f731b923b5c07150f6159471502 Author: Ingo Molnar Date: Fri Mar 6 12:47:08 2009 +0100 tracing, power-trace: make it build even if the power-tracer is turned off Impact: build fix The 'struct power_trace' definition is needed (for the event tracer) even if the power-tracer plugin is turned off in the .config. Cc: Steven Rostedt LKML-Reference: <20090306104106.GF31042@elte.hu> Signed-off-by: Ingo Molnar commit d1a8e7792047f7dca7eb5759250e2c12800bf262 Author: Yinghai Lu Date: Fri Mar 6 03:12:50 2009 -0800 x86: make "memtest" like "memtest=17" Impact: make boot command line "memtest" do one loop by default So don't need to guess many patterns in one loop. Signed-off-by: Yinghai Lu LKML-Reference: <49B10532.3020105@kernel.org> Signed-off-by: Ingo Molnar commit 139e071b0ff37800ed0a68b10c4bb325f51786eb Author: Takashi Iwai Date: Fri Mar 6 12:10:41 2009 +0100 ALSA: hda - Assign HP and speaker DACs before mic/line-in Assign DACs to HP and speaker before mic-in/line-in shared outputs. This improves the usability as it results in more intuitive mixer names. Signed-off-by: Takashi Iwai commit 10dd3ebe213c31bff14b4dae3c5d32a76b1fad7c Author: KOSAKI Motohiro Date: Fri Mar 6 15:29:04 2009 +0900 tracing: fix deadlock when setting set_ftrace_pid Impact: fix deadlock while using set_ftrace_pid Reproducer: # cd /sys/kernel/debug/tracing # echo $$ > set_ftrace_pid then, console becomes hung. Details: when writing set_ftracepid, kernel callstack is following ftrace_pid_write() mutex_lock(&ftrace_lock); ftrace_update_pid_func() mutex_lock(&ftrace_lock); mutex_unlock(&ftrace_lock); mutex_unlock(&ftrace_lock); then, system always deadlocks when ftrace_pid_write() is called. In past days, ftrace_pid_write() used ftrace_start_lock, but commit e6ea44e9b4c12325337cd1c06103cd515a1c02b2 consolidated ftrace_start_lock to ftrace_lock. Signed-off-by: KOSAKI Motohiro Reviewed-by: Lai Jiangshan Cc: Steven Rostedt LKML-Reference: <20090306151155.0778.A69D9226@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit ee58a7ca21b2acf0d7ad0e1eb2f8d916ecf9fadc Author: Takashi Iwai Date: Fri Mar 6 12:00:24 2009 +0100 ALSA: hda - Connect to primary DAC if no individual DAC is available In stac92xx_auto_fill_dac_nids[], connect to the primary DAC if no individual DAC is available for each pin. This ensures that the pin works somehow at least. Signed-off-by: Takashi Iwai commit 422d3c7a577b15e1384c9d4e72a9540896b685fa Author: KOSAKI Motohiro Date: Fri Mar 6 10:40:53 2009 +0900 tracing: current tip/master can't enable ftrace After commit 40ada30f9621fbd831ac2437b9a2a399aad34b00, "make menuconfig" doesn't display "Tracer" item. Following modification restores it. commit 7fc07d84108d54c5b94625c0e168f31b2d66976e Merge: b67802e... 8a0be9e... Author: Ingo Molnar Date: Fri Mar 6 11:47:52 2009 +0100 Merge branch 'sched/core' into sched/cleanups commit bc722f508a5bcbb65a7bb0c7ce8e3934f5763a1a Merge: 1609743... 770cb24... Author: Ingo Molnar Date: Fri Mar 6 11:40:37 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 16097439703bcd38e9fe5608c12add6dacb825ea Merge: 40ada30... 0012693... Author: Ingo Molnar Date: Fri Mar 6 11:39:18 2009 +0100 Merge branches 'tracing/ftrace' and 'tracing/function-graph-tracer' into tracing/core commit edab56f4c90f45ba4e61d06d3fc9658da4e94bde Author: Paul Mundt Date: Fri Mar 6 19:21:02 2009 +0900 sh: multiple vectors per irq - sh7720. Signed-off-by: Paul Mundt commit 56d604defa91684509ac842317ea14501f224299 Author: Paul Mundt Date: Fri Mar 6 19:20:48 2009 +0900 sh: multiple vectors per irq - sh7710. Signed-off-by: Paul Mundt commit 0caedb02c4a02b6fd0f1a62dfeb917353d3c6162 Author: Paul Mundt Date: Fri Mar 6 19:20:32 2009 +0900 sh: multiple vectors per irq - sh7705. Signed-off-by: Paul Mundt commit 592acbda89f40a93f7d71564cdf1da83229d226e Author: Paul Mundt Date: Fri Mar 6 19:20:14 2009 +0900 sh: multiple vectors per irq - sh770x. Signed-off-by: Paul Mundt commit 053bfc5360c106528bbb57464ad2cbf4a2af8133 Author: Paul Mundt Date: Fri Mar 6 19:19:54 2009 +0900 sh: multiple vectors per irq - mxg. Signed-off-by: Paul Mundt commit 5dece2bbda728fbf6a70e48be782c24c427072b0 Author: Paul Mundt Date: Fri Mar 6 19:19:31 2009 +0900 sh: multiple vectors per irq - sh7619. Signed-off-by: Paul Mundt commit e26b926a561ba24bfeb8a15bfc848f97052a50f4 Author: Paul Mundt Date: Fri Mar 6 18:51:33 2009 +0900 rtc: rtc-sh: Bump version up to reflect single IRQ support changes. Signed-off-by: Paul Mundt commit f858abbecd0a3ec0ab3e3678612d626a0bd49686 Author: Paul Mundt Date: Fri Mar 6 18:34:15 2009 +0900 sh: multiple vectors per irq - sh7206. Signed-off-by: Paul Mundt commit d55eedd57d05dbb00e4b66d1c01ea6fac0274c38 Author: Paul Mundt Date: Fri Mar 6 18:21:38 2009 +0900 sh: multiple vectors per irq - sh7201. Follow the conversions as per the other subtypes. Signed-off-by: Paul Mundt commit 668b9652be33510a2a42b290dd335d34d38e2068 Author: Takashi Iwai Date: Fri Mar 6 10:13:24 2009 +0100 ALSA: hda - Create multiple HP / speaker controls with index Create multiple "Headphone" and "Speaker" controls with non-zero index numbers instead of "Headphone2", etc. Signed-off-by: Takashi Iwai commit 7a411ee01bf3114ba2a2ae013eaae4e3c41f8eb5 Author: Takashi Iwai Date: Fri Mar 6 10:08:14 2009 +0100 ALSA: hda - Allow slave controls with non-zero indices Fix snd_hda_add_vmaster() to check the non-zero indices of slave controls. Signed-off-by: Takashi Iwai commit dc04d1b4d2043e2fca2d94d6d5542b930f2bc5b3 Author: Takashi Iwai Date: Fri Mar 6 10:00:05 2009 +0100 ALSA: hda - Create output controls according to pin types for IDT/STAC Improve the parser to pick up more intuitive control names for the outputs judging from the pin type, instead of fixed names assigned to channels. Also, revive the multi-HP workaround since this change fixes the problem with the multi-HP detection. Signed-off-by: Takashi Iwai commit e45efe68d11e9f3c836b019a32b879a26a2b9b33 Author: Paul Mundt Date: Fri Mar 6 18:02:33 2009 +0900 sh: multiple vectors per irq - sh7263. Convert over the SH7263 IRQ groups as well. Signed-off-by: Paul Mundt commit bb943a286c6f2993a737cc44c170d8b26e72c8ff Author: Paul Mundt Date: Fri Mar 6 17:58:51 2009 +0900 sh: multiple vectors per irq - sh7203. Follow the conversions as per the other subtypes. Signed-off-by: Paul Mundt commit f033599aac86f4eb08a1b6b851568a2587e8c6ad Author: Paul Mundt Date: Fri Mar 6 17:56:58 2009 +0900 sh: intc: Make missing unique IRQ mask warning more verbose. This includes the IRQ number in addition to the vector, as not all platforms wrap in with INTC_VECT(). Signed-off-by: Paul Mundt commit b3225190c1991449086395f85a3cc07ac936e8f0 Merge: f03d311... c50ff7c... Author: Takashi Iwai Date: Fri Mar 6 09:52:36 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 075901af281b2afb47b1423ac488e713844db396 Author: Nobuhiro Iwamatsu Date: Fri Mar 6 14:37:34 2009 +0900 sh: Restore RTC IRQ setting for SH7763 setup. This was accidentally dropped in the multiple vectors per irq conversion. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 6b19b0c2400437a3c10059ede0e59b517092e1bd Author: Tejun Heo Date: Fri Mar 6 14:33:59 2009 +0900 x86, percpu: setup reserved percpu area for x86_64 Impact: fix relocation overflow during module load x86_64 uses 32bit relocations for symbol access and static percpu symbols whether in core or modules must be inside 2GB of the percpu segement base which the dynamic percpu allocator doesn't guarantee. This patch makes x86_64 reserve PERCPU_MODULE_RESERVE bytes in the first chunk so that module percpu areas are always allocated from the first chunk which is always inside the relocatable range. This problem exists for any percpu allocator but is easily triggered when using the embedding allocator because the second chunk is located beyond 2GB on it. This patch also changes the meaning of PERCPU_DYNAMIC_RESERVE such that it only indicates the size of the area to reserve for dynamic allocation as static and dynamic areas can be separate. New PERCPU_DYNAMIC_RESERVED is increased by 4k for both 32 and 64bits as the reserved area separation eats away some allocatable space and having slightly more headroom (currently between 4 and 8k after minimal boot sans module area) makes sense for common case performance. x86_32 can address anywhere from anywhere and doesn't need reserving. Mike Galbraith first reported the problem first and bisected it to the embedding percpu allocator commit. Signed-off-by: Tejun Heo Reported-by: Mike Galbraith Reported-by: Jaswinder Singh Rajput commit edcb463997ed7b2ffa3bac76e3e75957318f2e01 Author: Tejun Heo Date: Fri Mar 6 14:33:59 2009 +0900 percpu, module: implement reserved allocation and use it for module percpu variables Impact: add reserved allocation functionality and use it for module percpu variables This patch implements reserved allocation from the first chunk. When setting up the first chunk, arch can ask to set aside certain number of bytes right after the core static area which is available only through a separate reserved allocator. This will be used primarily for module static percpu variables on architectures with limited relocation range to ensure that the module perpcu symbols are inside the relocatable range. If reserved area is requested, the first chunk becomes reserved and isn't available for regular allocation. If the first chunk also includes piggy-back dynamic allocation area, a separate chunk mapping the same region is created to serve dynamic allocation. The first one is called static first chunk and the second dynamic first chunk. Although they share the page map, their different area map initializations guarantee they serve disjoint areas according to their purposes. If arch doesn't setup reserved area, reserved allocation is handled like any other allocation. Signed-off-by: Tejun Heo commit 3e24aa58907c62bc79d1094e941a374568f62522 Author: Tejun Heo Date: Fri Mar 6 14:33:59 2009 +0900 percpu: add an indirection ptr for chunk page map access Impact: allow sharing page map, no functional difference yet Make chunk->page access indirect by adding a pointer and renaming the actual array to page_ar. This will be used by future changes. Signed-off-by: Tejun Heo commit 9a4f8a878b68d5a5d9ee60908a52cf6a55e1b823 Author: Tejun Heo Date: Fri Mar 6 14:33:59 2009 +0900 x86: make embedding percpu allocator return excessive free space Impact: reduce unnecessary memory usage on certain configurations Embedding percpu allocator allocates unit_size * smp_num_possible_cpus() bytes consecutively and use it for the first chunk. However, if the static area is small, this can result in excessive prellocated free space in the first chunk due to PCPU_MIN_UNIT_SIZE restriction. This patch makes embedding percpu allocator preallocate only what's necessary as described by PERPCU_DYNAMIC_RESERVE and return the leftover to the bootmem allocator. Signed-off-by: Tejun Heo commit cafe8816b217b98dc3f268d3b77445da498beb4f Author: Tejun Heo Date: Fri Mar 6 14:33:59 2009 +0900 percpu: use negative for auto for pcpu_setup_first_chunk() arguments Impact: argument semantic cleanup In pcpu_setup_first_chunk(), zero @unit_size and @dyn_size meant auto-sizing. It's okay for @unit_size as 0 doesn't make sense but 0 dynamic reserve size is valid. Alos, if arch @dyn_size is calculated from other parameters, it might end up passing in 0 @dyn_size and malfunction when the size is automatically adjusted. This patch makes both @unit_size and @dyn_size ssize_t and use -1 for auto sizing. Signed-off-by: Tejun Heo commit 61ace7fa2fff9c4b6641c506b6b3f1a9394a1b11 Author: Tejun Heo Date: Fri Mar 6 14:33:59 2009 +0900 percpu: improve first chunk initial area map handling Impact: no functional change When the first chunk is created, its initial area map is not allocated because kmalloc isn't online yet. The map is allocated and initialized on the first allocation request on the chunk. This works fine but the scattering of initialization logic between the init function and allocation path is a bit confusing. This patch makes the first chunk initialize and use minimal statically allocated map from pcpu_setpu_first_chunk(). The map resizing path still needs to handle this specially but it's more straight-forward and gives more latitude to the init path. This will ease future changes. Signed-off-by: Tejun Heo commit 2441d15c97d498b18f03ae9fba262ffeae42a08b Author: Tejun Heo Date: Fri Mar 6 14:33:59 2009 +0900 percpu: cosmetic renames in pcpu_setup_first_chunk() Impact: cosmetic, preparation for future changes Make the following renames in pcpur_setup_first_chunk() in preparation for future changes. * s/free_size/dyn_size/ * s/static_vm/first_vm/ * s/static_chunk/schunk/ Signed-off-by: Tejun Heo commit 6a242909b01120f6f3d571c0b75e20ec61f0d8d3 Author: Tejun Heo Date: Fri Mar 6 14:33:58 2009 +0900 percpu: clean up percpu constants Impact: cleaup Make the following cleanups. * There isn't much arch-specific about PERCPU_MODULE_RESERVE. Always define it whether arch overrides PERCPU_ENOUGH_ROOM or not. * blackfin overrides PERCPU_ENOUGH_ROOM to align static area size. Do it by default. * percpu allocation sizes doesn't have much to do with the page size. Don't use PAGE_SHIFT in their definition. Signed-off-by: Tejun Heo Cc: Bryan Wu commit a6bc77241d79d39ad2ad8010a82ce7e0f437ae05 Author: Nobuhiro Iwamatsu Date: Fri Mar 6 05:06:27 2009 +0000 sh: multiple vectors per irq - sh7763 Update intc tables and platform data to use one linux irq per maskable interrupt source instead of keeping the one-to-one mapping between vectors and linux irqs. This fixes potential irq masking issues for sh7763 hardware blocks such as RTC/SCIF/DMAC/GETHER/PCIC5/MMCIF/SIM/GPIO/USBF. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 770cb24345c0f6e0d47bd2b94aa6d67bea6f8b54 Author: Steven Rostedt Date: Thu Mar 5 21:35:29 2009 -0500 tracing: add format files for ftrace default entries Impact: allow user apps to read binary format of basic ftrace entries Currently, only defined raw events export their formats so a binary reader can parse them. There's no reason that the default ftrace entries can't export their formats. This patch adds a subsystem called "ftrace" in the events directory that includes the ftrace entries for basic ftrace recorded items. These only have three files in the events directory: type : printf available_types : printf format : format for the event entry For example: # cat /debug/tracing/events/ftrace/wakeup/format name: wakeup ID: 3 format: field:unsigned char type; offset:0; size:1; field:unsigned char flags; offset:1; size:1; field:unsigned char preempt_count; offset:2; size:1; field:int pid; offset:4; size:4; field:int tgid; offset:8; size:4; field:unsigned int prev_pid; offset:12; size:4; field:unsigned char prev_prio; offset:16; size:1; field:unsigned char prev_state; offset:17; size:1; field:unsigned int next_pid; offset:20; size:4; field:unsigned char next_prio; offset:24; size:1; field:unsigned char next_state; offset:25; size:1; field:unsigned int next_cpu; offset:28; size:4; print fmt: "%u:%u:%u ==+ %u:%u:%u [%03u]" Signed-off-by: Steven Rostedt commit 33b0c229e3abeae00493ed1d6f0b07191977a0a2 Author: Steven Rostedt Date: Thu Mar 5 11:45:43 2009 -0500 tracing: move print of event format to separate file Impact: clean up Move the macro that creates the event format file to a separate header. This will allow the default ftrace events to use this same macro to create the formats to read those events. Signed-off-by: Steven Rostedt commit 5e2336a0d47c9661a40cc5ef85135ce1406af6e8 Author: Steven Rostedt Date: Thu Mar 5 21:44:55 2009 -0500 tracing: make all file_operations const Impact: cleanup All file_operations structures should be constant. No one is going to change them. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit dd34b5d75a0405814a3de83f02a44ac297e81629 Author: Eric Paris Date: Thu Mar 5 13:43:35 2009 -0500 SELinux: new permission between tty audit and audit socket New selinux permission to separate the ability to turn on tty auditing from the ability to set audit rules. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 6a25b27d602aac24f3c642722377ba5d778417ec Author: Eric Paris Date: Thu Mar 5 13:40:35 2009 -0500 SELinux: open perm for sock files When I did open permissions I didn't think any sockets would have an open. Turns out AF_UNIX sockets can have an open when they are bound to the filesystem namespace. This patch adds a new SOCK_FILE__OPEN permission. It's safe to add this as the open perms are already predicated on capabilities and capabilities means we have unknown perm handling so systems should be as backwards compatible as the policy wants them to be. https://bugzilla.redhat.com/show_bug.cgi?id=475224 Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 40ada30f9621fbd831ac2437b9a2a399aad34b00 Author: Ingo Molnar Date: Thu Mar 5 21:19:55 2009 +0100 tracing: clean up menu Clean up menu structure, introduce TRACING_SUPPORT switch that signals whether an architecture supports various instrumentation mechanisms. Signed-off-by: Ingo Molnar commit 31bbed527e7039203920c51c9fb48c27aed0820c Merge: 0fbba48... b2b3525... Author: Ingo Molnar Date: Thu Mar 5 21:49:47 2009 +0100 Merge branch 'x86/uv' into x86/core commit 0fbba4871c42b297b0d6a6a6ff73e934cb91423e Merge: 28e93a0... a1aade4... Author: Ingo Molnar Date: Thu Mar 5 21:49:44 2009 +0100 Merge branch 'x86/doc' into x86/core commit 28e93a005b65cc5b4f569642e9c7903618ea5fe1 Merge: caab36b... ed26dbe... Author: Ingo Molnar Date: Thu Mar 5 21:49:35 2009 +0100 Merge branch 'x86/mm' into x86/core commit caab36b593b44c97e3c7707c6a8054b320f8d622 Merge: a1413c8... 73af76d... Author: Ingo Molnar Date: Thu Mar 5 21:49:25 2009 +0100 Merge branch 'x86/mce2' into x86/core commit a1413c89ae6a4b7a9a43f7768934a81ffb5c629a Merge: f254f39... dd4124a... Author: Ingo Molnar Date: Thu Mar 5 21:48:31 2009 +0100 Merge branch 'x86/urgent' into x86/core Conflicts: arch/x86/include/asm/fixmap_64.h Semantic merge: arch/x86/include/asm/fixmap.h Signed-off-by: Ingo Molnar commit 1a77733ccb9654716160fdfb3f1f2a9e1759de19 Author: Michael Buesch Date: Wed Mar 4 16:41:10 2009 +0100 b43: Fix compilation for devices without PCI core This fixes compilation, if the PCI core is disabled. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 39d89cd34d9900cd2415f46e179b91cdd14b15fe Author: Jouni Malinen Date: Tue Mar 3 19:23:40 2009 +0200 ath9k: Add a debugfs interface for controlling virtual wiphys debugfs ath9k/phy#/wiphy can be used to show the current list of virtual wiphys and to add/remove virtual wiphys. Eventually, this interface could be replaced with a cfg80211/nl80211 command that is passed through mac80211. For example: # cat /debug/ath9k/phy0/wiphy primary: phy0 # echo add > /debug/ath9k/phy0/wiphy # cat /debug/ath9k/phy0/wiphy primary: phy0 secondary: phy1 # echo del=phy1 > /debug/ath9k/phy0/wiphy # cat /debug/ath9k/phy0/wiphy primary: phy0 In addition, following commands can be used to test pausing and unpausing of the virtual wiphys: pause=phy1 unpause=phy1 select=phy1 (select pauses and unpauses wiphys automatically based on channel) schedule=500 (set wiphy scheduling interval in msec; 0 = disable; default value: 500) Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f98c3bd24161e9aaa73b9cd4dc6b1742c085ac17 Author: Jouni Malinen Date: Tue Mar 3 19:23:39 2009 +0200 ath9k: Add a simple virtual wiphy scheduler This is a very simple scheduler that goes through the wiphys and schedules one at a time every N milliseconds (current default value: 500 ms). This is enough for initial testing, but there are number of areas where a more complex scheduler can improve operations greatly. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 8089cc47ed45df8f5a44f92f53140e6fd0958409 Author: Jouni Malinen Date: Tue Mar 3 19:23:38 2009 +0200 ath9k: Special processing for channel changes during scan Allow mac80211-controlled channel changes on an active wiphy and especially during a scan. We need this as long as the scan is controlled by mac80211. Moving this control into the driver could allow some optimizations on scanning while using multiple virtual interfaces, but for now, try to work as well as possible with the current scan mechanism. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 7ec3e514d9361596cbd8aa71ce41d6e5b0220103 Author: Jouni Malinen Date: Tue Mar 3 19:23:37 2009 +0200 ath9k: Add workaround to recover from failed channel changes It looks like channel change may fail in some cases and end up leaving the hardware in state where it cannot transmit any frames. Add a workaround to recover from this state if we detect that wiphy selection is failing due to wiphys not leaving PAUSING state. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ee166a0e71947e0ebeb044fd2277435f665270ac Author: Jouni Malinen Date: Tue Mar 3 19:23:36 2009 +0200 ath9k: Check virtual wiphy state on tx() mac80211 should not be requesting us to transmit frames on paused wiphys since we stop the TX queues. Just in case, add debug code to make sure we catch if this were to happen. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 18eb62f87a8d1dc6ed8a01a52e6b2b1600802608 Author: Jouni Malinen Date: Tue Mar 3 19:23:35 2009 +0200 ath9k: Pause other virtual wiphys on channel change For now, allow channel changes immediately and just force the other virtual wiphys to paused state. This is needed to allow mac80211-controlled scan to control channel changes. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 465ca84d95deeab37b7c3b10b2cb96b3fa07a891 Author: Jouni Malinen Date: Tue Mar 3 19:23:34 2009 +0200 ath9k: Register larger listen interval Notify the AP that we may be sleeping longer to allow the AP power save code to buffer larger number of frames for us when using virtual wiphys. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9580a222b8a371c145d7439c1a289b9e77f8fe31 Author: Jouni Malinen Date: Tue Mar 3 19:23:33 2009 +0200 ath9k: Make start/stop operations aware of virtual wiphys Instead of always going through initialization/deinitialization steps, do this only for the first/last wiphy to not break the other wiphys. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0e2dedf971f3feefd4d3d3d8cb5c57b1757f1101 Author: Jouni Malinen Date: Tue Mar 3 19:23:32 2009 +0200 ath9k: Add routines for switching between active virtual wiphys ath9k_wiphy_select() can be used to select a virtual wiphy to be activated. Other virtual wiphys will be paused and once that is done, the operational channel is changed and the wiphys that are on the selected channel will be unpaused. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f0ed85c6c7960b26666db013e02e748b56eef98a Author: Jouni Malinen Date: Tue Mar 3 19:23:31 2009 +0200 ath9k: Virtual wiphy pause/unpause functionality Allow virtual wiphys to be paused/unpaused to allow off-channel operations. Pause will stop all TX queues for the wiphy and move the STA into power save mode if in managed mode. Unpause wakes up the TX queues and notifies the AP that the STA woke up if in managed mode. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit b93bce2a5e8fd5c9f5d8c982efd6bca71a9b83f3 Author: Jouni Malinen Date: Tue Mar 3 19:23:30 2009 +0200 ath9k: Configure RX filter for multi-BSSID broadcast Allow RX filter to pass through all broadcast/multicast frames (i.e., no BSSID filtering) if virtual interfaces are used. Software filtering will be used in this case to drop broadcast/multicast frames for foreign BSSIDs. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c52f33d05e5f8d59f02722fbc308f5f391575ca5 Author: Jouni Malinen Date: Tue Mar 3 19:23:29 2009 +0200 ath9k: Add support for multiple secondary virtual wiphys The new struct ath_softc::sec_wiphy array is used to store information about virtual wiphys and select which wiphy is used in calls to mac80211. Each virtual wiphy will be assigned a different MAC address based on the virtual wiphy index. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit bce048d77dff3dcfd75d54dc38580c81baa95853 Author: Jouni Malinen Date: Tue Mar 3 19:23:28 2009 +0200 ath9k: Add data structure for supporting virtual radio/wiphy operation This is the initial step in allowing ath9k to register multiple virtual radios (wiphys). The goal of virtual radios is to allow the same radio to be shared for multiple virtual interfaces that may operate on different channels. The mac80211 virtual interface support is designed only for single channel operation and as such, it is not suitable for this type of use. Anyway, it can be used on top of the virtual radio concept, if desired (e.g., use two virtual radios to handle two channels and then add multiple mac80211 virtual interfaces on top of each virtual radio). The new struct ath_wiphy is now registered as the driver data structure for wiphy. This structure has a pointer to the shared (among virtual wiphys of the same physical radio) struct ath_softc data. The primary wiphy maintains the allocated memory for ath_softc. Secondary (virtual) wiphys will only allocate the new ath_wiphy structure. Registration of secondary wiphys is added in a separate patch. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 8ca21f0185a606c490867f7471196aa29639e638 Author: Jouni Malinen Date: Tue Mar 3 19:23:27 2009 +0200 ath9k: Set BSSID mask based on configured interfaces Instead of using a hardcoded BSSID mask (mask for own addresses), iterate through all active interfaces and determine the minimal mask that covers all local addresses. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2c3db3d51ee1fcf84f5828788905a4c091b9ae27 Author: Jouni Malinen Date: Tue Mar 3 19:23:26 2009 +0200 ath9k: Cleanup multiple VIF processing Replace the internal sc_vaps array and index values by using vif pointer from mac80211. Allow multiple VIPs to be registered. Though, number of beaconing VIFs is still limited by ATH_BCBUF (currently 1). Multiple virtual STAs support is not yet complete, but at least the data structures should now be able to handle this. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 860559fe686b44a533c83c79fe5d1ad41bf9e090 Author: Ivo van Doorn Date: Tue Mar 3 18:14:18 2009 +0100 rt2x00: Export all register stats through debugfs By exporting the register base, and word size to userspace through debugfs it will be easier to create scripts which parse the register information. This makes debugging and register dumps information easier. This will break my previous scripts which dumped and parsed all information, but since this is only for debugging purposes this change should not be a problem. Dumpfiles created with the old version can be easily manually edited to make them compatible with this new approach, which means there will be no problems comparing dumps from the different versions either. Also be more consistent with using tabs to seperate different fields. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d216aaa674feb14a4aeb56bc3708f69d81c39d45 Author: Jouni Malinen Date: Tue Mar 3 13:11:53 2009 +0200 ath9k: Clean up setkey operations There is no need to use ath_keyset() wrapper for ath9k_hw_set_keycache_entry() calls. In addition, improve the comments describing the key setting operations. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit aebe2b5624b9a3c00b78b1b285c43de73c81f7c5 Author: Gabor Juhos Date: Tue Mar 3 10:49:59 2009 +0100 ath9k: fix AR_TXCFG_DMASZ_MASK value The current bitmask is invalid, because the tx dma size is a 3 bit wide value. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit b75bc150af4f276fd0e197c8409c62b71cc86118 Author: Sujith Date: Tue Mar 3 10:16:59 2009 +0530 ath9k: Remove unused variables in struct ath_beacon_config We don't store the beacon timestamp internally, nor do we do any TIM handling in ath9k. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2554935b08f87e0ce1852635720d2d3ac91fc512 Author: Sujith Date: Tue Mar 3 10:16:57 2009 +0530 ath9k: Lock config_interface() callback with a mutex Signed-off-by: Sujith Signed-off-by: John W. Linville commit b238e90e99fe51aed14d20eae8a6a1c04ce4ca30 Author: Sujith Date: Tue Mar 3 10:16:56 2009 +0530 ath9k: Handle TSF properly for AP mode The TSF has to be reset only once, upon bringing the interface up in AP mode. For any beacon reconfigure calls after that, resetting the TSF results in incorrect beacon generation. The only exception is a change in the beacon interval, which is indicated to the driver by mac80211 through IEEE80211_CONF_CHANGE_BEACON_INTERVAL, handle this properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5379c8a26686e12058e23322615df68f9123bccd Author: Sujith Date: Tue Mar 3 10:16:54 2009 +0530 ath9k: Split beacon configuration into mode specific routines This makes the code easier to understand. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9546aae0863c12a3d00b1ed5cbd316520733200b Author: Sujith Date: Tue Mar 3 10:16:53 2009 +0530 ath9k: Cleanup beacon stuck processing We never use SC_OP_NO_RESET, it is not configurable at all. Remove all code that deals with this flag and make beacon stuck processing simple. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9fc9ab0a6929c9f137747df0ecf294e9582607f9 Author: Sujith Date: Tue Mar 3 10:16:51 2009 +0530 ath9k: Scrub beacon.c Remove useless comments, fix indentation. Also, remove all occurrences of ASSERT(vif) which are not needed. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0c98de6535f4de746618547c057dccd442ba968a Author: Sujith Date: Tue Mar 3 10:16:45 2009 +0530 ath9k: Use new scan notifiers from mac80211 The only use case for this right now is ANI calibration, but more might come up in the future. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 707c1b4e68a2811ff2c9e75750a98a3310789a2d Author: Sujith Date: Tue Mar 3 10:15:10 2009 +0530 mac80211: Update IBSS beacon timestamp properly In IBSS mode, the beacon timestamp has to be filled with the BSS's timestamp when joining, and set to zero when creating a new BSS. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0ad65bd7e1b38dd2c86da5f07dbfa35fe1f03099 Author: Alina Friedrichsen Date: Mon Mar 2 23:29:48 2009 +0100 ath5k: Set TSF fix The old code doesn't work correctly e.g. on newer chipsets like AR5418+AR2122 and AR5416+AR2133. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit b9a1619763a4b30273cd28fad75b3d962e53e020 Author: Alina Friedrichsen Date: Mon Mar 2 23:28:38 2009 +0100 ath9k: Set TSF fix The old code doesn't work correctly e.g. on newer chipsets like AR5418+AR2122 and AR5416+AR2133. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit ce4fbdbf161b2676b3833412367113572d739253 Author: Michael Buesch Date: Mon Mar 2 23:18:37 2009 +0100 b43: Pass more RX flags to mac80211 This changes the RX handler to pass more status flags to mac80211. It also changes part of the drop policy, if bad frames were requested. (Note that currently mac80211 will throw a WARN_ON in that case. But nothing bad will happen). This also removes some obsolete unused timestamping code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 91ed19f5f66a7fe544f0ec385e981f43491d1d5a Author: Alina Friedrichsen Date: Mon Mar 2 23:13:40 2009 +0100 ath9k: Fix FIF_BCN_PRBRESP_PROMISC handling So that a new created IBSS network doesn't break on the first scan. It seems to Sujith and me that this stupid code unnecessary, too. So remove it... Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 541d8dd5e848aa5f8223a9e8e13b369d64865f07 Author: Vivek Natarajan Date: Mon Mar 2 20:25:14 2009 +0530 ath9k: Handle power modes in isr for power save. Restore network sleep mode in isr if power save is enabled. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 9331ec8060da5783307a565792ded33bfb9e54fc Author: Sujith Date: Mon Mar 2 13:29:45 2009 +0530 ath9k: Fill in rate_update mac80211 callback This callback can be used to handle dynamic 20/40, and changes in the operating channel's HT parameters. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 25c9c8752849212a25bf7f38b40b64b3958d619b Author: Vivek Natarajan Date: Mon Mar 2 20:20:30 2009 +0530 mac80211: Always send a null data frame if TIM bit is set. If the AP thinks we are in power save state eventhough we are not truly in that state, it sets the TIM bit and does not send a data frame unless we send a null data frame to correct the state in the AP. This might happen if the null data frame for wake up is lost in the air after we disable power save. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit e0caf9eaae5182ab4e02a5d703ade64719738f87 Author: Jouni Malinen Date: Mon Mar 2 18:15:53 2009 +0200 ath9k: Remove unused key xoring This is not used anywhere in ath9k and is just making the code more confusing. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 672903b329579ff43ae3d553cf55bd82041921c1 Author: Jouni Malinen Date: Mon Mar 2 15:06:31 2009 +0200 ath9k: Document keycache operations There are number of small details about the keycache operations that are very easy to miss (and forget), so better include detailed comments in ath9k_hw_set_keycache_entry() to avoid having to figure out this every time when having to touch this area. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e65c22633c14eabe9593a71a727f81544378b892 Author: Sujith Date: Mon Mar 2 13:28:31 2009 +0530 mac80211: Fix TKIP/WEP HT capability handling There is no need to parse the AP's HT capabilities if the STA uses TKIP/WEP cipher. This allows the rate control module to choose the correct(legacy) rate table. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a412c8040d83366dcc24962207b8beed52f29344 Author: Frank Seidel Date: Sun Mar 1 20:25:38 2009 +0100 iwlwifi: reduce stack size Reduce stack memory footprint of iwlwifi. (From >1000 bytes for each *_table_read on i386 down to 32) Signed-off-by: Frank Seidel Signed-off-by: John W. Linville commit 64abd80330baba9d87df2b952a7eec5af5158470 Author: Ivo van Doorn Date: Sun Mar 1 17:42:00 2009 +0100 rt2x00: Fix SW antenna diversity Software antenna tuning is broken because of an function ordering problem during rt2x00link_tuner(). rt2x00link_precalculate_signal() rt2x00leds_led_quality() rt2x00lib_antenna_diversity() rt2x00link_precalculate_signal() will reset the quality TX/RX counters, however rt2x00lib_antenna_diversity() requires the RX counter to see what RSSI value must be used for a particular antenna. We can't change the ordering since rt2x00lib_antenna_diversity() might reset other statistics which are needed by the function called earlier. Move the reset of the quality TX/RX counters into a seperate function and move the call to after rt2x00lib_antenna_diversity(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 14d2aac580993ac8faeac0d903207e316c0881c3 Author: Abhijeet Kolekar Date: Fri Feb 27 16:21:24 2009 -0800 iwl3945 : use iwl_activate_qos 3945 can use iwl_activate_qos instead of iwl3945_activate_qos. Patch does two things 1) Patch adds iwl_activate_qos in core library. 2) 3945 makes use of iwl_activate_qos. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2a4ddaabe0055962fbfffb72633a97eadc7e93ac Author: Abhijeet Kolekar Date: Fri Feb 27 16:21:23 2009 -0800 iwl3945: add iwl3945_setup_mac Patch does following, 1) mac80211's shared data is now initialized in iwl3945_setup_mac. 2) Set the rfkill to right state after initialization Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c8f16138b5099bfd928942c3775aaecfd649e9e5 Author: Reinette Chatre Date: Fri Feb 27 16:21:22 2009 -0800 iwlwifi: fix *pci_probe error flow for iwlagn: - Have to free eeprom of version check fails - otherwise we end up with memory leak. - Include removal of workqueue (created in _setup_deferred_work) in error handling. for iwl3945: - Fix a few places to jump to correct error handling. - Reorganize error handling to match with code flow. - Include iwl_free_channel_map as part of error handling. - Include releasing eeprom as part of error handling. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6e21f15cac2c6c25b6a5874a98420e1b9064f0c1 Author: Abhijeet Kolekar Date: Fri Feb 27 16:21:21 2009 -0800 iwl3945: unify set key flow with iwlwifi unify the set key flow with iwlwifi. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7c4cbb6ee0a55885d697a5b07b6c4c8fd10d573a Author: Abhijeet Kolekar Date: Fri Feb 27 16:21:20 2009 -0800 iwl3945: synchronize timestamp with uCode In IBSS, TSF maintains local clock counters at each station. Network Synchronization follows a completely distributed scheme where beacon frames are generated. Each station maintain its own TSF timestamp, extracted from beacon timestamps they recieved. Following patch synchronize this beacon timestamp with uCode. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 39e6d2256b8b8265ef16297887b5521f3e0155c6 Author: Jay Sternberg Date: Fri Feb 27 16:21:19 2009 -0800 iwlwifi: update 5150 API version to support new firmware update API to support new numbering that is used for other newer devices. 5150 ucode has not been released yet, so the first released API will be v2. For those who do have a v1 API the driver does have backward compatibility support new value of REPLY_TX_POWER_DBM_CMD Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 24776cfd5559d3171054d3a7ea76d5febc54b03d Author: Johannes Berg Date: Fri Feb 27 16:33:55 2009 -0600 mac80211: Fix quality reporting for wireless stats Since "mac80211/cfg80211: move iwrange handler to cfg80211", the results for link quality from "iwlist scan" and "iwconfig" commands have been very different. The results are now consistent. Signed-off-by: Johannes Berg Reported- and tested-by: Larry Finger Signed-off-by: John W. Linville commit e79c1ba84c68de9161d541bd2bcc8ea65c89955c Author: Michael Buesch Date: Fri Feb 27 16:59:05 2009 +0100 ssb: Add SPROM fallback support This adds SSB functionality to register a fallback SPROM image from the architecture setup code. Weird architectures exist that have half-assed SSB devices without SPROM attached to their PCI busses. The architecture can register a fallback SPROM image that is used if no SPROM is found on the SSB device. Signed-off-by: Michael Buesch Cc: Florian Fainelli Signed-off-by: John W. Linville commit e31ae0508315ebf5d8b1b8a1fca8550737fb3996 Author: Sujith Date: Fri Feb 27 09:44:00 2009 +0530 mac80211: Notify the driver only when the beacon interval changes Currently, the driver is unconditionally notified of beacon interval. This is a problem in AP mode, because the driver has to know that the beacon interval has actualy changed to recalculate TBTT and reset the HW TSF. Fix this to make mac80211 notify the driver only when the beacon interval has been reconfigured to a new value. Signed-off-by: Sujith Signed-off-by: John W. Linville commit db5b4f7ae3901fdc48c5b988fc2a5e0cb4ec1870 Author: Jiri Slaby Date: Thu Feb 26 23:44:31 2009 +0100 ath5k: fix hw rate index condition Make sure we print out a warning when the index is out of bounds, i.e. even on hw_rix == AR5K_MAX_RATES. Also change to WARN and print text with the reported hw_rix. Signed-off-by: Jiri Slaby Cc: Nick Kossifidis Cc: Luis R. Rodriguez Cc: Bob Copeland Signed-off-by: John W. Linville commit 3f53dd64f192450cb331c0fecfc26ca952fb242f Author: Jouni Malinen Date: Thu Feb 26 11:18:46 2009 +0200 ath9k: Fix hw crypto configuration for TKIP in AP mode Incorrect Michael MIC key (RX, should have been TX) was set for the group key in AP mode. This resulted in all broadcast frames triggering Michael MIC errors and eventual TKIP countermeasures. The change here sets the correct Michael MIC key based on whether the local end is the authenticator (well, AP for now). Signed-off-by: Jouni Malinen Tested-by: Pat Erley Signed-off-by: John W. Linville commit 998a5a7d6aabe7e450759e0d82c8a79afd5a97ff Author: Frank Seidel Date: Wed Feb 25 15:39:57 2009 +0100 airo: reduce stack memory footprint Applying kernel janitors todos (reduce stack footprint where possible) to airo wireless driver. (Before 1124 bytes on i386, now 876) Signed-off-by: Frank Seidel Signed-off-by: John W. Linville commit b837e606d17a765f404175ae42a15ce17631e7d2 Author: Roel Kluin Date: Wed Feb 25 13:35:34 2009 +0100 wireless, wavelan: spin off by 1 spin can reach -1 after the loop, so 0 is still success. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit fa09632b0277aa43c6f37161f0a592a1a5b2167d Author: Vasanthakumar Thiagarajan Date: Wed Feb 25 10:28:23 2009 +0530 ath9k: Remove ununsed ack duration stuff with long/short preamble Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f40154e7f7be1c58e8041ed4fbe6cd3b8049f4b4 Author: Vasanthakumar Thiagarajan Date: Wed Feb 25 10:28:22 2009 +0530 ath9k: Configure Power control register appropriately for h/w with 4k eeprom Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5fe73197d359248cbf32dfd3280540d6a0dfd31c Author: Alina Friedrichsen Date: Wed Feb 25 00:49:18 2009 +0100 zd1211rw: Implement get_tsf() This patch implements get_tsf() of ieee80211_ops in the zd1211rw driver. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit b3bd89ce956c220fe52a003103f14af48f695fda Author: Jouni Malinen Date: Tue Feb 24 13:42:01 2009 +0200 ath9k: Add module parameter to disable hardware crypto nohwcrypt=1 module parameter can now be used to disable hardware crypto in ath9k. While the hardware acceleration handles most cases, it may be useful to be able to force mac80211 software implementation to be used for some tests, e.g., with virtual interface combinations that may not yet be supported in the key cache configuration. In addition, this allows management frame protection to be tested with older hardware revisions. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit a31fba5d68cebf8f5fefd03e079dab94875e25f5 Author: Joerg Roedel Date: Fri Jan 9 15:01:12 2009 +0100 dma-debug: add checks for sync_single_sg_* Impact: add debug callbacks for dma_sync_sg_* functions Signed-off-by: Joerg Roedel commit 948408ba3e2a67ed0f95e18ed5be1c622c2c5fc3 Author: Joerg Roedel Date: Fri Jan 9 14:55:38 2009 +0100 dma-debug: add checks for sync_single_range_* Impact: add debug callbacks for dma_sync_single_range_for_* functions Signed-off-by: Joerg Roedel commit b9d2317e0c4aed02afd20022083b2a485289605d Author: Joerg Roedel Date: Fri Jan 9 14:43:04 2009 +0100 dma-debug: add checks for sync_single_* Impact: add debug callbacks for dma_sync_single_for_* functions Signed-off-by: Joerg Roedel commit 6bfd4498764d6201399849d2e80fda95db7742c0 Author: Joerg Roedel Date: Fri Jan 9 14:38:50 2009 +0100 dma-debug: add checking for [alloc|free]_coherent Impact: add debug callbacks for dma_[alloc|free]_coherent Signed-off-by: Joerg Roedel commit 972aa45ceaf65376f33aa75958fcaefc9e752fa4 Author: Joerg Roedel Date: Fri Jan 9 14:19:54 2009 +0100 dma-debug: add add checking for map/unmap_sg Impact: add debug callbacks for dma_{un}map_sg Signed-off-by: Joerg Roedel commit f62bc980e6fd26434012c0d5676ecb17179d9ee4 Author: Joerg Roedel Date: Fri Jan 9 14:14:49 2009 +0100 dma-debug: add checking for map/unmap_page/single Impact: add debug callbacks for dma_{un}map_[page|single] Signed-off-by: Joerg Roedel commit 2d62ece14fe04168a7d16688ddd2d17ac472268c Author: Joerg Roedel Date: Fri Jan 9 14:10:26 2009 +0100 dma-debug: add core checking functions Impact: add functions to check on dma unmap and sync Signed-off-by: Joerg Roedel commit 788dcfa6f17424695823152890d30da09f62f9c3 Author: Joerg Roedel Date: Fri Jan 9 13:13:27 2009 +0100 dma-debug: add debugfs interface Impact: add debugfs interface for configuring DMA-API debugging Signed-off-by: Joerg Roedel commit 59d3daafa17265f01149df8eab3fb69b9b42cb2e Author: Joerg Roedel Date: Fri Jan 9 13:01:56 2009 +0100 dma-debug: add kernel command line parameters Impact: add dma_debug= and dma_debug_entries= kernel parameters Signed-off-by: Joerg Roedel commit 6bf078715c1998d4d10716251cc10ce45908594c Author: Joerg Roedel Date: Fri Jan 9 12:54:42 2009 +0100 dma-debug: add initialization code Impact: add code to initialize dma-debug core data structures Signed-off-by: Joerg Roedel commit 3b1e79ed734f58ac41ca0a287ff03ca355f120ad Author: Joerg Roedel Date: Fri Jan 9 12:42:46 2009 +0100 dma-debug: add allocator code Impact: add allocator code for struct dma_debug_entry Signed-off-by: Joerg Roedel commit 30dfa90cc8c4c9621d8d5aa9499f3a5df3376307 Author: Joerg Roedel Date: Fri Jan 9 12:34:49 2009 +0100 dma-debug: add hash functions for dma_debug_entries Impact: implement necessary functions for the core hash Signed-off-by: Joerg Roedel commit 2002c258faaa8f89543df284fdbaa9e4b171547f Author: Steven Rostedt Date: Thu Mar 5 10:35:56 2009 -0500 tracing: add tracing_on/tracing_off to kernel.h Impact: cleanup The functions tracing_start/tracing_stop have been moved to kernel.h. These are not the functions a developer most likely wants to use when they want to insert a place to stop tracing and restart it from user space. tracing_start/tracing_stop was created to work with things like suspend to ram, where even calling smp_processor_id() can crash the system. The tracing_start/tracing_stop was used to stop the tracer from doing anything. These are still light weight functions, but add a bit more overhead to be able to stop the tracers. They also have no interface back to userland. That is, if the kernel calls tracing_stop, userland can not start tracing. What a developer most likely wants to use is tracing_on/tracing_off. These are very light weight functions (simply sets or clears a bit). These functions just stop recording into the ring buffer. The tracers don't even know that this happens except that they would receive NULL from the ring_buffer_lock_reserve function. Also, there's a way for the user land to enable or disable this bit. In debugfs/tracing/tracing_on, a user may echo "0" (same as tracing_off()) or echo "1" (same as tracing_on()) into this file. This becomes handy when a kernel developer is debugging and wants tracing to turn off when it hits an anomaly. Then the developer can examine the trace, and restart tracing if they want to try again (echo 1 > tracing_on). This patch moves the prototypes for tracing_on/tracing_off to kernel.h and comments their use, so that a kernel developer will know how to use them. Signed-off-by: Steven Rostedt commit b2b352590d94651579e6914ecdb08d30b2cb5f19 Author: Ingo Molnar Date: Thu Mar 5 15:15:44 2009 +0100 x86: UV, SGI RTC: add generic system vector, build fix on UP Make ack_APIC_irq() build on !SMP && !APIC too. Cc: Dimitri Sivanich LKML-Reference: <20090304185605.GA24419@sgi.com> Signed-off-by: Ingo Molnar commit f2f45e5f3c921c73c913e9a9c00f21ec01c86b4d Author: Joerg Roedel Date: Fri Jan 9 12:19:52 2009 +0100 dma-debug: add header file and core data structures Impact: add groundwork for DMA-API debugging Signed-off-by: Joerg Roedel commit ed26dbe5ae045e5bf95c6dc27497397a3fde52e1 Author: Jeremy Fitzhardinge Date: Wed Mar 4 16:16:51 2009 -0800 x86: pre-initialize boot_cpu_data.x86_phys_bits to avoid system_state tests Impact: cleanup, micro-optimization Pre-initialize boot_cpu_data.x86_phys_bits to a reasonable default to remove the use of system_state tests in __virt_addr_valid() and __phys_addr(). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit dc16ecf7fd1fad7436832121435d4926a81d469e Author: Jeremy Fitzhardinge Date: Wed Mar 4 16:10:44 2009 -0800 x86-32: use specific __vmalloc_start_set flag in __virt_addr_valid Rather than relying on the ever-unreliable system_state, add a specific __vmalloc_start_set flag to indicate whether the vmalloc area has meaningful boundaries yet, and use that in x86-32's __phys_addr and __virt_addr_valid. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a964e33c5d7c0ea46376d20c2f02edf01c9db251 Author: Jeremy Fitzhardinge Date: Wed Mar 4 17:14:30 2009 -0800 x86: clean up old gcc warnings gcc 3.2.2 reports: In file included from /usr/src/all/linux-next/arch/x86/include/asm/page.h:8, from /usr/src/all/linux-next/arch/x86/include/asm/processor.h:18, from /usr/src/all/linux-next/arch/x86/include/asm/atomic_32.h:6, from /usr/src/all/linux-next/arch/x86/include/asm/atomic.h:2, from include/linux/crypto.h:20, from arch/x86/kernel/asm-offsets_32.c:7, from arch/x86/kernel/asm-offsets.c:2: /usr/src/all/linux-next/arch/x86/include/asm/page_types.h:54: warning: parameter has incomplete type /usr/src/all/linux-next/arch/x86/include/asm/page_types.h:56: warning: parameter has incomplete type In file included from /usr/src/all/linux-next/arch/x86/include/asm/page.h:8, from /usr/src/all/linux-next/arch/x86/include/asm/processor.h:18, from include/linux/prefetch.h:14, from include/linux/list.h:6, from include/linux/module.h:9, from init/main.c:13: /usr/src/all/linux-next/arch/x86/include/asm/page_types.h:54: warning: parameter has incomplete type /usr/src/all/linux-next/arch/x86/include/asm/page_types.h:56: warning: parameter has incomplete type This is a bogus warning, but moving the pat-related functions into asm/pat.h and including asm/pgtable_types.h should fix it. Signed-off-by: Jeremy Fitzhardinge Reported-by: Tetsuo Handa Signed-off-by: Ingo Molnar commit 62436fe9ee10f5e0dd087b106d69d93c9549935a Author: Ingo Molnar Date: Thu Mar 5 14:39:03 2009 +0100 x86: move init_memory_mapping() to common mm/init.c, build fix on 32-bit PAE Impact: build fix Cc: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-14-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 5ee00bd4691e7364bb7b62e2068d473cd5cb9320 Author: Joerg Roedel Date: Fri Jan 9 12:14:24 2009 +0100 dma-debug: add Kconfig entry Impact: add a Kconfig entry for DMA-API debugging Signed-off-by: Joerg Roedel commit f03d3115a6bcb814019d945c50c2ef91e5f14477 Author: Takashi Iwai Date: Thu Mar 5 14:18:16 2009 +0100 ALSA: Fix sample rate of Lenovo Ideapad to 44.1kHz Noises can be heard on analog outputs of (some model of) Lenovo Ideapad due to the hardware problem, and the only workaround right now is to fix the sample rate to 44.1kHz. Signed-off-by: Takashi Iwai commit 4fcb208391be5cf82c6fe2779c5eb9245ac97e91 Author: Pekka Enberg Date: Thu Mar 5 14:55:08 2009 +0200 x86: move function and variable declarations to asm/init.h Impact: cleanup Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-17-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit e53fb04fce6d246ebed755b904ed1b0b814a754c Author: Pekka Enberg Date: Thu Mar 5 14:55:07 2009 +0200 x86: unify kernel_physical_mapping_init() function signatures Impact: cleanup In preparation for moving the function declaration to a header file, unify 32-bit and 64-bit signatures. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-16-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 298af9d89f3f5292e81a0a00f729c415adc4d8fb Author: Pekka Enberg Date: Thu Mar 5 14:55:06 2009 +0200 x86: fix up some bad global variable names in mm/init.c Impact: cleanup The table_start, table_end, and table_top are too generic for global namespace so rename them to be more specific. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-15-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit f765090a2617b8d9cb73b71e0aa850c29460d8be Author: Pekka Enberg Date: Thu Mar 5 14:55:05 2009 +0200 x86: move init_memory_mapping() to common mm/init.c Impact: cleanup This patch moves the init_memory_mapping() function to common mm/init.c. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-14-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 0c0f756fd679d9747d52dad51fce3a5bb362eec3 Author: Pekka Enberg Date: Thu Mar 5 14:55:04 2009 +0200 x86: add stub init_gbpages() for 32-bit init_memory_mapping() Impact: cleanup This patch adds an empty static inline init_gbpages() for the 32-bit version of init_memory_mapping() making both versions identical. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-13-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit b47e3418c52b26f6143fc696326ae52a21324551 Author: Pekka Enberg Date: Thu Mar 5 14:55:03 2009 +0200 x86: ifdef 32-bit and 64-bit NR_RANGE_MR for save_mr() unification Impact: cleanup As a trivial preparation for moving common code to arc/x86/mm/init.c, ifdef the 32-bit and 64-bit versions of NR_RANGE_MR. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-12-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit c338d6f60fc29dfc74bd82b91526ef43ba992bab Author: Pekka Enberg Date: Thu Mar 5 14:55:02 2009 +0200 x86: ifdef 32-bit and 64-bit pfn setup in init_memory_mapping() Impact: cleanup To reduce the diff between the 32-bit and 64-bit versions of init_memory_mapping(), ifdef configuration specific pfn setup code in the function. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-11-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 01ced9ec14ad1b4f8a533c2f2b5a4fe4c92c1099 Author: Pekka Enberg Date: Thu Mar 5 14:55:01 2009 +0200 x86: ifdef 32-bit and 64-bit setup in init_memory_mapping() Impact: cleanup To reduce the diff between the 32-bit and 64-bit versions of init_memory_mapping(), ifdef configuration specific setup code in the function. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-10-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit d58e854e36ddf241ebc243e4122c5ab087bf38df Author: Pekka Enberg Date: Thu Mar 5 14:55:00 2009 +0200 x86: add table start and end sanity checks to 32-bit init_memory_mapping() Impact: cleanup This patch adds a sanity check to the 32-bit version of init_memory_mapping() to reduce the diff to the 64-bit version. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-9-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit cbba65796df99f3ca9bf70d14e5a19384c54b6a1 Author: Pekka Enberg Date: Thu Mar 5 14:54:59 2009 +0200 x86: unify kernel_physical_mapping_init() call in init_memory_mapping() Impact: cleanup The 64-bit version of init_memory_mapping() uses the last mapped address returned from kernel_physical_mapping_init() whereas the 32-bit version doesn't. This patch adds relevant ifdefs to both versions of the function to reduce the diff between them. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-8-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit c464573cb3d3bdd45eed8f5f59596f84ede95a0c Author: Pekka Enberg Date: Thu Mar 5 14:54:58 2009 +0200 x86: rename after_init_bootmem to after_bootmem in mm/init_32.c Impact: cleanup This patch renames after_init_bootmem to after_bootmem in mm/init_32.c to reduce the diff to the 64-bit version of of init_memory_mapping(). Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-7-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 96083ca11bc85265c7ef9e791a57e3514d8f605a Author: Pekka Enberg Date: Thu Mar 5 14:54:57 2009 +0200 x86: remove unnecessary save_mr() sanity check Impact: cleanup The save_mr() function already checks that start_pfn is less than end_pfn so we can remove the unnecessary check which reduces the diff between the 32-bit and the 64-bit versions of init_memory_mapping(). Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-6-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 54e63f3a4282a8bc5b39db29095f076ece2b1073 Author: Pekka Enberg Date: Thu Mar 5 14:54:56 2009 +0200 x86: ifdef 32-bit specific setup in init_memory_mapping() Impact: cleanup Enabling NX, PSE, and PGE are only required on 32-bit so ifdef them in both versions of the function. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-5-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit e7179853e7552ba6631e2cdd9f5c374383403b4b Author: Pekka Enberg Date: Thu Mar 5 14:54:55 2009 +0200 x86: move pgd_base out of init_memory_mapping() Impact: cleanup This patch moves pgd_base out of init_memory_mapping() to reduce the diff between the 32-bit version and the 64-bit version of the function. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-4-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 49a2bf7303b0dc5fccbb3ff7cf2e7751f0e3953d Author: Pekka Enberg Date: Thu Mar 5 14:54:54 2009 +0200 x86: find_early_table_space() unification Impact: cleanup There are some minor differences between the 32-bit and 64-bit find_early_table_space() functions. This patch wraps those differences under CONFIG_X86_32 to make the function identical on both configurations. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-3-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 4bbd4fa03832208f0e6e0b9e73a0ffa2620a626a Author: Pekka Enberg Date: Thu Mar 5 14:54:53 2009 +0200 x86: add gbpages support to 32-bit init_memory_mapping() Impact: cleanup To reduce the diff between the 32-bit and 64-bit versions of init_memory_mapping(), add gbpages support to the 32-bit version. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-2-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit c3f5d2d8b5fa6eb0cc1c47fd162bf6432f206f42 Author: Pekka Enberg Date: Thu Mar 5 14:54:52 2009 +0200 x86: init_memory_mapping() trivial cleanups Impact: cleanup To reduce the diff between the 32-bit and 64-bit versions of init_memory_mapping(), fix up all trivial issues. Signed-off-by: Pekka Enberg Cc: Yinghai Lu LKML-Reference: <1236257708-27269-1-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 8a0be9ef8225638d26b455788f988c8f84ce9e75 Author: Frederic Weisbecker Date: Thu Mar 5 01:27:02 2009 +0100 sched: don't rebalance if attached on NULL domain Impact: fix function graph trace hang / drop pointless softirq on UP While debugging a function graph trace hang on an old PII, I saw that it consumed most of its time on the timer interrupt. And the domain rebalancing softirq was the most concerned. The timer interrupt calls trigger_load_balance() which will decide if it is worth to schedule a rebalancing softirq. In case of builtin UP kernel, no problem arises because there is no domain question. In case of builtin SMP kernel running on an SMP box, still no problem, the softirq will be raised each time we reach the next_balance time. In case of builtin SMP kernel running on a UP box (most distros provide default SMP kernels, whatever the box you have), then the CPU is attached to the NULL sched domain. So a kind of unexpected behaviour happen: trigger_load_balance() -> raises the rebalancing softirq later on softirq: run_rebalance_domains() -> rebalance_domains() where the for_each_domain(cpu, sd) is not taken because of the NULL domain we are attached at. Which means rq->next_balance is never updated. So on the next timer tick, we will enter trigger_load_balance() which will always reschedule() the rebalacing softirq: if (time_after_eq(jiffies, rq->next_balance)) raise_softirq(SCHED_SOFTIRQ); So for each tick, we process this pointless softirq. This patch fixes it by checking if we are attached to the null domain before raising the softirq, another possible fix would be to set the maximal possible JIFFIES value to rq->next_balance if we are attached to the NULL domain. v2: build fix on UP Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <49af242d.1c07d00a.32d5.ffffc019@mx.google.com> Signed-off-by: Ingo Molnar commit 899e6cf5e6d83a91d2e257f7a4e8ca98db3831cc Author: Ben Dooks Date: Wed Mar 4 00:49:28 2009 +0000 S3C: Move to The file needs to be common to both ARCH_S3C2410 and ARCH_S3C64XX as they share common driver code, so move it to . Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 8150bc886be5ce3cc301a2baca1fcf2cf7bd7f39 Author: Ben Dooks Date: Wed Mar 4 00:49:26 2009 +0000 S3C24XX: Move and update IIS headers Move the IIS headers to their correct place. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 0bd5c4f7c874cf48ff7904dcf8a59988c8fea0e8 Merge: 7df4edb... ff2c8a4... Author: Ingo Molnar Date: Thu Mar 5 12:47:34 2009 +0100 Merge branch 'iommu/fixes-2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 7df4edb07cf54a4868b9a750424c0d2aa68f8d66 Merge: 0d688da... 559595a... Author: Ingo Molnar Date: Thu Mar 5 12:47:28 2009 +0100 Merge branch 'linus' into core/iommu commit 0012693ad4f636c720fed3802027f9427962f540 Author: Frederic Weisbecker Date: Thu Mar 5 01:49:22 2009 +0100 tracing/function-graph-tracer: use the more lightweight local clock Impact: decrease hangs risks with the graph tracer on slow systems Since the function graph tracer can spend too much time on timer interrupts, it's better now to use the more lightweight local clock. Anyway, the function graph traces are more reliable on a per cpu trace. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <49af243d.06e9300a.53ad.ffff840c@mx.google.com> Signed-off-by: Ingo Molnar commit ff2c8a4167eb143c5e2a03148fa996978938e8d7 Author: Hannes Eder Date: Thu Mar 5 12:12:44 2009 +0100 IOMMU-API: use ANSI style function declaration for 'iommu_found' Fix this sparse warning: drivers/base/iommu.c:34:18: warning: non-ANSI function declaration of function 'iommu_found' Signed-off-by: Hannes Eder Signed-off-by: Joerg Roedel commit 5f812de63ce515265ebd84e932c762136924ab84 Author: FUJITA Tomonori Date: Tue Jan 6 00:17:09 2009 +0900 AMD IOMMU: remove unnecessary ifdef We try to avoid this type of ifdef and we can safely remove this ifdef. Signed-off-by: FUJITA Tomonori Signed-off-by: Joerg Roedel commit 49d2d266adff27793fed247a2e9e672d59b6ddc6 Merge: 5512b3e... fec6c6f... Author: Ingo Molnar Date: Thu Mar 5 11:59:10 2009 +0100 Merge commit 'v2.6.29-rc7' into sched/core commit 03d78913f01e8f6599823f00357ed17b32747d3d Author: David Rientjes Date: Thu Mar 5 02:29:05 2009 -0800 lockdep: remove duplicate CONFIG_DEBUG_LOCKDEP definitions Impact: cleanup The atomic debug modifiers are already defined in kernel/lockdep_internals.h. Signed-off-by: David Rientjes Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit a140feab42d1cfd811930ab76104559c19dfc4b0 Merge: 1075414... fec6c6f... Author: Ingo Molnar Date: Thu Mar 5 11:45:22 2009 +0100 Merge commit 'v2.6.29-rc7' into core/locking commit 1400b3faab8fedfffde5a7fe47098e2732d4aa76 Author: Dimitri Sivanich Date: Wed Mar 4 16:02:46 2009 -0600 x86: UV, SGI RTC: fix uv_time.c for UP Fix non-smp build of uv_time.c. Signed-off-by: Dimitri Sivanich LKML-Reference: <20090304220246.GC6288@sgi.com> Signed-off-by: Ingo Molnar commit 508827ff0ac3981d420edac64a70de7f4e304d38 Merge: 2c3c3d0... 72e2240... Author: David S. Miller Date: Thu Mar 5 02:06:47 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/tokenring/tmspci.c drivers/net/ucc_geth_mii.c commit a1aade478862fca8710904532cbc6efed97fd05a Author: Yinghai Lu Date: Wed Mar 4 16:11:35 2009 -0800 x86/doc: mini-howto for using earlyprintk=dbgp [ mingo: small edits and extensions. ] Signed-off-by: Yinghai Lu Cc: "Eric W. Biederman" Cc: Greg KH Cc: Randy Dunlap Cc: Alan Stern Cc: Sarah Sharp Cc: Andrew Morton LKML-Reference: <49AF18B7.4050305@kernel.org> Signed-off-by: Ingo Molnar commit 526211bc58c4b3265352801c5a7f469af5c34711 Author: Ingo Molnar Date: Thu Mar 5 10:28:45 2009 +0100 tracing: move utility functions from ftrace.h to kernel.h Make common utility functions such as trace_printk() and tracing_start()/tracing_stop() generally available to kernel code. Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 5e1607a00bd082972629d3d68c95c8bcf902b55a Author: Ingo Molnar Date: Thu Mar 5 10:24:48 2009 +0100 tracing: rename ftrace_printk() => trace_printk() Impact: cleanup Use a more generic name - this also allows the prototype to move to kernel.h and be generally available to kernel developers who want to do some quick tracing. Signed-off-by: Ingo Molnar commit 53664738c122bfe8b0e489fddaf2ab265c9133c8 Merge: c4ef144... e9d25fe... Author: Ingo Molnar Date: Thu Mar 5 10:21:49 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit c4ef144a9d0803eb0a2d4110ae87e7f34e667ded Merge: a1be621... efed792... Author: Ingo Molnar Date: Thu Mar 5 10:20:47 2009 +0100 Merge branch 'tracing/ftrace' into tracing/core commit a4b1fddcd40f10820fbc123d4d02cd62eeef476c Author: Paul Mundt Date: Thu Mar 5 17:52:34 2009 +0900 sh: Set a sensible default for the SH7786 pclk. Signed-off-by: Paul Mundt commit 37db623ae2a7bde234a8ed683d0d13d6f939199c Author: Takashi Iwai Date: Thu Mar 5 09:40:16 2009 +0100 ALSA: hda - Fix check of ALC888S-VC in alc888_coef_init() Fixed the wrong bits check to identify ALC888S-VC model in alc888_coef_init(). Signed-off-by: Takashi Iwai commit c2503cd3be9eacb1dd06ec5b6fba8bb06aac12a8 Author: Takashi Iwai Date: Thu Mar 5 09:37:40 2009 +0100 ALSA: hdsp - Ignore MIDI and PCM events in interrupts until initialized Ignore MIDI and PCM events in the interrupt handler until the device gets initialized properly. Otherwise you may get kernel panic by the access to uninitialized devices via hotplugging. Signed-off-by: Takashi Iwai commit 929ef1a1f566087e4b362e3a56c50bf9db30e3c5 Author: Kuninori Morimoto Date: Thu Mar 5 17:37:12 2009 +0900 sh: urquell: Add smc91x support and update defconfig accordingly. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 36e8abf3edcd2d207193ec5741d1a2a645d470a5 Author: Dave Jones Date: Thu Mar 5 00:16:26 2009 -0500 [CPUFREQ] Prevent p4-clockmod from auto-binding to the ondemand governor. The latency of p4-clockmod sucks so hard that scaling on a regular basis with ondemand is a really bad idea. Signed-off-by: Matthew Garrett Signed-off-by: Dave Jones commit e9d25fe6eaa2c720bb3ea661b660e58d54fa38bf Author: Steven Rostedt Date: Wed Mar 4 22:15:30 2009 -0500 tracing: have latency tracers set the latency format The latency tracers (irqsoff, preemptoff, preemptirqsoff, and wakeup) are pretty useless with the default output format. This patch makes them automatically enable the latency format when they are selected. They also record the state of the latency option, and if it was not enabled when selected, they disable it on reset. Signed-off-by: Steven Rostedt commit 27d48be84477d2f0a2e2ac3738a3971dece631d5 Author: Steven Rostedt Date: Wed Mar 4 21:57:29 2009 -0500 tracing: consolidate print_lat_fmt and print_trace_fmt Impact: clean up Both print_lat_fmt and print_trace_fmt do pretty much the same thing except for one different function call. This patch consolidates the two functions and adds an if statement to perform the difference. Signed-off-by: Steven Rostedt commit 5fd73f862468280d4cbb5ba4321502f911f9f89a Author: Steven Rostedt Date: Wed Mar 4 21:42:04 2009 -0500 tracing: remove extra latency_trace method from trace structure Impact: clean up The trace and latency_trace function pointers are identical for every tracer but the function tracer. The differences in the function tracer are trivial (latency output puts paranthesis around parent). This patch removes the latency_trace pointer and all prints will now just use the trace output function pointer. Signed-off-by: Steven Rostedt commit 2c3c3d02f28801d7ad2da4952b2c7ca6621ef221 Author: Ben Hutchings Date: Wed Mar 4 10:01:57 2009 +0000 sfc: Improve NIC internal error recovery Make the error count a per-NIC variable. Reset this the count after an hour if it has not reached the critical value. Set the critical value back to 5. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4720bc6cfe70b606cf62a244c7a5391e59923e45 Author: Ben Hutchings Date: Wed Mar 4 10:01:15 2009 +0000 sfc: Fix search for flush completion events When flushing queues we disable normal interrupt and event handling and poll event queue 0 looking for flush completions. Unfortunately the flush event polling loop fails to move past any other type of event. This problem has not been observed in production hardware but appears to be a possibility. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 32d760073eacd41ecc815db1e958f0e1e0b82d57 Author: Ben Hutchings Date: Wed Mar 4 09:53:15 2009 +0000 sfc: Don't wake TX queues while they're being flushed Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8c870379d2db81a11ede65e9fd9774e4e6efe84a Author: Ben Hutchings Date: Wed Mar 4 09:53:02 2009 +0000 sfc: Clear I2C adapter structure in falcon_remove_nic() i2c_del_adapter() leaves dangling pointers in the structure. If we retry the NIC probe and pass the structure to i2c_add_adapter() again it will lead to an oops unless we clear it first. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 115122afc5e34499a0edfd2b057e9c352fa7c78f Author: Ben Hutchings Date: Wed Mar 4 09:52:52 2009 +0000 sfc: Clean up properly on reset failure paths If MAC switching fails, stop the port properly. If PHY reinitialisation fails, clear the port_initialized flag. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a7ef59332b33cb1924ea76cce2aa620a32bb0d7a Author: Ben Hutchings Date: Wed Mar 4 09:52:37 2009 +0000 sfc: Reject packets from the kernel TX queue during a loopback self-test Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ca83db369c1c633142c08dd0bfafca6ac4247c63 Author: Ben Hutchings Date: Wed Mar 4 09:51:12 2009 +0000 sfc: Fix efx_ethtool_nway_result() to use clause 45 MDIO registers Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c032ef64d680717e4e8ce3da65da6419a35f8a2c Author: Steven Rostedt Date: Wed Mar 4 20:34:24 2009 -0500 tracing: add latency output format option With the removal of the latency_trace file, we lost the ability to see some of the finer details in a trace. Like the state of interrupts enabled, the preempt count, need resched, and if we are in an interrupt handler, softirq handler or not. This patch simply creates an option to bring back the old format. This also removes the warning about an unused variable that held the latency_trace file operations. Signed-off-by: Steven Rostedt commit e74da5235cec6cb71eb338c987f876ecc793138b Author: Steven Rostedt Date: Wed Mar 4 20:31:11 2009 -0500 tracing: fix seq read from trace files The buffer used by trace_seq was updated incorrectly. Instead of consuming what was actually read, it consumed the rest of the buffer on reads. Signed-off-by: Steven Rostedt commit 7d39db14a42cbd719c7515b9da8f85a2eb6a0633 Author: Theodore Ts'o Date: Wed Mar 4 19:31:53 2009 -0500 ext4: Use struct flex_groups to calculate get_orlov_stats() Instead of looping over all of the block groups in a flex group summing their summary statistics, start tracking used_dirs in struct flex_groups, and use struct flex_groups instead. This should save a bit of CPU for mkdir-heavy workloads. Signed-off-by: "Theodore Ts'o" commit 2dc5d12b1f43134e9bc5037f69f4739cfdfab93e Author: Steven Rostedt Date: Wed Mar 4 19:10:05 2009 -0500 tracing: do not return EFAULT if read copied anything Impact: fix trace read to conform to standards Andrew Morton, Theodore Tso and H. Peter Anvin brought to my attention that a userspace read should not return -EFAULT if it succeeded in copying anything. It should only return -EFAULT if it failed to copy at all. This patch modifies the check of copy_from_user and updates the return code appropriately. I also used H. Peter Anvin's short cut rule to just test ret == count. Signed-off-by: Steven Rostedt commit 9f24e4208f7ee2748f157368b63287dc903fcf60 Author: Theodore Ts'o Date: Wed Mar 4 19:09:10 2009 -0500 ext4: Use atomic_t's in struct flex_groups Reduce pressure on the sb_bgl_lock family of locks by using atomic_t's to track the number of free blocks and inodes in each flex_group. Signed-off-by: "Theodore Ts'o" commit b713a5ec55bf73c833f9883cdd761b20ee61a1ab Author: Theodore Ts'o Date: Tue Mar 31 09:11:14 2009 -0400 ext4: remove /proc tuning knobs Remove tuning knobs in /proc/fs/ext4//*. Signed-off-by: "Theodore Ts'o" commit 3197ebdb130473a92760100cbfe0d7e671838f48 Author: Theodore Ts'o Date: Tue Mar 31 09:10:09 2009 -0400 ext4: Add sysfs support Add basic sysfs support so that information about the mounted filesystem and various tuning parameters can be accessed via /sys/fs/ext4//*. Signed-off-by: "Theodore Ts'o" commit 4f3640f8a358f2183a8c966f299eeb55ca523e06 Author: Steven Rostedt Date: Tue Mar 3 23:52:42 2009 -0500 ring-buffer: fix timestamp in partial ring_buffer_page_read If a partial ring_buffer_page_read happens, then some of the incremental timestamps may be lost. This patch writes the recent timestamp into the page that is passed back to the caller. A partial ring_buffer_page_read is where the full page would not be written back to the user, and instead, just part of the page is copied to the user. A full page would be a page swap with the ring buffer and the timestamps would be correct. Signed-off-by: Steven Rostedt commit e543ad76914abec1acf6631604a4154cd7a2ca6b Author: Steven Rostedt Date: Wed Mar 4 18:20:36 2009 -0500 tracing: add cpu_file intialization for ftrace_dump Impact: fix to ftrace_dump output corruption The commit: b04cc6b1f6398b0e0b60d37e27ce51b4899672ec tracing/core: introduce per cpu tracing files added a new field to the iterator called cpu_file. This was a handle to differentiate between the per cpu trace output files and the all cpu "trace" file. The all cpu "trace" file required setting this to TRACE_PIPE_ALL_CPU. The problem is that the ftrace_dump sets up its own iterator but was not updated to handle this change. The result was only CPU 0 printing out on crash and a lot of "<0>"'s also being printed. Reported-by: Thomas Gleixner Tested-by: Darren Hart Signed-off-by: Steven Rostedt commit 6432f366842c78d17b2df974c68f39cb5794f2c2 Author: Roland Dreier Date: Wed Mar 4 15:22:39 2009 -0800 IB: Remove useless ibdev_is_alive() tests from sysfs code Some attribute show functions test ibdev_is_alive() to make sure that it's OK to access device state. However, the sysfs attributes will not be registered until the device is fully initialized, and they'll be unregistered before anything is torn down, so ibdev_is_alive() doesn't do anything useful. Remove it. Signed-off-by: Roland Dreier commit 6335d05548eece40092000aa91b64a50310d69d5 Author: Eric Miao Date: Tue Mar 3 09:41:00 2009 +0800 ASoC: make ops a pointer in 'struct snd_soc_dai' Considering the fact that most cpu_dai or codec_dai are using a same 'snd_soc_dai_ops' for several similar interfaces, 'ops' would be better made a pointer instead, to make sharing easier and code a bit cleaner. The patch below is rather preliminary since the asoc tree is being actively developed, and this touches almost every piece of code, (and possibly many others in development need to be changed as well). Building of all codecs are OK, yet to every SoC, I didn't test that. Signed-off-by: Eric Miao Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 195f4a170eaeb8ef37c73e02adef2579168e9287 Author: Alexander Clouter Date: Wed Mar 4 21:30:51 2009 +0000 [ARM] orion5x: added a new FPGA ID set for the TS-78xx Stefan Agner found his board comes with 0x00b480/0x02 but the main board also has Rev B printed on it like my 0x00b480/0x03. Some light enum renaming was needed but it was to be expected. Signed-off-by: Alexander Clouter Signed-off-by: Nicolas Pitre commit 113a0e4590881ce579ca992a80ddc562b3372ede Author: etienne Date: Wed Mar 4 07:33:51 2009 +0100 smack: fixes for unlabeled host support The following patch (against 2.6.29rc5) fixes a few issues in the smack/netlabel "unlabeled host support" functionnality that was added in 2.6.29rc. It should go in before -final. 1) smack_host_label disregard a "0.0.0.0/0 @" rule (or other label), preventing 'tagged' tasks to access Internet (many systems drop packets with IP options) 2) netmasks were not handled correctly, they were stored in a way _not equivalent_ to conversion to be32 (it was equivalent for /0, /8, /16, /24, /32 masks but not other masks) 3) smack_netlbladdr prefixes (IP/mask) were not consistent (mask&IP was not done), so there could have been different list entries for the same IP prefix; if those entries had different labels, well ... 4) they were not sorted 1) 2) 3) are bugs, 4) is a more cosmetic issue. The patch : -creates a new helper smk_netlbladdr_insert to insert a smk_netlbladdr, -sorted by netmask length -use the new sorted nature of smack_netlbladdrs list to simplify smack_host_label : the first match _will_ be the more specific -corrects endianness issues in smk_write_netlbladdr & netlbladdr_seq_show Signed-off-by: Acked-by: Casey Schaufler Reviewed-by: Paul Moore Signed-off-by: James Morris commit fc5efe3941c47c0278fe1bbcf8cc02a03a74fcda Author: Yinghai Lu Date: Wed Mar 4 12:21:24 2009 -0800 x86: fix bootmem cross node for 32bit numa, cleanup Impact: clean up Simplify the code, reuse some lines. Remove min_low_pfn reference, it is always 0 Signed-off-by: Yinghai Lu Cc: Andrew Morton LKML-Reference: <49AEE2C4.2030602@kernel.org> Signed-off-by: Ingo Molnar commit 7ec30f0e7768985ab2ef6334840e3fc8fa253421 Author: Herton Ronaldo Krzesinski Date: Wed Mar 4 14:22:52 2009 -0300 ALSA: hda - Map 3stack-hp model (ALC888) for HP Educ.ar Added model=3stack-hp for HP Educ.ar desktop machine (103c:2a72). Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 8718b700ccbcc3c6016d38a75e005293c3660f1c Author: Herton Ronaldo Krzesinski Date: Wed Mar 4 14:22:51 2009 -0300 ALSA: hda - Add headphone automute support for 3stack-hp model (ALC888) Mute speaker outputs on headphone insertion for machines that use 3stack-hp model. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 3ea0d7cf472c6118bb8c0842d606f5436251e179 Author: Herton Ronaldo Krzesinski Date: Wed Mar 4 14:22:50 2009 -0300 ALSA: hda - Add 4 channel mode for 3stack-hp model (ALC888) Add additional 4 channel mode for 3stack-hp models. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 731ddea63600c24ff01e6e5144cea88bf7266ac5 Author: Pekka Enberg Date: Wed Mar 4 11:13:40 2009 +0200 x86: move free_initrd_mem() to common mm/init.c Impact: cleanup The function is identical on 32-bit and 64-bit configurations so move it to the common mm/init.c file. Signed-off-by: Pekka Enberg LKML-Reference: <1236158020.29024.28.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit f62432395ec54e93f113091bcb2e2017eeed7683 Author: Yinghai Lu Date: Wed Mar 4 01:25:54 2009 -0800 x86: reserve exact size of mptable Impact: save a bit of RAM Get the exact size for the reserve_bootmem() call. Signed-off-by: Yinghai Lu Cc: Andrew Morton LKML-Reference: <49AE4922.605@kernel.org> Signed-off-by: Ingo Molnar commit 8d4dd919b46ed982da6ef6bf6fcec454cd7a5b1b Author: Yinghai Lu Date: Wed Mar 4 01:25:21 2009 -0800 x86: ioremap mptable Impact: fix boot with mptable above max_low_mapped Try to use early_ioremap() to map MPC to make sure it works even it is at the end of ram. Signed-off-by: Yinghai Lu Cc: Andrew Morton LKML-Reference: <49AE4901.3090801@kernel.org> Signed-off-by: Ingo Molnar Reported-and-tested-by: Kevin O'Connor commit b68adb16f29c8ea02f21f5ebf65bcabffe217e9f Author: Yinghai Lu Date: Wed Mar 4 01:24:04 2009 -0800 x86: make 32-bit init_memory_mapping range change more like 64-bit Impact: cleanup make code more readable and more like 64-bit Signed-off-by: Yinghai Lu Cc: Andrew Morton LKML-Reference: <49AE48B4.8010907@kernel.org> Signed-off-by: Ingo Molnar commit a71edd1f46c8a599509bda478fb4eea27fb0da63 Author: Yinghai Lu Date: Wed Mar 4 01:22:35 2009 -0800 x86: fix bootmem cross node for 32bit numa Impact: fix panic on system 2g x4 sockets Found one system with 4 sockets and every sockets has 2g can not boot with numa32 because boot mem is crossing nodes. So try to have numa version of setup_bootmem_allocator(). Signed-off-by: Yinghai Lu Cc: Andrew Morton LKML-Reference: <49AE485B.8000902@kernel.org> Signed-off-by: Ingo Molnar commit 5ab5ab34498f94d60884c4ccea890601e429042e Author: Dimitri Sivanich Date: Wed Mar 4 12:59:18 2009 -0600 x86: UV, SGI RTC: add UV RTC clocksource/clockevents This patch provides a high resolution clock/timer source using the SGI UV system-wide synchronized RTC clock/timer hardware. Signed-off-by: Dimitri Sivanich Cc: Andrew Morton Cc: john stultz LKML-Reference: <20090304185918.GC24419@sgi.com> Signed-off-by: Ingo Molnar commit 8661984f628c6f7d9cbaac6697f26d6b0be3ad3b Author: Dimitri Sivanich Date: Wed Mar 4 12:57:19 2009 -0600 x86: UV, SGI RTC: loop through installed UV blades Add macro to loop through each possible blade. Signed-off-by: Dimitri Sivanich Cc: Andrew Morton Cc: john stultz LKML-Reference: <20090304185719.GB24419@sgi.com> Signed-off-by: Ingo Molnar commit acaabe795a62bba089c185917af86b44654313dc Author: Dimitri Sivanich Date: Wed Mar 4 12:56:05 2009 -0600 x86: UV, SGI RTC: add generic system vector This patch allocates a system interrupt vector for various platform specific uses. Signed-off-by: Dimitri Sivanich Cc: Andrew Morton Cc: john stultz LKML-Reference: <20090304185605.GA24419@sgi.com> Signed-off-by: Ingo Molnar commit 6d2e91bf80e4410207f01edb0962aec9213f3533 Merge: 6298e71... dd39ecf... Author: Ingo Molnar Date: Wed Mar 4 20:20:10 2009 +0100 Merge branch 'x86/urgent' into x86/mm Conflicts: arch/x86/include/asm/fixmap_64.h Semantic merge: arch/x86/include/asm/fixmap.h Signed-off-by: Ingo Molnar commit 6298e719cf388f43b674f43799af467d3e4e5aa7 Author: Pekka Enberg Date: Wed Mar 4 10:16:07 2009 +0200 x86: set_highmem_pages_init() cleanup, #2 Impact: cleanup The zones are set up at this stage so there's a highmem zone available even for the UMA case. The only difference there is that for machines that have CONFIG_HIGHMEM enabled but don't have any highmem available, ->zone_start_pfn is zero whereas highstart_pfn is non-zero). The field is left zeroed because of the !size test in free_area_init_core() but shouldn't be a problem because add_highpages_with_active_regions() handles empty ranges just fine. Signed-off-by: Pekka Enberg Cc: Mel Gorman LKML-Reference: <1236154567.29024.23.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit efed792d6738964f399a508ef9e831cd60fa4657 Author: Peter Zijlstra Date: Wed Mar 4 12:32:55 2009 +0100 tracing: add lockdep tracepoints for lock acquire/release Augment the traces with lock names when lockdep is available: 1) | down_read_trylock() { 1) | _spin_lock_irqsave() { 1) | /* lock_acquire: &sem->wait_lock */ 1) 4.201 us | } 1) | _spin_unlock_irqrestore() { 1) | /* lock_release: &sem->wait_lock */ 1) 3.523 us | } 1) | /* lock_acquire: try read &mm->mmap_sem */ 1) + 13.386 us | } 1) 1.635 us | find_vma(); 1) | handle_mm_fault() { 1) | __do_fault() { 1) | filemap_fault() { 1) | find_lock_page() { 1) | find_get_page() { 1) | /* lock_acquire: read rcu_read_lock */ 1) | /* lock_release: rcu_read_lock */ 1) 5.697 us | } 1) 8.158 us | } 1) + 11.079 us | } 1) | _spin_lock() { 1) | /* lock_acquire: __pte_lockptr(page) */ 1) 3.949 us | } 1) 1.460 us | page_add_file_rmap(); 1) | _spin_unlock() { 1) | /* lock_release: __pte_lockptr(page) */ 1) 3.115 us | } 1) | unlock_page() { 1) 1.421 us | page_waitqueue(); 1) 1.220 us | __wake_up_bit(); 1) 6.519 us | } 1) + 34.328 us | } 1) + 37.452 us | } 1) | up_read() { 1) | /* lock_release: &mm->mmap_sem */ 1) | _spin_lock_irqsave() { 1) | /* lock_acquire: &sem->wait_lock */ 1) 3.865 us | } 1) | _spin_unlock_irqrestore() { 1) | /* lock_release: &sem->wait_lock */ 1) 8.562 us | } 1) + 17.370 us | } Signed-off-by: Peter Zijlstra Cc: Steven Rostedt Cc: =?ISO-8859-1?Q?T=F6r=F6k?= Edwin Cc: Jason Baron Cc: Frederic Weisbecker LKML-Reference: <1236166375.5330.7209.camel@laptop> Signed-off-by: Ingo Molnar commit 28b1bd1cbc33cae95a309691d814399a69cf3070 Merge: 2602c3b... 1075414... Author: Ingo Molnar Date: Wed Mar 4 18:49:19 2009 +0100 Merge branch 'core/locking' into tracing/ftrace commit 1075414b06109a99b0e87601e84c74a95bd45681 Author: Peter Zijlstra Date: Wed Mar 4 12:27:27 2009 +0100 lockdep: require framepointers for x86 Require framepointers for x86, because otherwise we'll be having empty stack traces, which is useless. Signed-off-by: Peter Zijlstra LKML-Reference: <1236167295.5330.7240.camel@laptop> Signed-off-by: Ingo Molnar commit 26575e28df5eb2050c02369843faba38cecb4d8c Author: Peter Zijlstra Date: Wed Mar 4 14:53:24 2009 +0100 lockdep: remove extra "irq" string Impact: clarify lockdep printk text print_irq_inversion_bug() gets handed state strings of the form "HARDIRQ", "SOFTIRQ", "RECLAIM_FS" and appends "-irq-{un,}safe" to them, which is either redudant for *IRQ or confusing in the RECLAIM_FS case. Signed-off-by: Peter Zijlstra LKML-Reference: <1236175192.5330.7585.camel@laptop> Signed-off-by: Ingo Molnar commit 1c21f14ec48a2256fb03682b24dddd23eacdc96f Author: Peter Zijlstra Date: Wed Mar 4 13:51:13 2009 +0100 lockdep: fix incorrect state name In the recent mark_lock_irq() rework a bug snuck in that would report the state of write locks causing irq inversion under a read lock as a read lock. Fix this by masking the read bit of the state when validating write dependencies. Reported-by: Andrew Morton Signed-off-by: Peter Zijlstra LKML-Reference: <1236172646.5330.7450.camel@laptop> Signed-off-by: Ingo Molnar commit 86027ae78c9294bb450b76eec28cfb431a8fb3ee Author: Jonas Andersson Date: Wed Mar 4 08:24:26 2009 +0100 ASoC: wm8510 pll settings When setting WM8510_MCLKDIV the pll was turned off. When setting pll frequency you got twice the expected freq, because the code calculated with postscaler of 8, but the hardware divide by 4. Signed-off-by: Jonas Andersson Signed-off-by: Mark Brown commit ec67624d33d5639bcc6ee6918cb1fc0bd1bac3a8 Author: Lopez Cruz, Misael Date: Tue Mar 3 15:25:04 2009 -0600 ASoC: Add GPIO support for jack reporting interface Add GPIO support to jack reporting framework in ASoC using gpiolib calls. The gpio support exports two new functions: snd_soc_jack_add_gpios and snd_soc_jack_free_gpios. Client drivers using gpio feature must pass an array of jack_gpio pins belonging to a specific jack to the snd_soc_jack_add_gpios function. The framework will request the gpios, set the data direction and request irq. The framework will update power status of related jack_pins when an event on the gpio pins comes according to the reporting bits defined for each gpio. All gpio resources allocated when adding jack_gpio pins can be released using snd_soc_jack_free_gpios function. Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit b79631330a653f568a2ac4eb4a32474c80e3fe77 Author: Christoph Hellwig Date: Tue Mar 3 14:48:37 2009 -0500 xfs: only issues a cache flush on unmount if barriers are enabled Currently we unconditionally issue a flush from xfs_free_buftarg, but since 2.6.29-rc1 this gives a warning in the style of end_request: I/O error, dev vdb, sector 0 Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit ed93ec3907f063268ced18728d0653f6199d100c Author: Christoph Hellwig Date: Tue Mar 3 14:48:35 2009 -0500 xfs: prevent lockdep false positive in xfs_iget_cache_miss The inode can't be locked by anyone else as we just created it a few lines above and it's not been added to any lookup data structure yet. So use a trylock that must succeed to get around the lockdep warnings. Signed-off-by: Christoph Hellwig Reported-by: Alexander Beregalov Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit e8fa6b483feebd23ded5eb01afd7a6e82b6078c6 Author: Christoph Hellwig Date: Tue Mar 3 14:48:36 2009 -0500 xfs: prevent kernel crash due to corrupted inode log format Andras Korn reported an oops on log replay causes by a corrupted xfs_inode_log_format_t passing a 0 size to kmem_zalloc. This patch handles to small or too large numbers of log regions gracefully by rejecting the log replay with a useful error message. Signed-off-by: Christoph Hellwig Reported-by: Andras Korn Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit 73af76dfd1f998dba71d8e8e785cbe77a990bf17 Author: Ingo Molnar Date: Wed Mar 4 11:47:17 2009 +0100 x86, mce: fix build failure in arch/x86/kernel/cpu/mcheck/threshold.c Impact: build fix The APIC code rewrite in the x86 tree broke the x86/mce branch: arch/x86/kernel/cpu/mcheck/threshold.c: In function ‘mce_threshold_interrupt’: arch/x86/kernel/cpu/mcheck/threshold.c:24: error: implicit declaration of function ‘ack_APIC_irq’ Also tidy up the file a bit while at it. Signed-off-by: Ingo Molnar commit 540aca06b737cc38965b52eeceefba3d24376461 Author: Pekka Enberg Date: Wed Mar 4 11:46:40 2009 +0200 x86: move devmem_is_allowed() to common mm/init.c Impact: cleanup The function is identical on 32-bit and 64-bit configurations so move it to the common mm/init.c file. Signed-off-by: Pekka Enberg LKML-Reference: <1236160001.29024.29.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit bd6afe3f34d41ed81e0c62a5a2181bb7bd51aebf Author: Takashi Iwai Date: Wed Mar 4 11:30:25 2009 +0100 ALSA: hda - Fix conflict of mixer controls on Sony VAIO VGN-AR71S The recent update enabled the model=sony-assamd for all ALC262 with PCI SSID 104d:90xx. But this includes the VAIO VGN-AR* that has the primary codec of STAC92xx and the secondary ALC262 as a slave digital-only codec. For this device, the model=auto must be chosen to work properly. Signed-off-by: Takashi Iwai commit 2602c3ba4508f528db024c1d209256513ea05de6 Merge: a1be621... 2cadf91... Author: Ingo Molnar Date: Wed Mar 4 11:15:42 2009 +0100 Merge branch 'rfc/splice/tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit a1be621dfacbef0fd374d8acd553d71e07bf29ac Merge: 3612fdf... fec6c6f... Author: Ingo Molnar Date: Wed Mar 4 11:14:47 2009 +0100 Merge branch 'tracing/ftrace'; commit 'v2.6.29-rc7' into tracing/core commit 79d7d5333b598e9a559bf27833f0ad2b8bf6ad2c Author: Takashi Iwai Date: Wed Mar 4 09:03:50 2009 +0100 ALSA: hda - Fix HP dv6736 mic input Fix the mic input of HP dv6736 with Conexant 5051 codec chip. This laptop seems have no mic-switching per jack connection. A new model hp-dv6736 is introduced to match with the h/w implementation. Reference: Novell bnc#480753 https://bugzilla.novell.com/show_bug.cgi?id=480753 Signed-off-by: Takashi Iwai commit 0c5c2d3089068d4aa378f7a40d2b5ad9d4f52ce8 Author: Eric Biederman Date: Wed Mar 4 00:03:08 2009 -0800 neigh: Allow for user space users of the neighbour table Currently it is possible to do just about everything with the arp table from user space except treat an entry like you are using it. To that end implement and a flag NTF_USE that when set in a netwlink update request treats the neighbour table entry like the kernel does on the output path. This allows user space applications to share the kernel's arp cache. Signed-off-by: Eric Biederman Signed-off-by: David S. Miller commit fc1f9ea51de726b3b8003539788d918814c9deff Author: Ron Mercer Date: Tue Mar 3 12:10:37 2009 +0000 qlge: Add support for lost firmware events. When the firmware is issuing events to the driver the events must be removed from the queue. If the queue overflows, the firmware will build and special event that captures those that are lost. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit bb6676705e41efdf4ba788340a885b19fd5a0215 Author: Ron Mercer Date: Tue Mar 3 12:10:36 2009 +0000 qlge: Save status from firmware crash (system err). Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 7c92191cb4203d3900461074f90851e9e7b56fcb Author: Ron Mercer Date: Tue Mar 3 12:10:35 2009 +0000 qlge: Improve handling for firmware init failure. This event will arrive at boot time or after an MPI processor reset if the firmware failed to initialize. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit f56b54f5423177d26da0aee1f8e7d5da6225ce6d Author: Ron Mercer Date: Tue Mar 3 12:10:34 2009 +0000 qlge: Clean up event handler for firmware init. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 2ee1e272d1661d7846da753248a4141ad5f16d69 Author: Ron Mercer Date: Tue Mar 3 12:10:33 2009 +0000 qlge: Add worker-handler for firmware events. This worker and it's supporting routines are used for IDC 'inter-device-communication' events that require an ACK mailbox command be sent to allow completion of the request. These requests are originated by another function wanting to change some common port paramters. Typical example would be: 1) Change max TX/RX frame size allowed. 2) Change pause parameters. 3) Change loopback mode. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 5700abe94794cd548d9cb8bfb7e00eb7a8bedb60 Author: Ron Mercer Date: Tue Mar 3 12:10:32 2009 +0000 qlge: Clean up link up processing. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 11d9fe68acd8213b50f3a8b5b6a4b66f623a82c3 Author: Ron Mercer Date: Tue Mar 3 12:10:31 2009 +0000 qlge: Clean up link down processing. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit eae6b58fb229bd17fea38d596020b80547e51381 Author: Ron Mercer Date: Tue Mar 3 12:10:30 2009 +0000 qlge: Add firmware support for insert/remove SFP. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 0c01aed50d4844f54f59e875e05d211e80874464 Author: Geert Uytterhoeven Date: Wed Mar 4 15:42:15 2009 +0800 crypto: testmgr - add zlib test Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit 38d408152a86598a50680a82fe3353b506630409 Author: Eric Biederman Date: Tue Mar 3 23:36:04 2009 -0800 veth: Allow setting the L3 MTU The limitation to only 1500 byte mtu's limits the utility of the veth device for testing routing. So implement implement a configurable MTU. For consistency I drop packets on the receive side when they are larger than the MTU. I count those drops. And I allow a little padding for vlan headers. I also test the mtu when a new device is created with netlink because that path currently bypasses the current mtu setting code. Signed-off-by: Eric Biederman Signed-off-by: David S. Miller commit bf68e65ec9ea61e32ab71bef59aa5d24d255241f Author: Geert Uytterhoeven Date: Wed Mar 4 15:15:49 2009 +0800 crypto: zlib - New zlib crypto module, using pcomp Signed-off-by: Geert Uytterhoeven Cc: James Morris Signed-off-by: Herbert Xu commit 8064efb8740b8a0141d99a181cb5b9a430b1836c Author: Geert Uytterhoeven Date: Wed Mar 4 15:08:03 2009 +0800 crypto: testmgr - Add support for the pcomp interface Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit a1d2f09544065b60598b8167d94a6371bff3e892 Author: Geert Uytterhoeven Date: Wed Mar 4 15:05:33 2009 +0800 crypto: compress - Add pcomp interface The current "comp" crypto interface supports one-shot (de)compression only, i.e. the whole data buffer to be (de)compressed must be passed at once, and the whole (de)compressed data buffer will be received at once. In several use-cases (e.g. compressed file systems that store files in big compressed blocks), this workflow is not suitable. Furthermore, the "comp" type doesn't provide for the configuration of (de)compression parameters, and always allocates workspace memory for both compression and decompression, which may waste memory. To solve this, add a "pcomp" partial (de)compression interface that provides the following operations: - crypto_compress_{init,update,final}() for compression, - crypto_decompress_{init,update,final}() for decompression, - crypto_{,de}compress_setup(), to configure (de)compression parameters (incl. allocating workspace memory). The (de)compression methods take a struct comp_request, which was mimicked after the z_stream object in zlib, and contains buffer pointer and length pairs for input and output. The setup methods take an opaque parameter pointer and length pair. Parameters are supposed to be encoded using netlink attributes, whose meanings depend on the actual (name of the) (de)compression algorithm. Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit e9cc8bddaea3944fabfebb968bc88d603239beed Author: Geert Uytterhoeven Date: Wed Mar 4 14:53:30 2009 +0800 netlink: Move netlink attribute parsing support to lib Netlink attribute parsing may be used even if CONFIG_NET is not set. Move it from net/netlink to lib and control its inclusion based on the new config symbol CONFIG_NLATTR, which is selected by CONFIG_NET. Signed-off-by: Geert Uytterhoeven Acked-by: David S. Miller Signed-off-by: Herbert Xu commit 8c882f64130071eaebdc0861bee34a73e436f004 Author: Adrian-Ken Rueegsegger Date: Wed Mar 4 14:43:52 2009 +0800 crypto: Fix dead links Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit abb79972b4d1dff00f79cb0d123173abac48a6ae Author: Randy Dunlap Date: Tue Mar 3 21:39:40 2009 -0800 rds: fix iband RDMA dependencies Fix RDS Infiniband dependencies for RDMA so that these build errors won't happen: ERROR: "rdma_accept" [net/rds/rds.ko] undefined! ERROR: "rdma_destroy_id" [net/rds/rds.ko] undefined! ERROR: "rdma_connect" [net/rds/rds.ko] undefined! ERROR: "rdma_destroy_qp" [net/rds/rds.ko] undefined! ERROR: "rdma_listen" [net/rds/rds.ko] undefined! ERROR: "rdma_notify" [net/rds/rds.ko] undefined! ERROR: "rdma_create_id" [net/rds/rds.ko] undefined! ERROR: "rdma_create_qp" [net/rds/rds.ko] undefined! ERROR: "rdma_bind_addr" [net/rds/rds.ko] undefined! ERROR: "rdma_resolve_route" [net/rds/rds.ko] undefined! ERROR: "rdma_disconnect" [net/rds/rds.ko] undefined! ERROR: "rdma_reject" [net/rds/rds.ko] undefined! ERROR: "rdma_resolve_addr" [net/rds/rds.ko] undefined! Signed-off-by: Randy Dunlap Acked-by: Andy Grover Signed-off-by: David S. Miller commit 2e22ea7cea0f7de86fd30df867fbf5b7e8eee0fd Merge: 638bee7... 645af4e... Author: H. Peter Anvin Date: Tue Mar 3 21:05:42 2009 -0800 Merge branch 'x86/core' into x86/mce2 commit 693599438909de47fbfa4246bf67d6c535f719b5 Author: Riku Voipio Date: Tue Mar 3 21:13:50 2009 +0200 [ARM] mv78xx0: wire i2c support All the pieces were ready, just matter of assembling them together. Signed-off-by: Riku Voipio Signed-off-by: Nicolas Pitre commit 2cadf9135eb3b6d84b6427314be827ddd443c308 Author: Steven Rostedt Date: Mon Dec 1 22:20:19 2008 -0500 tracing: add binary buffer files for use with splice Impact: new feature This patch creates a directory of files that correspond to the per CPU ring buffers. These are binary files and are made to be used with splice. This is the fastest way to extract data from the ftrace ring buffers. Thanks to Jiaying Zhang for pushing me to get this code fixed, and to Eduard - Gabriel Munteanu for his splice code that helped me debug my code. Signed-off-by: Steven Rostedt commit 474d32b68d6d842f3e710e9ae9fe2568c53339f8 Author: Steven Rostedt Date: Tue Mar 3 19:51:40 2009 -0500 ring-buffer: make ring_buffer_read_page read from start on partial page Impact: dont leave holes in read buffer page The ring_buffer_read_page swaps a given page with the reader page of the ring buffer, if certain conditions are set: 1) requested length is big enough to hold entire page data 2) a writer is not currently on the page 3) the page is not partially consumed. Instead of swapping with the supplied page. It copies the data to the supplied page instead. But currently the data is copied in the same offset as the source page. This causes a hole at the start of the reader page. This complicates the use of this function. Instead, it should copy the data at the beginning of the function and update the index fields accordingly. Other small clean ups are also done in this patch. Signed-off-by: Steven Rostedt commit e3d6bf0a0781a269f34250fd41e0d3dbfe540cf1 Author: Steven Rostedt Date: Tue Mar 3 13:53:07 2009 -0500 ring-buffer: replace sizeof of event header with offsetof Impact: fix to possible alignment problems on some archs. Some arch compilers include an NULL char array in the sizeof field. Since the ring_buffer_event type includes one of these, it is better to use the "offsetof" instead, to avoid strange bugs on these archs. Signed-off-by: Steven Rostedt commit ef7a4a161472b952941bf78855a9cd95703c024e Author: Steven Rostedt Date: Tue Mar 3 00:27:49 2009 -0500 ring-buffer: fix ring_buffer_read_page The ring_buffer_read_page was broken if it were to only copy part of the page. This patch fixes that up as well as adds a parameter to allow a length field, in order to only copy part of the buffer page. Signed-off-by: Steven Rostedt commit 41be4da4e85e58520b934040966a6ae919c66c2d Author: Steven Rostedt Date: Mon Mar 2 20:56:48 2009 -0500 ring-buffer: reset write field for ring_buffer_read_page Impact: fix ring_buffer_read_page After a page is swapped into the ring buffer, the write field must also be reset. Signed-off-by: Steven Rostedt commit f254f3909efaf59ca2d0f408de2d044dace60706 Author: Jeremy Fitzhardinge Date: Tue Mar 3 12:02:57 2009 -0800 x86: un-__init fill_pud/pmd/pte They are used by __set_fixmap->set_pte_vaddr_pud, which can be used by arch_setup_additional_pages(), and so is used after init. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 4e8304758cc09a6097dbd2c4f44a5369e5c1edb0 Author: Jeremy Fitzhardinge Date: Tue Mar 3 11:51:39 2009 -0800 x86: remove vestigial fix_ioremap prototypes The function seems to have disappeared at some point, leaving some vestigial prototypes behind... Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 91d75e209bd59695f0708d66964d928d45b3b2f3 Merge: 9976b39... 8b0e586... Author: Ingo Molnar Date: Wed Mar 4 02:29:19 2009 +0100 Merge branch 'x86/core' into core/percpu commit 8b0e5860cb099d7958d13b00ffbc35ad02735700 Merge: b6122b3... 327f438... c577b09... 03787ce... 2fb6b2a... ab76f3d... 2505170... 780eef9... Author: Ingo Molnar Date: Wed Mar 4 02:22:31 2009 +0100 Merge branches 'x86/apic', 'x86/cpu', 'x86/fixmap', 'x86/mm', 'x86/sched', 'x86/setup-lzma', 'x86/signal' and 'x86/urgent' into x86/core commit 6b708b3dde0ab3a10a0eea7774c1d6482f32f587 Author: Jack Morgenstein Date: Tue Mar 3 14:30:01 2009 -0800 IB/sa_query: Fix AH leak due to update_sm_ah() race Our testing uncovered a race condition in ib_sa_event(): spin_lock_irqsave(&port->ah_lock, flags); if (port->sm_ah) kref_put(&port->sm_ah->ref, free_sm_ah); port->sm_ah = NULL; spin_unlock_irqrestore(&port->ah_lock, flags); schedule_work(&sa_dev->port[event->element.port_num - sa_dev->start_port].update_task); If two events occur back-to-back (e.g., client-reregister and LID change), both may pass the spinlock-protected code above before the scheduled work updates the port->sm_ah handle. Then if the scheduled work ends up running twice, the second operation will then find a non-NULL port->sm_ah, and will simply overwrite it in update_sm_ah -- resulting in an AH leak. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 4780c1953f9bef07365b13af01ae4e8238ecd3de Author: Ralph Campbell Date: Tue Mar 3 14:22:17 2009 -0800 IB/mad: Fix ib_post_send_mad() returning 0 with no generate send comp If ib_post_send_mad() returns 0, the API guarantees that there will be a callback to send_buf->mad_agent->send_handler() so that the sender can call ib_free_send_mad(). Otherwise, the ib_mad_send_buf will be leaked and the mad_agent reference count will never go to zero and the IB device module cannot be unloaded. The above can happen without this patch if process_mad() returns (IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_CONSUMED). If process_mad() returns IB_MAD_RESULT_SUCCESS and there is no agent registered to receive the mad being sent, handle_outgoing_dr_smp() returns zero which causes a MAD packet which is at the end of the directed route to be incorrectly sent on the wire but doesn't cause a hang since the HCA generates a send completion. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 5f2a9384a9291d898b4bf85c4fbf497eef582977 Author: Philipp Zabel Date: Tue Mar 3 16:10:52 2009 +0100 ASoC: UDA1380: DATAI is slave only Only allow SND_SOC_DAIFMT_CBS_CFS for the playback DAI. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit aa4ef01de5f2e7ed948b88f9f1cfc93c8e0c3f25 Author: Philipp Zabel Date: Tue Mar 3 16:10:51 2009 +0100 ASoC: Use network mode with 2 slots for 16-bit stereo in pxa-ssp/Zylonite For consistency with 24-bit and 32-bit modes, don't send 16-bit stereo in one 32-bit transfer. Use 2 slots instead on Zylonite. It should result in exactly the same behaviour. Now it is possible to use 16-bit single slot transfers in pxa-ssp, which are needed for Magician to get two frame clock pulses per sample (one for each channel). Signed-off-by: Philipp Zabel Tested-by: Mark Brown Signed-off-by: Mark Brown commit ef9e5e5c31cb2c6254760611289ac13e4e41b964 Author: Philipp Zabel Date: Tue Mar 3 16:10:54 2009 +0100 ASoC: UDA1380: change decimator/interpolator register handling If the UDA1380's interpolator or decimator are set to be clocked from the WSPLL (which syncs to the WSI signal), the DAI link must be running to change the interpolator/decimator registers (which include volume controls and digital mute setting). * Queue work in the alsa PCM_START .trigger to flush registers as soon as the link is running. This replaces the .prepare and .digital_mute callbacks. * Use the SILENCE override instead of MTM for muting and remove its alsa control to avoid confusion. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit a3c7729e6c5d41bbeb3e13befbcf8e4ef76e55dc Author: Philipp Zabel Date: Tue Mar 3 16:10:53 2009 +0100 ASoC: Remove version display from the UDA1380 driver Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit d4fc7cea5dda04ae1a6f36175ec1dd8ff088ed52 Merge: 3a011a1... 2450cf5... Author: Felix Blyakher Date: Tue Mar 3 09:18:47 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 3612fdf780e28b10323dd12d2b0f306c7ada4d4c Merge: 654952b... 633ddaa... Author: Ingo Molnar Date: Tue Mar 3 16:02:16 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 633ddaa7f471e9db181f993c1458d6f4bae321ca Author: Steven Rostedt Date: Tue Mar 3 09:43:50 2009 -0500 tracing: fix return value to registering events The registering of events had the return value check backwards. A zero returned is success, the check had it as a failure. This patch also fixes a missing "\n" in the warning that the check failed. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 03787ceed8f7bf06af29f3b213017d89f8e9423d Author: Ingo Molnar Date: Tue Mar 3 15:32:24 2009 +0100 x86: set_highmem_pages_init() cleanup, fix !CONFIG_NUMA && CONFIG_HIGHMEM=y Impact: build fix arch/x86/mm/highmem_32.c:187: error: static declaration of 'set_highmem_pages_init' follows non-static declaration arch/x86/include/asm/numa_32.h:8: error: previous declaration of 'set_highmem_pages_init' was here Signed-off-by: Pekka Enberg LKML-Reference: <1236082212.2675.24.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 82ad39f9391fca1d3177bd9f6a5264eff5b5346a Author: Takashi Iwai Date: Tue Mar 3 15:00:35 2009 +0100 ALSA: hda - Fix gcc compile warning It's false positive, but annoying. sound/pci/hda/hda_codec.c: In function ‘get_empty_pcm_device’: sound/pci/hda/hda_codec.c:2772: warning: ‘dev’ may be used uninitialized in this function Signed-off-by: Takashi Iwai commit 4da3782151300237db3abe070f716922889252e0 Author: Russell King Date: Tue Feb 24 12:46:31 2009 +0000 [ARM] omap: clk_set_parent: deny changing parent if clock is enabled Richard Woodruff writes: | The historic usage of this has been against single use leaf clocks | (1st instance of gptimer). When it was used it did: | clk_get() | clk_set_parent() | clk_enable() | | This usage was ok for that. Use on a disabled clock is needed. | | If there are multiple users on the clock or it is enabled there are | problems. | | The call can still be unfriendly if 2 different drivers are using the | clock with their own clock get/enable. It might be the function should | return an error if usecount != 0 to stop surprises. It is all around | better if the parenting is done when the clock is off. This is a good reason to ensure that the clock is not enabled when clk_set_parent() is called. Acked-by: Richard Woodruff Signed-off-by: Russell King commit 6d831c6554e4f95083919914955a1a3a4a6acfa9 Author: Ryan Mallon Date: Mon Mar 2 21:27:38 2009 +0100 [ARM] 5414/2: ep93xx m2p dma core Add m2p dma support to the ep93xx Signed-off-by: Ryan Mallon Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 867c5b5292583b1e474cbbcb4c77f09bfca3903c Author: Pekka Enberg Date: Tue Mar 3 14:10:12 2009 +0200 x86: set_highmem_pages_init() cleanup Impact: cleanup This patch moves set_highmem_pages_init() to arch/x86/mm/highmem_32.c. The declaration of the function is kept in asm/numa_32.h because asm/highmem.h is included only if CONFIG_HIGHMEM is enabled so we can't put the empty static inline function there. Signed-off-by: Pekka Enberg LKML-Reference: <1236082212.2675.24.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit e5b2bb552706ca0e30795ee84caacbb37cec5705 Author: Pekka Enberg Date: Tue Mar 3 13:15:06 2009 +0200 x86: unify free_init_pages() and free_initmem() Impact: unification This patch introduces a common arch/x86/mm/init.c and moves the identical free_init_pages() and free_initmem() functions to the file. Signed-off-by: Pekka Enberg LKML-Reference: <1236078906.2675.18.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit e087edd8c056292191bb989baf49f83ee509e624 Author: Pekka Enberg Date: Tue Mar 3 13:15:04 2009 +0200 x86: make sure initmem is writable on 64-bit Impact: unification This patch ports commit 3c1df68b848b39270752ff8d4b956cc4a4dce0f6 ("x86: make sure initmem is writable") to the 64-bit version to unify implementations of free_init_pages(). Signed-off-by: Pekka Enberg Cc: Arjan van de Ven LKML-Reference: <1236078904.2675.17.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 05f209e7b936a48e341d36831079116a06658ccc Author: Pekka Enberg Date: Tue Mar 3 13:15:02 2009 +0200 x86: add sanity checks to init_32.c Impact: unification This patch adds sanity checks that are already in init_64.c to init_32.c. Signed-off-by: Pekka Enberg LKML-Reference: <1236078902.2675.16.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit fd578f9c0a0a7bf3e460e6f21cdc6f4018949e80 Author: Pekka Enberg Date: Tue Mar 3 12:55:05 2009 +0200 x86: use roundup() instead of PAGE_ALIGN() in find_early_table_space() Impact: cleanup This patch changes find_early_table_space() to use roundup() for rounding up tables to page size to unify the common parts of the 32-bit and 64-bit implementations. Signed-off-by: Pekka Enberg LKML-Reference: <1236077705.2675.6.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 2b688dfd0a93cf3b17c38feef693361da47b0606 Author: Pekka Enberg Date: Tue Mar 3 12:55:04 2009 +0200 x86: move __VMALLOC_RESERVE to pgtable_32.c Impact: cleanup The __VMALLOC_RESERVE global variable is not used in init_32.c. Move that to pgtable_32.c to reduce the diff between init_32.c and init_64.c. Signed-off-by: Pekka Enberg LKML-Reference: <1236077704.2675.4.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 567c6c4e2b92f4b8632b043f9395b216b7e7c3ce Author: Dhananjay Phadke Date: Mon Mar 2 16:02:17 2009 +0000 netxen: firmware download improvements o set port mode after resetting device. o prefer cut-through firmware (doesn't require on-card memory). o load flashed firmware if newer. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1f434f638457712732238329dfdf089eab25e5b3 Author: Dhananjay Phadke Date: Mon Mar 2 16:02:16 2009 +0000 netxen: support larger dma addressing Support larger dma mask if firmware indicates capability to handle larger addresses. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 2505170211f7630361a852e25b60f4df4c878daa Author: Hiroshi Shimamoto Date: Mon Mar 2 17:20:01 2009 -0800 x86, signals: fix xine & firefox bustage Impact: fix bad frame in rt_sigreturn on 64-bit After commit 97286a2b64725aac2d584ddd1f94871f9991d5a1 some applications fail to return from signal handler: [ 145.150133] firefox[3250] bad frame in rt_sigreturn frame:00007f902b44eb28 ip:352e80b307 sp:7f902b44ef70 orax:ffffffffffffffff in libpthread-2.9.so[352e800000+17000] [ 665.519017] firefox[5420] bad frame in rt_sigreturn frame:00007faa8deaeb28 ip:352e80b307 sp:7faa8deaef70 orax:ffffffffffffffff in libpthread-2.9.so[352e800000+17000] The root cause is forgetting to keep 64 byte aligned value of fpstate for next stack pointer calculation. Reported-by: Jaswinder Singh Rajput Reported-by: Mike Galbraith Signed-off-by: Hiroshi Shimamoto LKML-Reference: <49AC85C1.7060600@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 5ac072e110ff358a9ebc318a1b54f0182b799f72 Author: Kuninori Morimoto Date: Tue Mar 3 16:22:00 2009 +0900 sh: Urquell board support. This adds preliminary support for the SH7786-based Urquell board. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 37042fbd8b3256d2a44b17646fa9de8777d5a34a Author: Paul Mundt Date: Tue Mar 3 15:57:02 2009 +0900 sh: SH7786 is an SH-X3 core, select CPU_SHX3. Signed-off-by: Paul Mundt commit 7e99013a5043cacd375375c3efad35b57c3afdba Author: Vlad Yasevich Date: Mon Mar 2 09:46:14 2009 +0000 sctp: Fix broken RTO-doubling for data retransmits Commit faee47cdbfe8d74a1573c2f81ea6dbb08d735be6 (sctp: Fix the RTO-doubling on idle-link heartbeats) broke the RTO doubling for data retransmits. If the heartbeat was sent before the data T3-rtx time, the the RTO will not double upon the T3-rtx expiration. Distingish between the operations by passing an argument to the function. Additionally, Wei Youngjun pointed out that our treatment of requested HEARTBEATS and timer HEARTBEATS is the same wrt resetting congestion window. That needs to be separated, since user requested HEARTBEATS should not treat the link as idle. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f61f6f82c90cbaa85270f26b89e3309a8c6e2e88 Author: Wei Yongjun Date: Mon Mar 2 09:46:13 2009 +0000 sctp: use time_before or time_after for comparing jiffies The functions time_before or time_after are more robust for comparing jiffies against other values. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit c6db93a58f1745cfe1acc2e1a1d68afc3245eced Author: Wei Yongjun Date: Mon Mar 2 09:46:12 2009 +0000 sctp: fix the length check in sctp_getsockopt_maxburst() The code in sctp_getsockopt_maxburst() doesn't allow len to be larger then struct sctp_assoc_value, which is a common case where app writers just pass down the sizeof(buf) or something similar. This patch fix the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit d212318c9d1b11ff44b57f90b4f9d9c9b31a6ced Author: Wei Yongjun Date: Mon Mar 2 09:46:11 2009 +0000 sctp: remove dup code in net/sctp/socket.c Remove dup check of "if (optlen < sizeof(int))". Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 906f8257eedf64c9f4da0adfacca76d06d8e8cb0 Author: Wei Yongjun Date: Mon Mar 2 09:46:10 2009 +0000 sctp: Add some missing types for debug message This patch add the type name "AUTH" and primitive type name "PRIMITIVE_ASCONF" for debug message. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit bcc2cb3b97e37317c301309d7052bb61e6cce2c4 Author: Ron Mercer Date: Mon Mar 2 08:07:32 2009 +0000 qlge: Add support for getting/setting port config. This patch adds functionality to get and set port parameters. Currently it is used to set maximum TX/RX frame sizes. This process is also capable of setting: 1) Pause type: Standard or Priority based. 2) Loop back mode. 3) Enable Jumbo frame mode (included here...) Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit cdca8d02ea4229c2ccf3c27fb537b150843f67c9 Author: Ron Mercer Date: Mon Mar 2 08:07:31 2009 +0000 qlge: Add support for device ID 8000. This device has more firmware support for link management, setting TX and RX maximum frame sizes. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit ca0413b66ab44ee0ea40d04eab44ff0fdaf32a1d Author: Ron Mercer Date: Mon Mar 2 08:07:30 2009 +0000 qlge: Add support for firmware mailbox commands. This interface will be used for setting things like maximum frame size, setting WOL, and ACKing changes requested by the FCOE function. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit ee7537b63a28b42b22e48842dfeedc66d96b71f1 Author: Hantzis Fotis Date: Mon Mar 2 22:42:02 2009 -0800 tcp: tcp_init_wl / tcp_update_wl argument cleanup The above functions from include/net/tcp.h have been defined with an argument that they never use. The argument is 'u32 ack' which is never used inside the function body, and thus it can be removed. The rest of the patch involves the necessary changes to the function callers of the above two functions. Signed-off-by: Hantzis Fotis Signed-off-by: David S. Miller commit 55ba99eb211a06709237cb322ecd8c8b6faf6159 Author: Kuninori Morimoto Date: Tue Mar 3 15:40:25 2009 +0900 sh: Add support for SH7786 CPU subtype. This adds preliminary support for the SH7786 CPU subtype. While this is a dual-core CPU, only UP is supported for now. L2 cache support is likewise not yet implemented. More information on this particular CPU subtype is available at: http://www.renesas.com/fmwk.jsp?cnt=sh7786_root.jsp&fp=/products/mpumcu/superh_family/sh7780_series/sh7786_group/ Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit c1accad323372ab788066974844fe4db3c43acb0 Author: Eilon Greenstein Date: Mon Mar 2 08:01:17 2009 +0000 bnx2x: Version update Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0a64ea57486acd9e17b80bb70b966e81d904b61c Author: Eilon Greenstein Date: Mon Mar 2 08:01:12 2009 +0000 bnx2x: Register dump Adding "ethtool -d" support. Due to the complexity of the FW and HW, there are a lot of different regions in the chip - to keep the code as clean as possible, the ranges were put in an H file. Some areas cannot be read if the driver is running - so by default, the driver will not access those areas - but any programmer facing a problem will be able to easily manipulate the driver to extract full dump. The full dump can also be used with kernel dump modules in case of kernel panic. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c3eefaf676646281c07f93cb523a7be4eab67f8c Author: Eilon Greenstein Date: Mon Mar 2 08:01:09 2009 +0000 bnx2x: Debug prints Add the FP index to relevant debug prints and simply beautify some others Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c016201c5c6520abfcbd0c539fbf2524dd431ce6 Author: Eilon Greenstein Date: Mon Mar 2 08:01:05 2009 +0000 bnx2x: Whitespace Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8660d8c3abd988d1601b78046733450cc3554a35 Author: Eilon Greenstein Date: Mon Mar 2 08:01:02 2009 +0000 bnx2x: Loopback support at external PHY Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9223dea6c75f3cb77ca644d84cb152525e6e329d Author: Eilon Greenstein Date: Mon Mar 2 08:00:15 2009 +0000 bnx2x: Display BCM8481 FW version Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3b313b618b2acbeb2954368980ab52b7f9fd05ef Author: Eilon Greenstein Date: Mon Mar 2 08:00:10 2009 +0000 bnx2x: BCM8705 has no microcode Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d7bc788beca5879f03e0120ac27b99bdeed95921 Author: Eilon Greenstein Date: Mon Mar 2 08:00:07 2009 +0000 bnx2x: Enable BCM8726 module transmitter When 8726 module detection option is disabled, module should be transmitting regardless of invalid read from EEPROM Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit cc1cb004dfa27c63b43941076b490045a43d5fbd Author: Eilon Greenstein Date: Mon Mar 2 08:00:03 2009 +0000 bnx2x: Supporting new BCM8726 FW Microcode download requires write of another register and read from "Limiting/LRM mode" register before setting Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 762d5f6c95e4c7036aaaf67ec0749ed64ebb71e7 Author: Eilon Greenstein Date: Mon Mar 2 07:59:56 2009 +0000 bnx2x: Calling tx disable unconditionally On unload, the FW assumes that no packets will be sent after the driver sends the FW stop command. To ensure that, the driver must always call netif_tx_disable Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 490c3c9bf986545bdd99dcd4b0045c747564be39 Author: Eilon Greenstein Date: Mon Mar 2 07:59:52 2009 +0000 bnx2x: Using DMA engine Using DMA engine (DMAE) to initialize large consecutive memories in the chip Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2059aba7e40afb18e578ce57cc48fc3c782a531b Author: Eilon Greenstein Date: Mon Mar 2 07:59:48 2009 +0000 bnx2x: Missing module parameter description Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8534f32c2fb86bff629f7152bc3096245252062c Author: Eilon Greenstein Date: Mon Mar 2 07:59:45 2009 +0000 bnx2x: napi_poll budget check Check the napi_poll budget only when updating it. Also add a comment to explain the rmb Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7961f79123604a395dc467c605a94bbaed74df83 Author: Eilon Greenstein Date: Mon Mar 2 07:59:31 2009 +0000 bnx2x: Unlimited Tx interrupt work The Tx interrupt is very short and there is no need to limit it to a budget Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 161197853de91eb1eebdde05f13223c377cf3be0 Author: Eilon Greenstein Date: Mon Mar 2 07:59:27 2009 +0000 bnx2x: Add rmb to read status block indices on load Add rmb to read status block indices on load Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6044735d8ddd96bf23cf975bae8729c65479aa14 Author: Eilon Greenstein Date: Mon Mar 2 07:59:24 2009 +0000 bnx2x: Reduce the likelihood of smb_mb As the comment explains, this smb_mb is needed only if the queue is stopped (which is unlikely) so the barrier can be moved to that location Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0d1a8d2d7dd9f6588ed9544a9aa88fd9bd9467d3 Author: Eilon Greenstein Date: Mon Mar 2 07:59:20 2009 +0000 bnx2x: Misleading name As noted by Ben Hutchings , these are the capabilities offsets and not the ID itself Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 98589bb1099732847c5deedc213c17c50dd1bc75 Author: Eilon Greenstein Date: Mon Mar 2 07:59:17 2009 +0000 bnx2x: Remove redundant smb_mb on unload As noted by Ben Hutchings , these smb_mb are not needed Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a8c9a53c22441efcd57ad7955231b2804696b133 Author: David Dillow Date: Mon Mar 2 22:15:09 2009 -0800 typhoon: repair firmware loading The conversion to avoid using pci_alloc_consistent() broke the firmware load process, as well as added an order-4 kmalloc and doubled the memory usage of the firmware image. Go back to loading a page at a time. Also, since the user can now give us utter garbage for firmware, do a cursory validation so we don't try to load just anything. Signed-off-by: David Dillow Signed-off-by: David S. Miller commit 93fde774546c947ac8563da431f0a6d47452551d Author: Kay Sievers Date: Tue Mar 3 12:16:12 2009 +0900 sh: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Paul Mundt commit 652e8f8d579d61745094e36b4ff085026a332e73 Merge: 501cb16... 6c71209... Author: Benjamin Herrenschmidt Date: Tue Mar 3 13:30:03 2009 +1100 Merge commit 'jwb/next' into next commit d20b606c99c7fd9f1b6c6ec43c877eaae827d169 Author: Jesse Brandeburg Date: Mon Mar 2 16:03:21 2009 -0800 e1000: fix unmap bug This is in reference to the issue shown in kerneloops (search e1000 unmap) The e1000 transmit code was calling pci_unmap_page on dma handles that it might have called pci_map_single on. Same bug as e1000e Signed-off-by: Jesse Brandeburg Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8ddc951c73cbc317148c0b9973dde81eece57e4c Author: Jesse Brandeburg Date: Mon Mar 2 16:02:53 2009 -0800 e1000e: fix unmap bug This is in reference to https://bugzilla.redhat.com/show_bug.cgi?id=484494 Also addresses issue show in kerneloops The e1000e transmit code was calling pci_unmap_page on dma handles that it might have called pci_map_single on. Signed-off-by: Jesse Brandeburg Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 19147bb5f1f7e7ee79f0c92f59f67da8c0031dc0 Author: Alexander Duyck Date: Mon Mar 2 16:01:53 2009 -0800 igb: remove skb_orphan calls Remove skb_orphan call from igb driver as it can cause multiple issues due to the fact that it is calling the desctructor and removing the skb from the socket prior to transmission. The call was added to improve performance but did so by allowing the skb to be removed from the socket which gave the socket more window space to transmit. The performance gain is not worth the extra problems that this kind of workaround can introduce as this could lead to a potential DoS if a UDP stream decided to monopolize the transmit path. Signed-off-by: Alexander Duyck Acked-by: Mitch Williams Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 044d408409cc4e1bc75c886e27ca85c270db104c Author: Peter Zijlstra Date: Mon Mar 2 16:13:32 2009 +0100 genirq: assert that irq handlers are indeed running in hardirq context Make sure the genirq layer handlers are indeed running handlers in hardirq context. That is the genirq expectation and doing anything else is broken. Signed-off-by: Peter Zijlstra Cc: Andrew Morton LKML-Reference: <1236006812.5330.632.camel@laptop> Signed-off-by: Ingo Molnar commit 654952bcb999ad96e1d9ae9145fe5c0522ec297a Merge: ed662d9... c79a61f... Author: Ingo Molnar Date: Mon Mar 2 23:14:02 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit c79a61f55773d2519fd0525bf58385f7d20752d3 Author: Uwe Kleine-Koenig Date: Fri Feb 27 21:30:03 2009 +0100 tracing: make CALLER_ADDRx overwriteable The current definition of CALLER_ADDRx isn't suitable for all platforms. E.g. for ARM __builtin_return_address(N) doesn't work for N > 0 and AFAIK for powerpc there are no frame pointers needed to have a working __builtin_return_address. This patch allows defining the CALLER_ADDRx macros in and let these take precedence. Because now is included unconditionally in all archs that don't already had this include get an empty one for free. Signed-off-by: Uwe Kleine-Koenig Cc: Peter Zijlstra Cc: Ingo Molnar Reviewed-by: KOSAKI Motohiro Signed-off-by: Steven Rostedt commit ed662d9b2a6cb26e1399f57b88b565c0a68c60d4 Merge: fdfa66a... 96ccd21... Author: Ingo Molnar Date: Mon Mar 2 22:38:31 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit fdfa66ab455c79d699833c43ac0e09900133fd7c Merge: 4387d6d... acdb2c2... 340430c... Author: Ingo Molnar Date: Mon Mar 2 22:37:35 2009 +0100 Merge branches 'tracing/ftrace', 'tracing/mmiotrace' and 'linus' into tracing/core commit c02368a9d059322f913a58111eade87a656fefd5 Merge: f17c754... 778ef1e... Author: Ingo Molnar Date: Mon Mar 2 22:08:56 2009 +0100 Merge branch 'linus' into irq/genirq commit 96ccd21cd13140221bda74a4fc4e53ffeba7c7d4 Author: Steven Rostedt Date: Mon Mar 2 15:22:21 2009 -0500 tracing: add print format to event trace format files This patch adds the internal print format used to print the raw events to the event trace point format file. # cat /debug/tracing/events/sched/sched_switch/format name: sched_switch ID: 29 format: field:unsigned char type; offset:0; size:1; field:unsigned char flags; offset:1; size:1; field:unsigned char preempt_count; offset:2; size:1; field:int pid; offset:4; size:4; field:int tgid; offset:8; size:4; field:pid_t prev_pid; offset:12; size:4; field:int prev_prio; offset:16; size:4; field special:char next_comm[TASK_COMM_LEN]; offset:20; size:16; field:pid_t next_pid; offset:36; size:4; field:int next_prio; offset:40; size:4; print fmt: "prev %d:%d ==> next %s:%d:%d" Signed-off-by: Steven Rostedt commit c5e4e19271edfdf1abd4184933d40d646da6a091 Author: Steven Rostedt Date: Mon Mar 2 15:10:02 2009 -0500 tracing: add trace name and id to event formats To be able to identify the trace in the binary format output, the id of the trace event (which is dynamically assigned) must also be listed. This patch adds the name of the trace point as well as the id assigned. Signed-off-by: Steven Rostedt commit 91729ef96661bfa7dc53923746cd90b62d5495cc Author: Steven Rostedt Date: Mon Mar 2 15:03:01 2009 -0500 tracing: add ftrace headers to event format files This patch includes the ftrace header to the event formats files: # cat /debug/tracing/events/sched/sched_switch/format field:unsigned char type; offset:0; size:1; field:unsigned char flags; offset:1; size:1; field:unsigned char preempt_count; offset:2; size:1; field:int pid; offset:4; size:4; field:int tgid; offset:8; size:4; field:pid_t prev_pid; offset:12; size:4; field:int prev_prio; offset:16; size:4; field special:char next_comm[TASK_COMM_LEN]; offset:20; size:16; field:pid_t next_pid; offset:36; size:4; field:int next_prio; offset:40; size:4; A blank line is used as a deliminator between the ftrace header and the trace point fields. Signed-off-by: Steven Rostedt commit 981d081ec8b958b7d962ee40d433581a55d40fc5 Author: Steven Rostedt Date: Mon Mar 2 13:53:59 2009 -0500 tracing: add format file to describe event struct fields This patch adds the "format" file to the trace point event directory. This is based off of work by Tom Zanussi, in which a file is exported to be tread from user land such that a user space app may read the binary record stored in the ring buffer. # cat /debug/tracing/events/sched/sched_switch/format field:pid_t prev_pid; offset:12; size:4; field:int prev_prio; offset:16; size:4; field special:char next_comm[TASK_COMM_LEN]; offset:20; size:16; field:pid_t next_pid; offset:36; size:4; field:int next_prio; offset:40; size:4; Idea-from: Tom Zanussi Signed-off-by: Steven Rostedt commit f9520750c4c9924c14325cd951efae5fae58104c Author: Steven Rostedt Date: Mon Mar 2 14:04:40 2009 -0500 tracing: make trace_seq_reset global and rename to trace_seq_init Impact: clean up The trace_seq functions may be used separately outside of the ftrace iterator. The trace_seq_reset is needed for these operations. This patch also renames trace_seq_reset to the more appropriate trace_seq_init. Signed-off-by: Steven Rostedt commit 11a241a3302277db05561e01477528629d806c4e Author: Steven Rostedt Date: Mon Mar 2 11:49:04 2009 -0500 tracing: add protection around modify trace event fields The trace event objects are currently not proctected against reentrancy. This patch adds a mutex around the modifications of the trace event fields. Signed-off-by: Steven Rostedt commit d02b1f3910f12cfe377a31afebcbbde4f5664b74 Author: Takashi Iwai Date: Mon Mar 2 17:34:51 2009 +0100 ALSA: hda - Update documetation for hints sysfs entry Signed-off-by: Takashi Iwai commit 6565e4faca257fc51a4c55199d72e2701ba7e819 Author: Takashi Iwai Date: Mon Mar 2 14:38:35 2009 +0100 ALSA: hda - Add more hint options for IDT/Sigmatel codecs Allow more options to be set/reset via hwdep hint entry. hp_detect, gpio_mask, gpio_dir, gpio_data, eapd_mask and eapd_switch can be checked. For example, to disable hp_detect on the fly, # echo "hp_detect=0" > /sys/class/sound/hwC0D0/hints Signed-off-by: Takashi Iwai commit d78d7a90adf793943cc29a414b6f4364a700aad5 Author: Takashi Iwai Date: Mon Mar 2 14:26:25 2009 +0100 ALSA: hda - Create "Analog Loopback" controls optionally Don't create "Analog Loopback" controls as default since these controls are usually more harmful than useful for normal users. Only created when "loopback = yes" hint is given. Signed-off-by: Takashi Iwai commit ab1726f920275b52991b2eff7538ac6d313bf9a2 Author: Takashi Iwai Date: Mon Mar 2 17:09:25 2009 +0100 ALSA: hda - Add show for init_verbs and hints sysfs entries Added the show method for init_verbs and hints hwdep sysfs entries. They show the current values. Signed-off-by: Takashi Iwai commit 43b62713f67d9f0655f3a61f5bd14d6297ddd3ce Author: Takashi Iwai Date: Mon Mar 2 14:25:17 2009 +0100 ALSA: hda - Add hint string helper functions Added snd_hda_get_hint() and snd_hda_get_bool_hint() helper functions to retrieve a hint value. Internally, the hint is stored in a pair of two strings, key and val. Signed-off-by: Takashi Iwai commit d20e3b03842bfeb9d21817ff19054c277cc3eac0 Author: Steven Rostedt Date: Mon Mar 2 10:53:15 2009 -0500 tracing: add TRACE_FIELD_SPECIAL to record complex entries Tom Zanussi pointed out that the simple TRACE_FIELD was not enough to record trace data that required memcpy. This patch addresses this issue by adding a TRACE_FIELD_SPECIAL. The format is similar to TRACE_FIELD but looks like so: TRACE_FIELD_SPECIAL(type_item, item, cmd) What TRACE_FIELD gave was: TRACE_FIELD(type, item, assign) The TRACE_FIELD would be used in declaring a structure: struct { type item; }; And later assign it via: entry->item = assign; What TRACE_FIELD_SPECIAL gives us is: In the declaration of the structure: struct { type_item; }; And the assignment: cmd; This change log will explain the one example used in the patch: TRACE_EVENT_FORMAT(sched_switch, TPPROTO(struct rq *rq, struct task_struct *prev, struct task_struct *next), TPARGS(rq, prev, next), TPFMT("task %s:%d ==> %s:%d", prev->comm, prev->pid, next->comm, next->pid), TRACE_STRUCT( TRACE_FIELD(pid_t, prev_pid, prev->pid) TRACE_FIELD(int, prev_prio, prev->prio) TRACE_FIELD_SPECIAL(char next_comm[TASK_COMM_LEN], next_comm, TPCMD(memcpy(TRACE_ENTRY->next_comm, next->comm, TASK_COMM_LEN))) TRACE_FIELD(pid_t, next_pid, next->pid) TRACE_FIELD(int, next_prio, next->prio) ), TPRAWFMT("prev %d:%d ==> next %s:%d:%d") ); The struct will be create as: struct { pid_t prev_pid; int prev_prio; char next_comm[TASK_COMM_LEN]; pid_t next_pid; int next_prio; }; Note the TRACE_ENTRY in the cmd part of TRACE_SPECIAL. TRACE_ENTRY will be set by the tracer to point to the structure inside the trace buffer. entry->prev_pid = prev->pid; entry->prev_prio = prev->prio; memcpy(entry->next_comm, next->comm, TASK_COMM_LEN); entry->next_pid = next->pid; entry->next_prio = next->prio Reported-by: Tom Zanussi Signed-off-by: Steven Rostedt commit ff09d49ad0176a5f52a398c137a7ff5f669d6be4 Author: Daniel Mack Date: Sat Feb 28 13:21:03 2009 +0100 ASoC: fix typo and removed unneeded switch case for cs4270 This removes a misspelled comment and got rid of superfluous switch case. Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit b1c86bb807448701400abc6eb8e958475ab5424b Author: Clemens Ladisch Date: Mon Mar 2 12:06:28 2009 +0100 sound: usb-audio: fix queue length check for high speed devices When checking for the maximum queue length, we have to take into account that MAX_QUEUE is measured in milliseconds (i.e., frames) while the unit of urb_packs is whatever data packet interval the device uses (possibly less than one frame when using high speed devices). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit eab2b553c3d3ed20698c4a9c7e049a60b804e2f5 Author: Clemens Ladisch Date: Mon Mar 2 11:45:50 2009 +0100 sound: usb-audio: fix rules check for 32-channel devices When storing the channel numbers used by a format, and if the device happens to support 32 channels, the code would try to store 1<<32 in a 32-bit value. Since no valid format can have zero channels, we can use 1<<(channels-1) instead of 1< Signed-off-by: Takashi Iwai commit 9976b39b5031bbf76f715893cf080b6a17683881 Author: Jeremy Fitzhardinge Date: Fri Feb 27 09:19:26 2009 -0800 xen: deal with virtually mapped percpu data The virtually mapped percpu space causes us two problems: - for hypercalls which take an mfn, we need to do a full pagetable walk to convert the percpu va into an mfn, and - when a hypercall requires a page to be mapped RO via all its aliases, we need to make sure its RO in both the percpu mapping and in the linear mapping This primarily affects the gdt and the vcpu info structure. Signed-off-by: Jeremy Fitzhardinge Cc: Xen-devel Cc: Gerd Hoffmann Cc: Rusty Russell Cc: Tejun Heo Signed-off-by: Ingo Molnar commit 1713c0d508fbbb42aa5f90039195e5ac31a50625 Author: Krzysztof Helt Date: Fri Feb 27 21:41:40 2009 +0100 ALSA: opl3sa2 fix irq releasing and short name of card Two simple fixes: 1. Use the same pointer for the free_irq() and the request_irq() calls. 2. A short name of card is appended with '2' or '3' character depending on a detected chip. Remove the '2' character from the short name. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit d3a21be86c178964167aa54c39a01260d33e7509 Author: Randy Dunlap Date: Mon Mar 2 03:15:58 2009 -0800 skbuff.h: fix timestamps kernel-doc Fix skbuff.h kernel-doc for timestamps: must include "struct" keyword, otherwise there are kernel-doc errors: Error(linux-next-20090227//include/linux/skbuff.h:161): cannot understand prototype: 'struct skb_shared_hwtstamps ' Error(linux-next-20090227//include/linux/skbuff.h:177): cannot understand prototype: 'union skb_shared_tx ' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 94f52cd152ce20aa72415bcf0804faee0d31d023 Author: Ben Hutchings Date: Fri Feb 27 13:08:18 2009 +0000 sfc: Add support for SFN4112F SFP+ reference design Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8129d2173ea7a5b030b4cba044d1f92689895083 Author: Ben Hutchings Date: Fri Feb 27 13:08:03 2009 +0000 sfc: Clean up LED control Reinitialise LEDs after overriding them for identification. Rename set_fault_led method to set_id_led since we always use it for NIC identification and not faults. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b4a44a69877960e620461c663805f7cc52e2a798 Author: Ben Hutchings Date: Fri Feb 27 13:07:42 2009 +0000 sfc: Delete unused efx_blinker::led_num field Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d2d2c3731474614bff5cf47a605e59e847882f5d Author: Ben Hutchings Date: Fri Feb 27 13:07:33 2009 +0000 sfc: Add support for QT2025C PHY This is a new PHY supporting SFP+ modules, used in the SFN4112F reference design. It is similar to the QT2022C2 and shares much of its support code. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3f39a5e9bff000025c2679101b4f83e4fc21dbba Author: Ben Hutchings Date: Fri Feb 27 13:07:15 2009 +0000 sfc: Fix reporting of PHY id Shuffle bits of the OUI into the conventional written order. Replace PHY id component macros with functions. Zero-pad PHY id components in log messages. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f794fd440066ccd7d601f405f80aa514b95f15d1 Author: Ben Hutchings Date: Fri Feb 27 13:06:58 2009 +0000 sfc: Remove "XFP" from log messages that are not specific to XFP Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 190dbcfd6806c7c88fc028acda95731ffd43979d Author: Ben Hutchings Date: Fri Feb 27 13:06:45 2009 +0000 sfc: SFT9001/SFN4111T: Check PHY boot status during board initialisation During SFN4111T initialisation, check whether the PHY boot status indicates a bad firmware checksum. If so, prepare to reflash rather than continuing with normal initialisation. Remove redundant PHY boot status check from tenxpress_phy_init(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7b065f91faf56f5445ba45878ce6c55ea6388bb3 Author: Ben Hutchings Date: Fri Feb 27 13:06:12 2009 +0000 sfc: Fix test for MDIO read failure Commit 27dd2caca4eabe7c13a052b7456495ba75535e6a changed mdio_clause45_check_mmds() to read both DEVS0 and DEVS1 registers and to combine their values into an unsigned 32-bit mask. This made the following test for a negative (failure) value useless. Fix it to check whether either read failed. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 22ef02c23a236cb825b13f3335ff05ef5072a03d Author: Ben Hutchings Date: Fri Feb 27 13:04:07 2009 +0000 sfc: SFT9001: Include non-breaking cable diagnostics in online self-tests Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c747583d19d5d5147a9f0eae480c1fdbc84c4252 Author: Inaky Perez-Gonzalez Date: Sat Feb 28 23:42:54 2009 +0000 wimax/i2400m: implement RX reorder support Allow the device to give the driver RX data with reorder information. When that is done, the device will indicate the driver if a packet has to be held in a (sorted) queue. It will also tell the driver when held packets have to be released to the OS. This is done to improve the WiMAX-protocol level retransmission support when missing frames are detected. The code docs provide details about the implementation. In general, this just hooks into the RX path in rx.c; if a packet with the reorder bit in the RX header is detected, the reorder information in the header is extracted and one of the four main reorder operations are executed. In one case (queue) no packet will be delivered to the networking stack, just queued, whereas in the others (reset, update_ws and queue_update_ws), queued packet might be delivered depending on the window start for the specific queue. The modifications to files other than rx.c are: - control.c: during device initialization, enable reordering support if the rx_reorder_disabled module parameter is not enabled - driver.c: expose a rx_reorder_disable module parameter and call i2400m_rx_setup/release() to initialize/shutdown RX reorder support. - i2400m.h: introduce members in 'struct i2400m' needed for implementing reorder support. - linux/i2400m.h: introduce TLVs, commands and constant definitions related to RX reorder Last but not least, the rx reorder code includes an small circular log where the last N reorder operations are recorded to be displayed in case of inconsistency. Otherwise diagnosing issues would be almost impossible. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 61b8d2688a0cc9434b18144342c719f809691d72 Author: Harvey Harrison Date: Sat Feb 28 23:42:53 2009 +0000 wimax: replace uses of __constant_{endian} Base versions handle constant folding now. Edited by Inaky to fix conflicts due to changes in netdev.c Signed-off-by: Harvey Harrison Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit fd5c565c0c04d2716cfdac3f1de3c2261d6a457d Author: Inaky Perez-Gonzalez Date: Sat Feb 28 23:42:52 2009 +0000 wimax/i2400m: support extended data RX protocol (no need to reallocate skbs) Newer i2400m firmwares (>= v1.4) extend the data RX protocol so that each packet has a 16 byte header. This header is mainly used to implement host reordeing (which is addressed in later commits). However, this header also allows us to overwrite it (once data has been extracted) with an Ethernet header and deliver to the networking stack without having to reallocate the skb (as it happened in fw <= v1.3) to make room for it. - control.c: indicate the device [dev_initialize()] that the driver wants to use the extended data RX protocol. Also involves adding the definition of the needed data types in include/linux/wimax/i2400m.h. - rx.c: handle the new payload type for the extended RX data protocol. Prepares the skb for delivery to netdev.c:i2400m_net_erx(). - netdev.c: Introduce i2400m_net_erx() that adds the fake ethernet address to a prepared skb and delivers it to the networking stack. - cleanup: in most instances in rx.c, the variable 'single' was renamed to 'single_last' for it better conveys its meaning. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 347707baa77d273d79258303e00200d40cf3b323 Author: Kay Sievers Date: Sat Feb 28 23:42:51 2009 +0000 wimax: struct device - replace bus_id with dev_name(), dev_set_name() Cc: inaky.perez-gonzalez@intel.com Cc: linux-wimax@intel.com Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 8987691a4aa6622a1b58bb12c56abaf3d2098fad Author: Inaky Perez-Gonzalez Date: Sat Feb 28 23:42:50 2009 +0000 wimax/i2400m: allow control of the base-station idle mode timeout For power saving reasons, WiMAX links can be put in idle mode while connected after a certain time of the link not being used for tx or rx. In this mode, the device pages the base-station regularly and when data is ready to be transmitted, the link is revived. This patch allows the user to control the time the device has to be idle before it decides to go to idle mode from a sysfs interace. It also updates the initialization code to acknowledge the module variable 'idle_mode_disabled' when the firmware is a newer version (upcoming 1.4 vs 2.6.29's v1.3). The method for setting the idle mode timeout in the older firmwares is much more limited and can be only done at initialization time. Thus, the sysfs file will return -ENOSYS on older ones. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 6a0f7ab8305cb60a43a6c4a548f57adab784e6cd Author: Inaky Perez-Gonzalez Date: Sat Feb 28 23:42:49 2009 +0000 wimax/i2400m: firmware_check() encodes the firmware version in i2400m->fw_version Upcoming modifications will need to test for the running firmware version before activating a feature or not. This is helpful to implement backward compatibility with older firmware versions. Modify i2400m_firmware_check() to encode in i2400m->fw_version the major and minor version numbers of the firmware interface. As well, move the call to be done as the very first operation once we have communication with the device during probe() [in __i2400m_dev_start()]. This is needed so any operation that is executed afterwards can determine which fw version it is talking to. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit efa05d0f0a723642fd0d88bb97b0f31800a3f716 Author: Inaky Perez-Gonzalez Date: Sat Feb 28 23:42:48 2009 +0000 wimax/i2400m: drop support for deprecated major fw interface, add for new minor Firmware interface version 8.x.x has long been deprecated and is no longer supported (nor available, as it is a preproduction firmware), so it can be safely dropped. Add support for firmware interface v9.2.x (current is 9.1.x). Firmware version 9.2.x is backwards compatible with 9.1.x; new features are enabled if switches are pressed to turn them on. Forthcoming commits to the driver will start pressing those switches when the firmware interface supports it. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 1039abbc5b1bfa943b6daabbe9de1499037a90c0 Author: Inaky Perez-Gonzalez Date: Sat Feb 28 23:42:47 2009 +0000 wimax/i2400m: add the ability to fallback to other firmware files if the default is not there In order to support backwards compatibility with older firmwares when a driver is updated by a new kernel release, the i2400m bus drivers can declare a list of firmware files they can work with (in general these will be each a different version). The firmware loader will try them in sequence until one loads. Thus, if a user doesn't have the latest and greatest firmware that a newly installed kernel would require, the driver would fall back to the firmware from a previous release. To support this, the i2400m->bus_fw_name is changed to be a NULL terminated array firmware file names (and renamed to bus_fw_names) and we add a new entry (i2400m->fw_name) that points to the name of the firmware being currently used. All code that needs to print the firmware file name uses i2400m->fw_name instead of the old i2400m->bus_fw_name. The code in i2400m_dev_bootstrap() that loads the firmware is changed with an iterator over the firmware file name list that tries to load each form user space, using the first one that succeeds in request_firmware() (and thus stopping the iteration). The USB and SDIO bus drivers are updated to take advantage of this and reflect which firmwares they support. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 2fb6b2a048ed8fa3f049c7d42f7a2dd3f0c8d7a6 Author: Jeremy Fitzhardinge Date: Fri Feb 27 13:25:33 2009 -0800 x86: add forward decl for tss_struct Its the correct thing to do before using the struct in a prototype. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 389d1fb11e5f2a16b5e34c547756f0c4dec641f7 Author: Jeremy Fitzhardinge Date: Fri Feb 27 13:25:28 2009 -0800 x86: unify chunks of kernel/process*.c With x86-32 and -64 using the same mechanism for managing the tss io permissions bitmap, large chunks of process*.c are trivially unifyable, including: - exit_thread - flush_thread - __switch_to_xtra (along with tsc enable/disable) and as bonus pickups: - sys_fork - sys_vfork (Note: asmlinkage expands to empty on x86-64) Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit db949bba3c7cf2e664ac12e237c6d4c914f0c69d Author: Jeremy Fitzhardinge Date: Fri Feb 27 13:25:21 2009 -0800 x86-32: use non-lazy io bitmap context switching Impact: remove 32-bit optimization to prepare unification x86-32 and -64 differ in the way they context-switch tasks with io permission bitmaps. x86-64 simply copies the next tasks io bitmap into place (if any) on context switch. x86-32 invalidates the bitmap on context switch, so that the next IO instruction will fault; at that point it installs the appropriate IO bitmap. This makes context switching IO-bitmap-using tasks a bit more less expensive, at the cost of making the next IO instruction slower due to the extra fault. This tradeoff only makes sense if IO-bitmap-using processes are relatively common, but they don't actually use IO instructions very often. However, in a typical desktop system, the only process likely to be using IO bitmaps is the X server, and nothing at all on a server. Therefore the lazy context switch doesn't really win all that much, and its just a gratuitious difference from 64-bit code. This patch removes the lazy context switch, with a view to unifying this code in a later change. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 86739fb96e8c8269fc5b3d300c959bede272a6f6 Author: Gerrit Renker Date: Fri Feb 27 22:38:29 2009 +0000 dccp: Do not let initial option overhead shrink the MPS This fixes a problem caused by the overlap of the connection-setup and established-state phases of DCCP connections. During connection setup, the client retransmits Confirm Feature-Negotiation options until a response from the server signals that it can move from the half-established PARTOPEN into the OPEN state, whereupon the connection is fully established on both ends (RFC 4340, 8.1.5). However, since the client may already send data while it is in the PARTOPEN state, consequences arise for the Maximum Packet Size: the problem is that the initial option overhead is much higher than for the subsequent established phase, as it involves potentially many variable-length list-type options (server-priority options, RFC 4340, 6.4). Applying the standard MPS is insufficient here: especially with larger payloads this can lead to annoying, counter-intuitive EMSGSIZE errors. On the other hand, reducing the MPS available for the established phase by the added initial overhead is highly wasteful and inefficient. The solution chosen therefore is a two-phase strategy: If the payload length of the DataAck in PARTOPEN is too large, an Ack is sent to carry the options, and the feature-negotiation list is then flushed. This means that the server gets two Acks for one Response. If both Acks get lost, it is probably better to restart the connection anyway and devising yet another special-case does not seem worth the extra complexity. The result is a higher utilisation of the available packet space for the data transmission phase (established state) of a connection. The patch (over-)estimates the initial overhead to be 32*4 bytes -- commonly seen values were around 90 bytes for initial feature-negotiation options. It uses sizeof(u32) to mean "aligned units of 4 bytes". For consistency, another use of 4-byte alignment is adapted. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 361a5c1dd0bd7bb2b90e7fe9127b366d3566522e Author: Gerrit Renker Date: Fri Feb 27 22:38:28 2009 +0000 dccp: Minimise header option overhead in setting the MPS This patch resolves a long-standing FIXME to dynamically update the Maximum Packet Size depending on actual options usage. It uses the flags set by the feature-negotiation infrastructure to compute the required header option size. Most options are fixed-size, a notable exception are Ack Vectors (required currently only by CCID-2). These can have any length between 3 and 1020 bytes. As a result of testing, 16 bytes (2 bytes for type/length plus 14 Ack Vector cells) have been found to be sufficient for loss-free situations. There are currently no CCID-specific header options which may appear on data packets, thus it is not necessary to define a corresponding CCID field as suggested in the old comment. Further changes: ---------------- Adjusted the type of 'cur_mps' to match the unsigned return type of the function. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 3e8ebb5c433f016dff5824587436642d87fc2e6c Author: Kyle McMartin Date: Sun Mar 1 20:41:41 2009 -0500 debug_objects: add boot-parameter toggle to turn object debugging off again While trying to debug why my Atom netbook is falling over booting rawhide debug-enabled kernels, I stumbled across the fact that we've been enabling object debugging by default. However, once you default it to on, you've got no way to turn it back off again at runtime. Add a boolean toggle to turn it off. I would just make it an int module_param, however people may already expect the boolean enable behaviour, so just add an analogue for disabling. Signed-off-by: Kyle McMartin Signed-off-by: Ingo Molnar commit b67802ea8061393f7bd2d4db934646e76096027c Author: Wang Chen Date: Mon Mar 2 13:55:26 2009 +0800 sched: kill unused parameter of pick_next_task() Impact: micro-optimization Parameter "prev" is not used really. Signed-off-by: Wang Chen Signed-off-by: Ingo Molnar commit 72fd455ba54b5a02b9c74221b9ded8b1845b464a Author: Wang Chen Date: Mon Mar 2 13:55:14 2009 +0800 sched, documentation: remove old O(1) scheduler document Since we don't have O(1) scheduler implementation anymore, remove the legacy doc. Signed-off-by: Wang Chen Signed-off-by: Ingo Molnar commit 5512b3ece0cbb5024b83099963222700aa45f59e Merge: c40c6f8... 8325d9c... 54e9912... 778ef1e... Author: Ingo Molnar Date: Mon Mar 2 12:02:36 2009 +0100 Merge branches 'sched/clock', 'sched/urgent' and 'linus' into sched/core commit b6122b3843216f3f8e9624f9e876f4f0514f9205 Author: Jiri Slaby Date: Mon Mar 2 11:34:29 2009 +0100 x86_32: apic/numaq_32, fix section mismatch Remove __cpuinitdata section placement for translation_table structure, since it is referenced from a functions within .text. Signed-off-by: Jiri Slaby Cc: Jiri Slaby Signed-off-by: Ingo Molnar Cc: H. Peter Anvin commit 2fcb1f1f38e9b10ee5f339be4e17ba5cad9b4421 Author: Jiri Slaby Date: Mon Mar 2 11:34:28 2009 +0100 x86_32: apic/summit_32, fix section mismatch Remove __init section placement for some functions/data, so that we don't get section mismatch warnings. Also make inline function instead of empty setup_summit macro. [v2] One of them was not caught by DEBUG_SECTION_MISMATCH=y magic. Fix it. Signed-off-by: Jiri Slaby Cc: Jiri Slaby Signed-off-by: Ingo Molnar Cc: H. Peter Anvin commit 871d78c6d9fc83b2ad584788a175fcfca07a3666 Author: Jiri Slaby Date: Mon Mar 2 11:34:27 2009 +0100 x86_32: apic/es7000_32, fix section mismatch Remove __init section placement for some functions, so that we don't get section mismatch warnings. [v2]: 2 of them were not caught by DEBUG_SECTION_MISMATCH=y magic. Fix it. Signed-off-by: Jiri Slaby Cc: Jiri Slaby Signed-off-by: Ingo Molnar Cc: H. Peter Anvin commit 9ce01461028d595a6f1cd724fbd7a0dd70464fe4 Author: Ilpo Järvinen Date: Sat Feb 28 04:44:42 2009 +0000 tcp: get rid of two unnecessary u16s in TCP skb flags copying I guess these fields were one day 16-bit in the struct but nowadays they're just using 8 bits anyway. This is just a precaution, didn't result any change in my case but who knows what all those varying gcc versions & options do. I've been told that 16-bit is not so nice with some cpus. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0d6a775e27d975e5f9ea8e2911216d84face50ca Author: Ilpo Järvinen Date: Sat Feb 28 04:44:41 2009 +0000 tcp: in sendmsg/pages open code the real goto target copied was assigned zero right before the goto, so if (copied) cannot ever be true. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cabeccbd172cc305f4383f5a4808ae254745275f Author: Ilpo Järvinen Date: Sat Feb 28 04:44:38 2009 +0000 tcp: kill eff_sacks "cache", the sole user can calculate itself Also fixes insignificant bug that would cause sending of stale SACK block (would occur in some corner cases). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 758ce5c8d11d6fc57fe5f1dbc237aa8ff6386eac Author: Ilpo Järvinen Date: Sat Feb 28 04:44:37 2009 +0000 tcp: add helper for AI algorithm It seems that implementation in yeah was inconsistent to what other did as it would increase cwnd one ack earlier than the others do. Size benefits: bictcp_cong_avoid | -36 tcp_cong_avoid_ai | +52 bictcp_cong_avoid | -34 tcp_scalable_cong_avoid | -36 tcp_veno_cong_avoid | -12 tcp_yeah_cong_avoid | -38 = -104 bytes total Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 571a5dd8d01f2a7e279c502fa220a69262d73694 Author: Ilpo Järvinen Date: Sat Feb 28 04:44:36 2009 +0000 htcp: merge icsk_ca_state compare Similar to what is done elsewhere in TCP code when double state checks are being done. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e6c7d0857905f1d642cb8dbadae6794bfa1dff30 Author: Ilpo Järvinen Date: Sat Feb 28 04:44:35 2009 +0000 tcp: drop unnecessary local var in collapse Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit bc079e9ede5fb0225bd3e84891a6266f77142094 Author: Ilpo Järvinen Date: Sat Feb 28 04:44:34 2009 +0000 tcp: cleanup ca_state mess in tcp_timer Redundant checks made indentation impossible to follow. However, it might be useful to make this ca_state+is_sack indexed array. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7363a5b233734dba339f2874ff6ed6c489d3d865 Author: Ilpo Järvinen Date: Sat Feb 28 04:44:33 2009 +0000 tcp: separate timeout marking loop to it's own function Some comment about its current state added. So far I have seen very few cases where the thing is actually useful, usually just marginally (though admittedly I don't usually see top of window losses where it seems possible that there could be some gain), instead, more often the cases suffer from L-marking spike which is certainly not desirable (I'll bury improving it to my todo list, but on a low prio position). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d0af4160d19ff2849386140881e729f9ba86f2aa Author: Ilpo Järvinen Date: Sat Feb 28 04:44:32 2009 +0000 tcp: remove redundant code from tcp_mark_lost_retrans Arnd Hannemann noticed and was puzzled by the fact that !tcp_is_fack(tp) leads to early return near the beginning and the later on tcp_is_fack(tp) was still used in an if condition. The later check was a left-over from RFC3517 SACK stuff (== !tcp_is_fack(tp) behavior nowadays) as there wasn't clear way how to handle this particular check cheaply in the spirit of RFC3517 (using only SACK blocks, not holes + SACK blocks as with FACK). I sort of left it there as a reminder but since it's confusing other people just remove it and comment the missing-feature stuff instead. Signed-off-by: Ilpo Järvinen Cc: Arnd Hannemann Signed-off-by: David S. Miller commit 02276f3c962fd408fa9d441251067845f948bfcf Author: Ilpo Järvinen Date: Sat Feb 28 04:44:31 2009 +0000 tcp: fix corner case issue in segmentation during rexmitting If cur_mss grew very recently so that the previously G/TSOed skb now fits well into a single segment it would get send up in parts unless we calculate # of segments again. This corner-case could happen eg. after mtu probe completes or less than previously sack blocks are required for the opposite direction. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d3d2ae454501a4dec360995649e1b002a2ad90c5 Author: Ilpo Järvinen Date: Sat Feb 28 04:44:30 2009 +0000 tcp: Don't clear hints when tcp_fragmenting 1) We didn't remove any skbs, so no need to handle stale refs. 2) scoreboard_skb_hint is trivial, no timestamps were changed so no need to clear that one 3) lost_skb_hint needs tweaking similar to that of tcp_sacktag_one(). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 62ad27619cbcf23fb8581ae72f3806c1d90a861d Author: Ilpo Järvinen Date: Sat Feb 28 04:44:29 2009 +0000 tcp: deferring in middle of queue makes very little sense If skb can be sent right away, we certainly should do that if it's in the middle of the queue because it won't get more data into it. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 59a08cba6a604a265e45e9b970e372554cf46627 Author: Ilpo Järvinen Date: Sat Feb 28 04:44:28 2009 +0000 tcp: fix lost_cnt_hint miscounts It is possible that lost_cnt_hint gets underflow in tcp_clean_rtx_queue because the cumulative ACK can cover the segment where lost_skb_hint points to only partially, which means that the hint is not cleared, opposite to what my (earlier) comment claimed. Also I don't agree what I ended up writing about non-trivial case there to be what I intented to say. It was not supposed to happen that the hint won't get cleared and we underflow in any scenario. In general, this is quite hard to trigger in practice. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ac11ba753f3aa839292c1a3b6c971c637ad2e839 Author: Ilpo Järvinen Date: Sat Feb 28 04:44:27 2009 +0000 tcp: don't backtrack to sacked skbs Backtracking to sacked skbs is a horrible performance killer since the hint cannot be advanced successfully past them... ...And it's totally unnecessary too. In theory this is 2.6.27..28 regression but I doubt anybody can make .28 to have worse performance because of other TCP improvements. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit fae176d6e03578fee7cfe948ff9ae81bf7ea0ef0 Author: Jiri Slaby Date: Mon Mar 2 10:53:58 2009 +0100 x86_32: apic/summit_32, fix cpu_mask_to_apicid Perform same-cluster checking even for masks with all (nr_cpu_ids) bits set and report correct apicid on success instead. While at it, convert it to for_each_cpu and newer cpumask api. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 0edc0b324a37c4bf9e13f3194f2f45c677808792 Author: Jiri Slaby Date: Mon Mar 2 10:53:57 2009 +0100 x86_32: apic/es7000_32, fix cpu_mask_to_apicid Perform same-cluster checking even for masks with all (nr_cpu_ids) bits set and report BAD_APICID on failure. While at it, convert it to for_each_cpu. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit c2b20cbd057b97e2f440fa3bc90b3df51de324fe Author: Jiri Slaby Date: Mon Mar 2 10:53:56 2009 +0100 x86_32: apic/es7000_32, cpu_mask_to_apicid cleanup Remove es7000_cpu_mask_to_apicid_cluster completely, because it's almost the same as es7000_cpu_mask_to_apicid except 2 code paths. One of them is about to be removed soon, the another should be BAD_APICID (it's a fail path). The _cluster one was not invoked on apic->cpu_mask_to_apicid_and anyway, since there was no _cluster_and variant. Also use newer cpumask functions. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 9694cd6c17582cd6c29bf4a4e4aa767862ff4f4c Author: Jiri Slaby Date: Mon Mar 2 10:53:55 2009 +0100 x86_32: apic/bigsmp_32, de-inline functions The ones which go only into struct apic are de-inlined by compiler anyway, so remove the inline specifier from them. Afterwards, remove bigsmp_setup_portio_remap completely as it is unused. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit f180053694b43d5714bf56cb95499a3c32ff155c Author: Ingo Molnar Date: Mon Mar 2 11:00:57 2009 +0100 x86, mm: dont use non-temporal stores in pagecache accesses Impact: standardize IO on cached ops On modern CPUs it is almost always a bad idea to use non-temporal stores, as the regression in this commit has shown it: 30d697f: x86: fix performance regression in write() syscall The kernel simply has no good information about whether using non-temporal stores is a good idea or not - and trying to add heuristics only increases complexity and inserts fragility. The regression on cached write()s took very long to be found - over two years. So dont take any chances and let the hardware decide how it makes use of its caches. The only exception is drivers/gpu/drm/i915/i915_gem.c: there were we are absolutely sure that another entity (the GPU) will pick up the dirty data immediately and that the CPU will not touch that data before the GPU will. Also, keep the _nocache() primitives to make it easier for people to experiment with these details. There may be more clear-cut cases where non-cached copies can be used, outside of filemap.c. Cc: Salman Qazi Cc: Nick Piggin Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 79cb5def8dcad1a978841118bd14e155b3fd5589 Author: Guo-Fu Tseng Date: Mon Mar 2 01:55:15 2009 -0800 jme: Advance version number after previous changes From: Guo-Fu Tseng Advance version number after previous changes. Sorry for not come along with previous patch series. Signed-off-by: David S. Miller commit 093fb6968deeed46bf93266eee44baeb213bf253 Author: David S. Miller Date: Mon Mar 2 01:53:03 2009 -0800 typhoon: Add missing firmware copy. Noticed by David Dillow. Signed-off-by: David S. Miller commit c3b3240450ab8a1f3e52c5a69d53113deb6f91c5 Author: David S. Miller Date: Mon Mar 2 01:49:28 2009 -0800 rds: Fix build on powerpc. As reported by Stephen Rothwell. > Today's linux-next build (powerpc allyesconfig) failed like this: > > net/rds/cong.c: In function 'rds_cong_set_bit': > net/rds/cong.c:284: error: implicit declaration of function 'generic___set_le_bit' > net/rds/cong.c: In function 'rds_cong_clear_bit': > net/rds/cong.c:298: error: implicit declaration of function 'generic___clear_le_bit' > net/rds/cong.c: In function 'rds_cong_test_bit': > net/rds/cong.c:309: error: implicit declaration of function 'generic_test_le_bit' Signed-off-by: David S. Miller commit 6e655bf21697d2594243098a14e0699e8d4a4059 Author: Takashi Iwai Date: Mon Mar 2 10:46:03 2009 +0100 ALSA: hda - Don't return a fatal error at PCM-creation errors Don't return a fatal error to the driver but continue to probe when any error occurs at creating PCM streams for each codec. It's often non-fatal and keeping it would help debugging. Signed-off-by: Takashi Iwai commit f93d461bcde6ac3db542361c00a7e4167f88176d Author: Takashi Iwai Date: Mon Mar 2 10:44:15 2009 +0100 ALSA: hda - Revert the codec probe at control-creation errors Revert the codec probe instead of returning the error to the driver when any error occurs at creating the control elements. The control element conflict can be non-fatal in many cases, especially if it comes from the digital-only codec. Signed-off-by: Takashi Iwai commit d1f1af2dbf8207db590853a59bec465c4f68cfdc Author: Takashi Iwai Date: Mon Mar 2 10:35:29 2009 +0100 ALSA: hda - Intialize more codec fields in snd_hda_codec_reset() Initiailize forgotten fields in snd_hda_codec_reset(). Signed-off-by: Takashi Iwai commit 4c4531d64dd0442813c7307b860bf40a2aec51bc Author: Takashi Iwai Date: Mon Mar 2 08:06:11 2009 +0100 ALSA: hda - Remove Toshiba probe_mask quirk Revert the Toshiba probe_mask quirk for 2.6.29 kernel (commit 38f1df27e3191d76e983cb9c6b4392582fd32fda). In the current tree, the digital-only codec is handled properly so no codec conflict should occur. Signed-off-by: Takashi Iwai commit 892981ffbe9a5c4cbc9d75f423b145f32c765f9c Author: Takashi Iwai Date: Mon Mar 2 08:04:35 2009 +0100 ALSA: hda - Don't create a beep control for digital-only ALC268 When an ALC268 codec is set up as the digital-only (as found in Toshiba laptops), it shouldn't contain any beep control that conflict with the primary codec. Signed-off-by: Takashi Iwai commit b31b43e9fb49b71ae753bebc185fe55797ba20c6 Merge: c82c8ab... 38f1df2... Author: Takashi Iwai Date: Mon Mar 2 08:04:10 2009 +0100 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/hda_intel.c commit aa4abc9bcce0d2a7ec189e897f8f8c58ca04643b Merge: 814c01d... 52c0326... Author: David S. Miller Date: Sun Mar 1 21:35:16 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-tx.c net/8021q/vlan_core.c net/core/dev.c commit 814c01dc7c533033b4e99981a2e24a6195bfb43c Author: Guo-Fu Tseng Date: Fri Feb 27 17:59:44 2009 +0000 jme: Adding {64,40}bits DMA mask back All JMC250 chips have no problem with higher bits support. Adding it back. Found-by: Ethan Hsiao Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit eb352b838d42e66f0267c40249798ffda3c63037 Author: Guo-Fu Tseng Date: Fri Feb 27 17:58:16 2009 +0000 jme: Clear all modified GHC register flags Clear all modified GHC register flags. Fixed-by: Ethan Hsiao Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 7f7fd2da92b4ce20f55d3b7615089cf8e04cfffc Author: Guo-Fu Tseng Date: Fri Feb 27 17:57:01 2009 +0000 jme: Fix pci sync We should sync ring descriptor to pci device after modifying it. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 07c8d2aad7db8c649a49a22f713f83e6f24b8edd Author: Guo-Fu Tseng Date: Fri Feb 27 17:54:07 2009 +0000 jme: Modifies messages to display correct hardware version This patch modifies messages to display correct hardware version. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit fc1f209514691af9167e462880e858efc8b22d83 Author: David S. Miller Date: Sun Mar 1 20:32:39 2009 -0800 ixgbe: Fix some compiler warnings. 'pap' is never used in ixgbe_dcb_hw_config_82599() and 'eec' in ixgbe_acquire_eeptom() is only used when status == 0 but GCC has some trouble seeing that. Signed-off-by: David S. Miller commit d517c4a1da590a7fa50325a5e5cd18f07e8fb5a7 Author: David S. Miller Date: Sun Mar 1 20:24:32 2009 -0800 typhoon: Need non-vmalloc memory to DMA firmware to the card. request_firmware() gives vmalloc'd memory, which is not suitable for pci_map_single() and friends. Use a kmalloc()'d copy of the firmware for this DMA operation. Signed-off-by: David S. Miller commit 645af4e9e0e32481e3336dda813688732c7e5f0f Merge: ecc25fb... 55f2b78... Author: Ingo Molnar Date: Sun Mar 1 12:48:28 2009 +0100 Merge branch 'x86/pat' into x86/core commit 55f2b78995826d549401bdf20abeac1832636bb6 Merge: f5c1aa1... 92b9af9... Author: Ingo Molnar Date: Sun Mar 1 12:47:58 2009 +0100 Merge branch 'x86/urgent' into x86/pat commit f5c1aa1537be39d8b9bb5279b5881d81898fd3cd Author: Ingo Molnar Date: Sun Mar 1 12:32:08 2009 +0100 Revert "gpu/drm, x86, PAT: PAT support for io_mapping_*" This reverts commit 17581ad812a9abb0182260374ef2e52d4a808a64. Sitsofe Wheeler reported that /dev/dri/card0 is MIA on his EeePC 900 and bisected it to this commit. Graphics card is an i915 in an EeePC 900: 00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller [8086:2592] (rev 04) ( Most likely the ioremap() of the driver failed and hence the card did not initialize. ) Reported-by: Sitsofe Wheeler Bisected-by: Sitsofe Wheeler Cc: Venkatesh Pallipadi Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit e8e26350f114fa212e277ea02332d9347c59865d Author: PJ Waskiewicz Date: Fri Feb 27 15:45:05 2009 +0000 ixgbe: Add 82599 device id's, hook it up into the main driver. With the hardware-specific code in place, add all supported device id's, along with base driver changes to enable 82599 devices. The devices being enabled are: 8086:10f7: 82599EB 10 Gigabit KX4 Network Connection 8086:10fb: 82599EB 10 Gigabit Network Connection The device 8086:10fb is a fully-pluggable SFP+ NIC. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 235ea828a1640ed493562a5fe08aa666ff84fbc4 Author: PJ Waskiewicz Date: Fri Feb 27 15:44:48 2009 +0000 ixgbe: Add DCB for 82599, remove BCN support This patch adds the DCB (Data Center Bridging) support for 82599 hardware. This is similar to how the 82598 DCB code works. This patch also removes the BCN (Backwards Congestion Notification) netlink configuration code from the driver. BCN was a pre-standard congestion notification framework, and was not what the IEEE body decided upon for standard congestion management. QCN (802.1Qau), Quantized Congestion Notification is the accepted standard, which is not supported by 82599, hence we remove the support altogether. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 11afc1b1fd802c11dc0fa986c210602c177f1e21 Author: PJ Waskiewicz Date: Fri Feb 27 15:44:30 2009 +0000 ixgbe: Add hardware specific initialization code for 82599 devices This patch adds the hardware initialization code specific to 82599. This is similar to the 82598 hardware initialization code. It also includes all changes to the existing hardware init code to support 82599. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d0c4f570276cb4d2dc4215b90eb7cb6e2bdd4a15 Author: Tejun Heo Date: Sun Mar 1 16:06:56 2009 +0900 bootmem, x86: further fixes for arch-specific bootmem wrapping Impact: fix new breakages introduced by previous fix Commit c132937556f56ee4b831ef4b23f1846e05fde102 tried to clean up bootmem arch wrapper but it wasn't quite correct. Before the commit, the followings were broken. * Low level interface functions prefixed with __ ignored arch preference. * reserve_bootmem(...) can't be mapped into reserve_bootmem_node(NODE_DATA(0)->bdata, ...) because the node is not preference here. The region specified MUST fall into the specified region; otherwise, it will panic. After the commit, * If allocation fails for the arch preferred node, it should fallback to whatever is available. Instead, it simply failed allocation. There are too many internal details to allow generic wrapping and still keep things simple for archs. Plus, all that arch wants is a way to prefer certain node over another. This patch drops the generic wrapping around alloc_bootmem_core() and add alloc_bootmem_core() instead. If necessary, arch can define bootmem_arch_referred_node() macro or function which takes all allocation information and returns the preferred node. bootmem generic code will always try the preferred node first and then fallback to other nodes as usual. Breakages noted and changes reviewed by Johannes Weiner. Signed-off-by: Tejun Heo Acked-by: Johannes Weiner commit af6326d72c95d6e0bbc88c92185c654f57acef3b Author: Tejun Heo Date: Sun Mar 1 16:03:16 2009 +0900 alpha: fix typo in recent early vmalloc change Impact: fix build Add missing 'o' in variable name. Compile tested. Signed-off-by: Tejun Heo Reported-by: Ingo Molnar Cc: Ivan Kokshaysky commit 02d51fdfb2bfcf6bbd776f983177f55868aa0a79 Author: Tejun Heo Date: Sun Mar 1 15:42:36 2009 +0900 percpu: kill compile warning in pcpu_populate_chunk() Impact: remove compile warning Mark local variable map_end in pcpu_populate_chunk() with uninitialized_var(). The variable is always used in tandem with map_start and guaranteed to be initialized before use but gcc doesn't understand that. Signed-off-by: Tejun Heo Reported-by: Ingo Molnar commit 8010dc306ba39a8cdb3993d1e809fcb7dfdf089a Merge: 5d242f1... 2a07954... Author: David S. Miller Date: Sat Feb 28 22:32:16 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 327f4387e39cf7bfe79a673e56dbf5479db3fec9 Author: Jaswinder Singh Rajput Date: Sat Feb 28 18:50:21 2009 +0530 x86: remove double copy of show_cpuinfo_core for 32 and 64 bit Impact: unification show_cpuinfo_core is identical for 32 and 64 bit and can be unified, and CONFIG_X86_HT inherently depends on CONFIG_X86_SMP. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit afc32f7ee9febc020c73da61402351d4c90437f3 Author: Theodore Ts'o Date: Sat Feb 28 19:39:58 2009 -0500 ext4: Track lifetime disk writes Add a new superblock value which tracks the lifetime amount of writes to the filesystem. This is useful in estimating the amount of wear on solid state drives (SSD's) caused by writes to the filesystem. Signed-off-by: "Theodore Ts'o" commit d6014301b5599fba395c42a1e96a7fe86f7d0b2d Author: Aneesh Kumar K.V Date: Fri Mar 27 22:36:43 2009 -0400 ext4: Fix discard of inode prealloc space with delayed allocation. With delayed allocation we should not/cannot discard inode prealloc space during file close. We would still have dirty pages for which we haven't allocated blocks yet. With this fix after each get_blocks request we check whether we have zero reserved blocks and if yes and we don't have any writers on the file we discard inode prealloc space. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 8b37dbd2a180667e51db0552383df18743239c25 Author: Mark Brown Date: Sat Feb 28 21:14:20 2009 +0000 ASoC: Add SND_SOC_DAPM_PIN_SWITCH controls for exposing DAPM pins On some systems it is desirable for control for DAPM pins to be provided to user space. This is the case with things like GSM modems which are controlled primarily from user space, for example. Provide a helper which exposes the state of a DAPM pin to user space for use in cases like this. Signed-off-by: Mark Brown commit 4eae080dda3a563160be2f642cfbda27ffc42178 Author: Daniel Mack Date: Wed Feb 25 14:37:21 2009 +0100 ASoC: Add cs4270 support for slave mode configurations Added support for scenarios where the Cirrus CS4270 audio codec is slave to the bitclk and lrclk. Mixed setups are unsupported. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit c8efef1745d168b80c800e98cce48a59630dbbfc Author: Ben Dooks Date: Sat Feb 28 17:09:57 2009 +0000 ASoC: Fix copyright statements on Simtec files Fix the copyright statements in two of the S3C24XX ASoC files that have (c) when we require the full word. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit acdb2c287916ce247c09d460266370af45da55c5 Merge: e9abf4c... f2034f1... Author: Ingo Molnar Date: Sat Feb 28 10:15:58 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit f2034f1e1adaac6713a6d48b5a2d4f3aa3e63ccb Author: Steven Rostedt Date: Sat Feb 28 02:54:39 2009 -0500 tracing: create the C style tracing for the irq subsystem This patch utilizes the TRACE_EVENT_FORMAT macro to enable the C style faster tracing for the irq subsystem trace points. Signed-off-by: Steven Rostedt commit 629928041c53771f9902753d50fef6b35f36d33d Author: Steven Rostedt Date: Sat Feb 28 02:47:59 2009 -0500 tracing: create the C style tracing for the sched subsystem This patch utilizes the TRACE_EVENT_FORMAT macro to enable the C style faster tracing for the sched subsystem trace points. Signed-off-by: Steven Rostedt commit fd99498989f3b3feeab89dcadf537138ba136d24 Author: Steven Rostedt Date: Sat Feb 28 02:41:25 2009 -0500 tracing: add raw fast tracing interface for trace events This patch adds the interface to enable the C style trace points. In the directory /debugfs/tracing/events/subsystem/event We now have three files: enable : values 0 or 1 to enable or disable the trace event. available_types: values 'raw' and 'printf' which indicate the tracing types available for the trace point. If a developer does not use the TRACE_EVENT_FORMAT macro and just uses the TRACE_FORMAT macro, then only 'printf' will be available. This file is read only. type: values 'raw' or 'printf'. This indicates which type of tracing is active for that trace point. 'printf' is the default and if 'raw' is not available, this file is read only. # echo raw > /debug/tracing/events/sched/sched_wakeup/type # echo 1 > /debug/tracing/events/sched/sched_wakeup/enable Will enable the C style tracing for the sched_wakeup trace point. Signed-off-by: Steven Rostedt commit 1fae0279ce4811fa123001515d1ed3d68c1d557f Author: Hiroshi Shimamoto Date: Fri Feb 27 10:30:32 2009 -0800 x86: signal: introduce helper align_sigframe() Impact: cleanup Introduce helper align_sigframe() to align stack pointer for signal frame. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 75779f05264b9968d7ae7ecb4ca5127b08785692 Author: Hiroshi Shimamoto Date: Fri Feb 27 10:29:57 2009 -0800 x86: signal: unify get_sigframe() Impact: cleanup Unify get_sigframe(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 36a4526583ad61fe7cb7432f53bce52ea198813a Author: Hiroshi Shimamoto Date: Fri Feb 27 10:29:09 2009 -0800 x86: signal: use 16 bytes boundary for rt_sigframe Impact: cleanup Supporting xsave/xrestore introduces 64 bytes boundary for save_i387_xstate(). 16 bytes boundary is OK for rt_sigframe. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 97286a2b64725aac2d584ddd1f94871f9991d5a1 Author: Hiroshi Shimamoto Date: Fri Feb 27 10:28:48 2009 -0800 x86: signal: intrroduce get_sigframe() and replace get_sigstack() Impact: cleanup Introduce get_sigframe() like 32-bit to replace get_sigstack(). Move the i387 stuff into get_sigframe(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 144b0712dd9dd9ebd4e80c4e5388c9f6afc2b497 Author: Hiroshi Shimamoto Date: Fri Feb 27 10:27:04 2009 -0800 x86: signal: add __user annotation Impact: cleanup Add missing __user annotation to the parameter of get_sigframe(). Also change cast type to void __user * of *fpstate. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit c32e827b25054cb17b79cf97fb5e63ae4ce2223c Author: Steven Rostedt Date: Fri Feb 27 19:12:30 2009 -0500 tracing: add raw trace point recording infrastructure Impact: lower overhead tracing The current event tracer can automatically pick up trace points that are registered with the TRACE_FORMAT macro. But it required a printf format string and parsing. Although, this adds the ability to get guaranteed information like task names and such, it took a hit in overhead processing. This processing can add about 500-1000 nanoseconds overhead, but in some cases that too is considered too much and we want to shave off as much from this overhead as possible. Tom Zanussi recently posted tracing patches to lkml that are based on a nice idea about capturing the data via C structs using STRUCT_ENTER, STRUCT_EXIT type of macros. I liked that method very much, but did not like the implementation that required a developer to add data/code in several disjoint locations. This patch extends the event_tracer macros to do a similar "raw C" approach that Tom Zanussi did. But instead of having the developers needing to tweak a bunch of code all over the place, they can do it all in one macro - preferably placed near the code that it is tracing. That makes it much more likely that tracepoints will be maintained on an ongoing basis by the code they modify. The new macro TRACE_EVENT_FORMAT is created for this approach. (Note, a developer may still utilize the more low level DECLARE_TRACE macros if they don't care about getting their traces automatically in the event tracer.) They can also use the existing TRACE_FORMAT if they don't need to code the tracepoint in C, but just want to use the convenience of printf. So if the developer wants to "hardwire" a tracepoint in the fastest possible way, and wants to acquire their data via a user space utility in a raw binary format, or wants to see it in the trace output but not sacrifice any performance, then they can implement the faster but more complex TRACE_EVENT_FORMAT macro. Here's what usage looks like: TRACE_EVENT_FORMAT(name, TPPROTO(proto), TPARGS(args), TPFMT(fmt, fmt_args), TRACE_STUCT( TRACE_FIELD(type1, item1, assign1) TRACE_FIELD(type2, item2, assign2) [...] ), TPRAWFMT(raw_fmt) ); Note name, proto, args, and fmt, are all identical to what TRACE_FORMAT uses. name: is the unique identifier of the trace point proto: The proto type that the trace point uses args: the args in the proto type fmt: printf format to use with the event printf tracer fmt_args: the printf argments to match fmt TRACE_STRUCT starts the ability to create a structure. Each item in the structure is defined with a TRACE_FIELD TRACE_FIELD(type, item, assign) type: the C type of item. item: the name of the item in the stucture assign: what to assign the item in the trace point callback raw_fmt is a way to pretty print the struct. It must match the order of the items are added in TRACE_STUCT An example of this would be: TRACE_EVENT_FORMAT(sched_wakeup, TPPROTO(struct rq *rq, struct task_struct *p, int success), TPARGS(rq, p, success), TPFMT("task %s:%d %s", p->comm, p->pid, success?"succeeded":"failed"), TRACE_STRUCT( TRACE_FIELD(pid_t, pid, p->pid) TRACE_FIELD(int, success, success) ), TPRAWFMT("task %d success=%d") ); This creates us a unique struct of: struct { pid_t pid; int success; }; And the way the call back would assign these values would be: entry->pid = p->pid; entry->success = success; The nice part about this is that the creation of the assignent is done via macro magic in the event tracer. Once the TRACE_EVENT_FORMAT is created, the developer will then have a faster method to record into the ring buffer. They do not need to worry about the tracer itself. The developer would only need to touch the files in include/trace/*.h Again, I would like to give special thanks to Tom Zanussi for this nice idea. Idea-from: Tom Zanussi Signed-off-by: Steven Rostedt commit ef5580d0fffce6e0a01043bac0625128b5d409a7 Author: Steven Rostedt Date: Fri Feb 27 19:38:04 2009 -0500 tracing: add interface to write into current tracer buffer Right now all tracers must manage their own trace buffers. This was to enforce tracers to be independent in case we finally decide to allow each tracer to have their own trace buffer. But now we are adding event tracing that writes to the current tracer's buffer. This adds an interface to allow events to write to the current tracer buffer without having to manage its own. Since event tracing has no "tracer", and is just a way to hook into any other tracer. Signed-off-by: Steven Rostedt commit 3d7ba938da8481b4f7f9ed3d943dbae49389b284 Author: Steven Rostedt Date: Fri Feb 27 23:45:52 2009 -0500 tracing: add subsystem sched for sched events Add the TRACE_SYSTEM sched for the sched events. Signed-off-by: Steven Rostedt commit 0ec2ef1505b3e1f54b07bf64f184c92859c3e13f Author: Steven Rostedt Date: Fri Feb 27 23:41:43 2009 -0500 tracing: add subsystem irq for irq events Add the TRACE_SYSTEM irq for the irq events. Signed-off-by: Steven Rostedt commit b628b3e629b1436710e59a21cc020fbb04a52ce1 Author: Steven Rostedt Date: Fri Feb 27 23:32:58 2009 -0500 tracing: make the set_event and available_events subsystem aware This patch makes the event files, set_event and available_events aware of the subsystem. Now you can enable an entire subsystem with: echo 'irq:*' > set_event Note: the '*' is not needed. Signed-off-by: Steven Rostedt commit e9abf4c59d75cd71f118764376d037a677f573d0 Merge: da74ff0... 0cfe824... Author: Ingo Molnar Date: Sat Feb 28 09:03:58 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 4387d6d6b8a74722bf1f6fc3e29dd2a84cc1d1c2 Merge: f701d35... da74ff0... Author: Ingo Molnar Date: Sat Feb 28 09:02:49 2009 +0100 Merge branch 'tracing/ftrace' into tracing/core commit 6ecc2d1ca39177edb6fbdb7412948b0e9f409d02 Author: Steven Rostedt Date: Fri Feb 27 21:33:02 2009 -0500 tracing: add subsystem level to trace events If a trace point header defines TRACE_SYSTEM, then it will add the following trace points into that event system. If include/trace/irq_event_types.h has: #define TRACE_SYSTEM irq at the top and #undef TRACE_SYSTEM at the bottom, then a directory "irq" will be created in the /debug/tracing/events directory. Inside that directory will contain the two trace points that are defined in include/trace/irq_event_types.h. Only adding the above to irq and not to sched, we get: # ls /debug/tracing/events/ irq sched_process_exit sched_signal_send sched_wakeup_new sched_kthread_stop sched_process_fork sched_switch sched_kthread_stop_ret sched_process_free sched_wait_task sched_migrate_task sched_process_wait sched_wakeup # ls /debug/tracing/events/irq irq_handler_entry irq_handler_exit If we add #define TRACE_SYSTEM sched to the trace/sched_event_types.h then the rest of the trace events will be put in a sched directory within the events directory. I've been playing with this idea of the subsystem for a while, but recently Tom Zanussi posted some patches to lkml that included this method. Tom's approach was clean and got me to finally put some effort to clean up the event trace points. Thanks to Tom Zanussi for demonstrating how nice the subsystem method is. Signed-off-by: Steven Rostedt commit eb594e45f6979cd10b18d87f7b3f02119e00a108 Author: Steven Rostedt Date: Fri Feb 27 17:36:06 2009 -0500 tracing: move trace point formats to files in include/trace directory Impact: clean up To further facilitate the ease of adding trace points for developers, this patch creates include/trace/trace_events.h and include/trace/trace_event_types.h. The former file will hold the trace/.h files and the latter will hold the trace/_event_types.h files. To create new tracepoints and to have them automatically appear in the event tracer, a developer makes the trace/.h file which includes and the trace/_event_types.h file. The trace/_event_types.h file will hold the TRACE_FORMAT macros. Then add the trace/.h file to trace/trace_events.h, and add the trace/_event_types.h to the trace_event_types.h file. No need to modify files elsewhere. Signed-off-by: Steven Rostedt commit c577b098f9bf467fb05dc279ba83604cb3f7cea0 Author: Gustavo F. Padovan Date: Sun Feb 15 21:48:59 2009 -0300 x86, fixmap: unify fixmap.h Impact: unification This patch unify fixmap_32.h and fixmap_64.h into fixmap.h. Things that we can't merge now are using CONFIG_X86_{32,64} (e.g.:vsyscall and EFI) Signed-off-by: Gustavo F. Padovan Acked-by: Glauber Costa Signed-off-by: H. Peter Anvin commit c78f322ce8cea6052bc99513b57283d4d325a13e Author: Gustavo F. Padovan Date: Sun Feb 15 21:48:58 2009 -0300 x86, fixmap: prepare fixmap_32.h for unification Impact: cleanup Just prepare fixmap for later mechanic unification. No real modification on code. text data bss dec hex filename 3831152 353188 372736 4557076 458914 vmlinux-32.after 3831152 353188 372736 4557076 458914 vmlinux-32.before Signed-off-by: Gustavo F. Padovan Acked-by: Glauber Costa Signed-off-by: H. Peter Anvin commit e365bcd9214db993436de7bc915b76ab8402045f Author: Gustavo F. Padovan Date: Sun Feb 15 21:48:57 2009 -0300 x86, fixmap: prepare fixmap_64.h for unification Impact: cleanup Just prepare fixmap for later mechanic unification. No real modification on code. text data bss dec hex filename 4312362 527192 421924 5261478 5048a6 vmlinux-64.after 4312362 527192 421924 5261478 5048a6 vmlinux-64.before Signed-off-by: Gustavo F. Padovan Acked-by: Glauber Costa Signed-off-by: H. Peter Anvin commit 5f403fa9de5b3bb1309ec5f72b1e52e5b51321d4 Author: Gustavo F. Padovan Date: Sun Feb 15 21:48:56 2009 -0300 x86, fixmap: add CONFIG_EFI Impact: new fixmap allocation FIX_EFI_IO_MAP_FIRST_PAGE is used only when EFI is enabled. Signed-off-by: Gustavo F. Padovan Acked-by: Glauber Costa Signed-off-by: H. Peter Anvin commit 2ae38daf25204b7c3725e053052f77469eff62cf Author: Gustavo F. Padovan Date: Sun Feb 15 21:48:55 2009 -0300 x86, fixmap: add CONFIG_X86_{LOCAL,IO}_APIC Impact: New fixmap allocations Add CONFIG_X86_{LOCAL,IO}_APIC to enum fixed_address. FIX_APIC_BASE is used only when CONFIG_X86_LOCAL_APIC is enabled and FIX_IO_APIC_BASE_* are used only when CONFIG_X86_IO_APIC is enabled. Signed-off-by: Gustavo F. Padovan Acked-by: Glauber Costa Signed-off-by: H. Peter Anvin commit fd862dde18c3e360f510780e1d1bf615866b11c2 Author: Gustavo F. Padovan Date: Sun Feb 15 21:48:54 2009 -0300 x86, fixmap: define reserve_top_address for x86_64 Impact: new interface (not yet use) Define reserve_top_address for x86_64; only for later x86 integration. Signed-off-by: Gustavo F. Padovan Acked-by: Glauber Costa Signed-off-by: H. Peter Anvin commit ab93e3c45dbac66c2e8e24fd560c052a3907903e Author: Gustavo F. Padovan Date: Sun Feb 15 21:48:53 2009 -0300 x86, fixmap: define FIXADDR_BOOT_* and redefine FIX_ADDR_SIZE Impact: new interface, not yet used Now, with these macros, x86_64 code can know where start the permanent and non-permanent fixed mapped address. This patch make these macros equal fixmap_32.h for future x86 integration. Signed-off-by: Gustavo F. Padovan Acked-by: Glauber Costa Signed-off-by: H. Peter Anvin commit d09375a9ec80d8bae06196bb247460e0829d884c Author: Gustavo F. Padovan Date: Sun Feb 15 21:48:52 2009 -0300 x86, fixmap: rename __FIXADDR_SIZE and __FIXADDR_BOOT_SIZE Impact: rename Rename __FIXADDR_SIZE to FIXADDR_SIZE and __FIXADDR_BOOT_SIZE to FIXADDR_BOOT_SIZE. Signed-off-by: Gustavo F. Padovan Acked-by: Glauber Costa Signed-off-by: H. Peter Anvin commit d9620a4c82c61a91c9313f80ba951c902573c028 Author: Ralph Campbell Date: Fri Feb 27 14:44:32 2009 -0800 IB/mad: initialize mad_agent_priv before putting on lists There is a potential race in ib_register_mad_agent() where the struct ib_mad_agent_private is not fully initialized before it is added to the list of agents per IB port. This means the ib_mad_agent_private could be seen before the refcount, spin locks, and linked lists are initialized. The fix is to initialize the structure earlier. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 1c8daabe1dafc30fcc1d929e620269ffe99b6f8a Author: Ryan Mallon Date: Wed Feb 25 22:22:38 2009 +0100 [ARM] 5413/1: Add ep93xx dma m2p clocks Add the clocks for ep93xx m2p dma engine. Signed-off-by: Ryan Mallon Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit c633c3cfcf41efe720020553aa3d4782fa0b9bd5 Author: Jean-Christop PLAGNIOL-VILLARD Date: Wed Feb 25 04:20:40 2009 +0100 [ARM] 5412/1: XSCALE: add ice dcc support SCALE: add ice dcc support Tested on the ixp425 with the ice PEEDI Ack-by: Eric Miao Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Russell King commit 2a07954b83a3d4dc93031d3ce030fb9380a8e15a Author: Kalle Valo Date: Fri Feb 27 07:50:00 2009 +0200 at76c50x-usb: use dev_name() instead of struct device.bus_id Stephen Rothwell reported that bus_id from struct device will be removed, use dev_name() instead. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0bfbce18b9c11201ebf1cfbc0deeab7bdbfe32a5 Author: Jouni Malinen Date: Tue Feb 24 16:49:58 2009 +0200 nl80211: Avoid AP mode BUG_ON hang with invalid lock assert "cfg80211: add assert_cfg80211_lock() to ensure proper protection" added assert_cfg80211_lock() calls into various places. At least one of them, nl80211_send_wiphy(), should not have been there. That triggers the BUG_ON in assert_cfg80211_lock() and pretty much kills the kernel whenever someone runs hostapd.. Remove that call and make assert_cfg80211_lock() use WARN_ON instead of BUG_ON to be a bit more friendly to users. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 222d0b33b3778a8fa156f3fca284d0a71f8e966b Author: Jouni Malinen Date: Tue Feb 24 13:40:01 2009 +0200 ath9k: Unlock sc->mutex on error path An error path in ath9k_add_interface() did not unlock the sc->mutex and could leave the driver in quite unresponsive state. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 99da185a72ba685a5aaf49dff6a5fe83885112e4 Author: John Daiker Date: Tue Feb 24 02:16:42 2009 -0800 b43: checkpatch.pl cleanups Keeping this one simple. Changing a few "foo * bar" to "foo *bar" Removes 22 checkpatch.pl errors, with no introduced warnings. Signed-off-by: John Daiker Signed-off-by: John W. Linville commit ddcb5c78e8dcb470caec2049c2f400651f1710e4 Author: Jason Andryuk Date: Mon Feb 23 21:45:34 2009 -0500 iwl3945: re-add iwl_poll_direct_bit return value check Re-add the iwl_poll_direct_bit return value assignment dropped in "iwl3945: add apm ops". Signed-off-by: Jason Andryuk Signed-off-by: John W. Linville commit c2436980d024c8c9c1ad51f53125ddfc467a6cf1 Author: Jason Andryuk Date: Mon Feb 23 21:43:30 2009 -0500 iwl3945: initialize is_valid_rtc_data_addr function pointer Initialize is_valid_rtc_data_addr function pointer for iwl3945 to prevent a NULL pointer dereference in iwl_dump_nic_error_log. Signed-off-by: Jason Andryuk Signed-off-by: John W. Linville commit 53b23b88e4fc70a36f4c9653883582a7c5eede38 Author: Michael Buesch Date: Mon Feb 23 22:52:26 2009 +0100 b43: Remove bogus integer truncation warnings "warning: large integer implicitly truncated to unsigned type" Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4a332a385a86e31bfe181d969a8cb5579798fe03 Author: Alina Friedrichsen Date: Sun Feb 22 18:19:33 2009 +0100 mac80211: Give it some time to do the TSF sync Give slow hardware some time to do the TSF sync, to not run into an IBSS merging endless loop in some rarely situations. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 34e8f08231388f9e16c6f1e2461f53afaf7f1e5e Author: Alina Friedrichsen Date: Sun Feb 22 00:07:28 2009 +0100 mac80211: Don't merge with the same BSSID It was not a good idea to do a TSF reset on strange IBSS merges to the same BSSID. For example it will break the TSF sync of ath9k completely and it is unnecessary as all hardware I have tested do a TSF sync to a higher value automatically and IBSS merges are only done to higher TSF values. It only need a TSF reset to accept a lower value, when the IBSS network is changed manually. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 204b190cabf901b4bdece2006acc15a8978288db Author: Bob Copeland Date: Sat Feb 21 14:44:18 2009 -0500 ath9k: fix 802.11g conformance test limit typo 802.11g is in 2 ghz band, not 5 ghz. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3faa19cd9dfac30aa08bc311ddbd62ee5ccc0d85 Author: David Kilroy Date: Sat Feb 21 16:52:54 2009 +0000 orinoco: prevent accessing memory outside the firmware image Do this by indicating the end of the appropriate regions of memory. Note that MAX_PDA_SIZE should only apply to the PDA block read from flash/EEPROM, and has been erronously applied to the pdr elements. Remove the macro, and use the actual PDA size passed down by the caller. We also fix up some of the types used, marking as much as possible const, and using void* for the end pointers. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 7e57811ac5b595bdb53f2aef3bcb2b3d72663fa4 Author: David Kilroy Date: Sat Feb 21 16:52:53 2009 +0000 orinoco: validate firmware header Check the Agere firmware headers for validity before attempting to download it. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ba3907e508454520569bf1a3c1570f05ea578768 Author: Kalle Valo Date: Sat Feb 21 09:53:37 2009 +0200 at76c50x-usb: add link to the TODO list It's easier to have the TODO list in wiki, so add a link to the list. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 1cc198fee9eb60d9dddbdcb6f32a6e36e5136769 Author: Jason Andryuk Date: Sat Feb 21 09:53:29 2009 +0200 at76c50x-usb: additional disconnect fixes Additional attempts to fix Oops on disconnect, that appear to be successful. However, some may be extraneous. The cancel_delayed_work call is probably the most necessary. The device_unplugged check may not be necessary. del_timer_sync may not be necessary either, but the Oops I was receiving was related to timers. Hence the addition. Signed-off-by: Jason Andryuk Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 5a2137ddcc4b4d0d9227db433eabaefa3c3bd924 Author: Jason Andryuk Date: Sat Feb 21 09:53:22 2009 +0200 at76c50x-usb: clean up DMA on stack Cleanup dma on stack issues: - no DMA on stack - cleanup unclear endianness issue Corrected version of Oliver Neukum's original patch for at76_usb. Signed-off-by: Jason Andryuk Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit deda862e699f0aba6f0975e138a0258d1b29f2df Author: Jason Andryuk Date: Sat Feb 21 09:53:14 2009 +0200 at76c50x-usb: fix oops on disconnect flush_workqueue needs to be called instead of the generic one and the associated functions need to be modified to prevent re-adding themselves to the workqueue. The rx_tasklet is also killed in the small (?) chance it is scheduled. Signed-off-by: Jason Andryuk Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 2f92cd2e5f1751f7da5fa9b58e0ab22da6577cfd Author: Luis R. Rodriguez Date: Sat Feb 21 00:24:16 2009 -0500 cfg80211: pass the regulatory_request to ignore_request Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d951c1ddeba3c84c464069c808efc494aa705304 Author: Luis R. Rodriguez Date: Sat Feb 21 00:24:15 2009 -0500 cfg80211: do not kzalloc() again for a new request on __regulatory_hint Since we already have a regulatory request from the workqueue use that and avoid a new kzalloc() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 28da32d7cafdd181d6a59e8c0b74e9651a8f8be3 Author: Luis R. Rodriguez Date: Sat Feb 21 00:24:14 2009 -0500 cfg80211: pass the regulatory_request struct in __regulatory_hint() We were passing value by value, lets just pass the struct. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d1c96a9a29a5f34fa50133889b6110dca6cc3d43 Author: Luis R. Rodriguez Date: Sat Feb 21 00:24:13 2009 -0500 cfg80211: make __regulatory_hint() static Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 84540869678649074ae040bc9b063ef38ec9c83a Author: Luis R. Rodriguez Date: Sat Feb 21 00:20:40 2009 -0500 ath9k: follow beacon hints on reg_notifier when world roaming If we are roaming we allow to follow beacon hints. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e38f8a7a8bebbab9d97f204e2cf05ef58b048a1d Author: Luis R. Rodriguez Date: Sat Feb 21 00:20:39 2009 -0500 cfg80211: Add AP beacon regulatory hints When devices are world roaming they cannot beacon or do active scan on 5 GHz or on channels 12, 13 and 14 on the 2 GHz band. Although we have a good regulatory API some cards may _always_ world roam, this is also true when a system does not have CRDA present. Devices doing world roaming can still passive scan, if they find a beacon from an AP on one of the world roaming frequencies we make the assumption we can do the same and we also remove the passive scan requirement. This adds support for providing beacon regulatory hints based on scans. This works for devices that do either hardware or software scanning. If a channel has not yet been marked as having had a beacon present on it we queue the beacon hint processing into the workqueue. All wireless devices will benefit from beacon regulatory hints from any wireless device on a system including new devices connected to the system at a later time. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3fc71f775af677f640f0f0780b16f1b0958f6d9d Author: Luis R. Rodriguez Date: Sat Feb 21 00:20:38 2009 -0500 cfg80211: enable 5 GHz world roaming channels The current static world regulatory domain is too restrictive, we can use some 5 GHz channels world wide so long as they do not touch frequencies which require DFS. The compromise is we must also enforce passive scanning and disallow usage of a mode of operation that beacons: (AP | IBSS | Mesh) Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 68798a62634e58e01d6f1de509b253dcb40625bd Author: Luis R. Rodriguez Date: Sat Feb 21 00:20:37 2009 -0500 cfg80211: enable active-scan / beaconing on Ch 1-11 for world regdom This enables active scan and beaconing on Channels 1 through 11 on the static world regulatory domain. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 69b1572bd82046cc8f730e05c797062ca8c2b535 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:33 2009 -0500 cfg80211: rename regdom_changed to regdom_changes() and use it Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fff32c04f6074de0719cc46d8f488aaf746f151a Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:32 2009 -0500 cfg80211: allow drivers that agree on regulatory to agree This allows drivers that agree on regulatory to share their regulatory domain. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fb1fc7add5d205c1db2fa323af1367c3cd4dced2 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:31 2009 -0500 cfg80211: comments style cleanup Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fe33eb390854886e1fd5d4835d833b80d145aafb Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:30 2009 -0500 cfg80211: move all regulatory hints to workqueue All regulatory hints (core, driver, userspace and 11d) are now processed in a workqueue. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0441d6ffc705de17d85923264a1b03b71ebfccb8 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:29 2009 -0500 cfg80211: free rd on unlikely event on 11d hint This was never happening but it was still wrong, so correct it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 915278e099e532f3a874764e28c81958f788b9f1 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:28 2009 -0500 cfg80211: remove likely from an 11d hint case Truth of the matter this was confusing people so mark it as unlikely as that is the case now. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d335fe6391c2d86582cf71ef5773a161ee604608 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:27 2009 -0500 cfg80211: protect first access of last_request on 11d hint under mutex We were not protecting last_request there is a small possible race between an 11d hint and another routine which calls reset_regdomains() which can prevent a valid country IE from being processed. This is not critical as it will still be procesed soon after but locking prior to it is correct. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 806a9e39670be4f1f861c346ec102a79e81b90c3 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:26 2009 -0500 cfg80211: make regulatory_request use wiphy_idx instead of wiphy We do this so later on we can move the pending requests onto a workqueue. By using the wiphy_idx instead of the wiphy we can later easily check if the wiphy has disappeared or not. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 761cf7ecffc4bc079679e65c3b1ab107c1c1fb56 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:25 2009 -0500 cfg80211: add assert_cfg80211_lock() to ensure proper protection Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bcf4f99b7b1e0971b79e8df40331e77fc1744049 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:24 2009 -0500 cfg80211: propagate -ENOMEM during regulatory_init() Calling kobject_uevent_env() can fail mainly due to out of memory conditions. We do not want to continue during such conditions so propagate that as well instead of letting cfg80211 load as if everything is peachy. Additionally lets clarify that when CRDA is not called during cfg80211's initialization _and_ if the error is not an -ENOMEM its because kobject_uevent_env() failed to call CRDA, not because CRDA failed. For those who want to find out why we also let you do so by enabling the kernel config CONFIG_CFG80211_REG_DEBUG -- you'll get an actual stack trace. So for now we'll treat non -ENOMEM kobject_uevent_env() failures as non fatal during cfg80211's initialization. CC: Greg KH Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ba25c1414264f1f5fc046cf34d20947e41713a0d Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:23 2009 -0500 cfg80211: add regulatory_hint_core() to separate the core reg hint This makes the core hint path more readable and allows for us to later make it obvious under what circumstances we need locking or not. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 80778f18c09673df2712c7da28aa920469adcae2 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:22 2009 -0500 nl80211: disallow user requests prior to regulatory_init() If cfg80211 is built into the kernel there is perhaps a small time window betwen nl80211_init() and regulatory_init() where cfg80211_regdomain hasn't yet been initialized to let the wireless core do its work. During that rare case and time frame (if its even possible) we don't allow user regulatory changes as cfg80211 is working on enabling its first regulatory domain. To check for cfg80211_regdomain we now contend the entire operation using the cfg80211_mutex. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a1794390f1afc3631ac056e0f1677b7ab6f7ee74 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:21 2009 -0500 cfg80211: rename cfg80211_drv_mutex to cfg80211_mutex cfg80211_drv_mutex is protecting more than the driver list, this renames it and documents what its currently supposed to protect. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 85fd129a721e6e892dbaaf05203baf819730f699 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:20 2009 -0500 cfg80211: add wiphy_idx_valid to check for wiphy_idx sanity This will later be used by others, for now make use of it in cfg80211_drv_by_wiphy_idx() to return early if an invalid wiphy_idx has been provided. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b5850a7a4fd5bcab4f6a2c49e5b4ab9ebb1d5d44 Author: Luis R. Rodriguez Date: Sat Feb 21 00:04:19 2009 -0500 cfg80211: rename cfg80211_registered_device's idx to wiphy_idx Makes it clearer to read when comparing to ifidx Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 79f6440c527c61bcd84edfbdeb390841b9fe5095 Author: Alina Friedrichsen Date: Sat Feb 21 01:27:29 2009 +0100 mac80211: Introduce a generic commit() to apply changes This patch introduces a generic commit() function which initiate a new network joining process. It should be called after some interface config changes, so that the changes get applied more cleanly. Currently set_ssid() and set_bssid() call it. Others can be added in future patches. In version 1 the header files was forgotten, sorry. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 5f9724dd94d63e26edb02d9f6a4ce1ce35737f14 Author: Michael Buesch Date: Fri Feb 20 19:31:21 2009 +0100 b43: Convert usage of b43_radio_maskset() This patch converts code to use the new b43_radio_maskset() API. The semantic patch that makes this change is as follows: // @@ expression dev, addr, mask, set; @@ -b43_radio_write16(dev, addr, (b43_radio_read16(dev, addr) & mask) | set); +b43_radio_maskset(dev, addr, mask, set); // Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 3718582a663e035af5d2634cd537a012e20cdb3f Author: Michael Buesch Date: Fri Feb 20 19:30:10 2009 +0100 b43: Convert usage of b43_radio_mask() This patch converts code to use the new b43_radio_mask() API. The semantic patch that makes this change is as follows: // @@ expression dev, addr, mask; @@ -b43_radio_write16(dev, addr, b43_radio_read16(dev, addr) & mask); +b43_radio_mask(dev, addr, mask); // Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4cf507696ae41950cd430e7534180fddd624b3cd Author: Michael Buesch Date: Fri Feb 20 19:28:14 2009 +0100 b43: Convert usage of b43_radio_set() This patch converts code to use the new b43_radio_set() API. The semantic patch that makes this change is as follows: // @@ expression dev, addr, set; @@ -b43_radio_write16(dev, addr, b43_radio_read16(dev, addr) | set); +b43_radio_set(dev, addr, set); // Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 76e190cd4b3b9e79096df153edb04092433a797b Author: Michael Buesch Date: Fri Feb 20 19:26:27 2009 +0100 b43: Convert usage of b43_phy_maskset() This patch converts code to use the new b43_phy_maskset() API. The semantic patch that makes this change is as follows: // @@ expression dev, addr, mask, set; @@ -b43_phy_write(dev, addr, (b43_phy_read(dev, addr) & mask) | set); +b43_phy_maskset(dev, addr, mask, set); // Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ac1ea3959f4c6694e92fe18a2ec72cfbed0c71fa Author: Michael Buesch Date: Fri Feb 20 19:25:05 2009 +0100 b43: Convert usage of b43_phy_mask() This patch converts code to use the new b43_phy_mask() API. The semantic patch that makes this change is as follows: // @@ expression dev, addr, mask; @@ -b43_phy_write(dev, addr, b43_phy_read(dev, addr) & mask); +b43_phy_mask(dev, addr, mask); // Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e59be0b5299ce327d67cfca737b839ef98e0da0e Author: Michael Buesch Date: Fri Feb 20 19:22:36 2009 +0100 b43: Convert usage of b43_phy_set() This patch converts code to use the new b43_phy_set() API. The semantic patch that makes this change is as follows: // @@ expression dev, addr, set; @@ -b43_phy_write(dev, addr, b43_phy_read(dev, addr) | set); +b43_phy_set(dev, addr, set); // Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9b02f419a7dbd956b2c293e5cb1790b6b687f367 Author: Dan Williams Date: Fri Feb 20 12:27:38 2009 -0500 libertas: use private SDIO workqueue to avoid scheduling latency The libertas SDIO interface scheduled the packet worker, resulting in unwanted latency for every data packet or command sent to the firmware. Fix a bug on the SDIO probe error path too. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 25d3ef59a2112d50e145500e1bc764f9e8fd4896 Author: Michael Buesch Date: Fri Feb 20 15:39:21 2009 +0100 b43: Implement sw scan callbacks This implements the new sw scan callbacks in b43. They are currently used to turn CFP update in the microcode off while scanning. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 80e775bf08f1915870fbb0c1c7a45a3fdc291721 Author: Michael Buesch Date: Fri Feb 20 15:37:03 2009 +0100 mac80211: Add software scan notifiers This adds optional notifier functions for software scan. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8821905cfb65504f64e6beb014133bd2a998f5dc Author: Michael Buesch Date: Fri Feb 20 14:58:59 2009 +0100 b43: Enable PCI slow clock workaround, if needed. Enable the PCI slow clock workaround, if we're running a PCI core rev <= 10. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1cc8f476f1260758a364b68d299796a9edb9ac41 Author: Michael Buesch Date: Fri Feb 20 14:47:56 2009 +0100 b43: Honor the no-slow-clock boardflag Do not turn off the crystal, if the boardflags tell us so. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 969d15cfab52c0af40c617fcbcc54cad6eaa4b32 Author: Michael Buesch Date: Fri Feb 20 14:27:15 2009 +0100 b43: Fix radio host flags This fixes initialization of some radio related hostflags. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2d071ca50e9f20bf0203a7e8dbb1c784934e324d Author: Michael Buesch Date: Fri Feb 20 12:24:52 2009 +0100 b43: Add slot count compiletime assertion This adds a compiletime assertion for a recently introduced assumption on the slot counts. The tx header cache handling code assumes that the TX slot count can be divided evenly by the number of TX slots per frame. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 20977d3e685abb8b84c385426c39de1fca0a58ac Author: Sujith Date: Fri Feb 20 15:13:28 2009 +0530 ath9k: Add appropriate ANI values for AP mode The short calibration interval is different for AP mode, fix this. Also, the timer should be rearmed in the calibration routine during scanning. Signed-off-by: Sujith Signed-off-by: John W. Linville commit db0f41f556620ed73e8beaafb820baf53f863df9 Author: Sujith Date: Fri Feb 20 15:13:26 2009 +0530 ath9k: Fix PCI shutdown sequence pci_release_region() has to be called after the device has been disabled. Also remove a stray __init attribute. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 8147f5de7a7f241a729aaec912df7dd87a473cd0 Author: Sujith Date: Fri Feb 20 15:13:23 2009 +0530 ath9k: Fix bug in EEPROM chainmask retrieval Using wrong chainmasks would have an adverse impact on performance. This patch fixes chainmask retrieval for non-PCIE cards. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9e7127908473bfb863c5064b0a61d0f0d6b1af46 Author: Sujith Date: Fri Feb 20 15:13:20 2009 +0530 ath9k: Add PER to RC debug statistics Signed-off-by: Sujith Signed-off-by: John W. Linville commit d9ae96d94a9117fa8d80dd4881f5835f9112c449 Author: Sujith Date: Fri Feb 20 15:13:13 2009 +0530 ath9k: Remove multiple macro occurrences OLC_FOR_AR9280_20_LATER is defined in multiple places, move it to a common location. Signed-off-by: Sujith Signed-off-by: John W. Linville commit f452a63d1ea7d2bae9b4a0cd0a865bcee7ce90c4 Author: Alina Friedrichsen Date: Thu Feb 19 23:46:31 2009 +0100 ath9k: Don't reset TSF after scanning automatically Reset automatically the TSF on re-enabling beaconing after scanning in IBSS mode causes several problems. For example a new created IBSS network can't age before an other node has joined, because scans are done automatically in that case. And several other strange bugs more... The TSF reset is done manually in the higher level mac80211 code in the cases were it's needed, so we don't need to do it here. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit bdceeb2dad5c8487ffeb4d0fa949686e4350ec7f Author: Michael Buesch Date: Thu Feb 19 23:45:43 2009 +0100 b43: Optimize DMA buffers In the old days we used one slot per frame. But when we changed that to 2, we didn't raise the overall slot count. Which resulted in an effective division of two to the number of slots. Double the number of TX slots, so we have an effective hardware queue of 128 frames per QoS queue. Also optimize the TX header cache handling. We don't need a cached TX header for slots that will never carry an actual header. So we reduce the memory consumption of the cache by 50%. So as a net result we end up with more or less the same memory usage before and after this patch (except a few tiny meta structures), but have twice the number of TX slots available. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8eccb53f1b858c9bd0b745f839174725b76508ec Author: Michael Buesch Date: Thu Feb 19 23:39:26 2009 +0100 b43: Fix DMA buffer size handling This fixes hidden bugs in the size handling of the DMA buffers. This sets the RX buffer size to the theoretical max packet size and fixes passing of the size values to the device (must not subtract the header offset). These bugs are hidden and don't actually trigger due to the magic +100 offset for the buffer size. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ca2d559e1a41d62a5b49fb9ab513025ea27f1e7c Author: Michael Buesch Date: Thu Feb 19 20:17:36 2009 +0100 b43: Move DMA stop sanity check Move the DMA stop sanity check up a few lines, so it's actually theoretically possible to trigger. (But it still shouldn't trigger, of course). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit dbaaa147d6396c41d8f31156a777dfdaae2335a4 Author: Vasanthakumar Thiagarajan Date: Thu Feb 19 15:41:52 2009 +0530 ath9k: Filter out beacons from other BSS in STA mode Passing beacons received from other BSS to s/w in non-scanning state is unnecessary in STA mode. This patch filters them out in h/w. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 96891ceedaeaac95aa5b9dba5e68a8e77d541e78 Author: Fenghua Yu Date: Wed Feb 18 15:54:33 2009 -0800 iwlwifi: dma mapping read and write changes When iwlwifi runs on IOMMU, IOMMU generates a lot of PTE write faults because PTE write bit is not set on some of PTE's. This is because iwlwifi driver calls DMA mapping with PCI_DMA_TODEVICE which is read only in mapping PTE. But iwlwifi device actually writes to the mapped page to update its contents. This issue is not exposed in swiotlb. But VT-d hardware can capture this fault and stop the fault transaction. The iwl TX command contains a scratch field that is updated by uCode to indicate retry counts. For 5000 series the patch is required also for regular frames, but this patch does not differenciate. Signed-off-by: Fenghua Yu Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7dc45f25d39ea959fdc1d5f636e9fc6cbe7ac7e0 Author: Abhijeet Kolekar Date: Wed Feb 18 15:54:32 2009 -0800 iwl3945: use SW rfkill from iwlwifi Patch unifies use of SW rfkill between 3945 and agn driver. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f17d08a657ee0713390ccf9a0b0ebf4f80495161 Author: Abhijeet Kolekar Date: Wed Feb 18 15:54:31 2009 -0800 iwl3945: use iwl_isr iwl3945 uses iwl_isr and deletes duplicated iwl3945_isr. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ed3b932e014eb54e8d9b0d7b9d8861f653185d04 Author: Abhijeet Kolekar Date: Wed Feb 18 15:54:30 2009 -0800 iwl3945: remove duplicate interrupt code Patch removes duplicate code to enable and disable interrupt. iwl3945 now uses iwlwifi's functions. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 261b9c33987ca80bf6217848c3c113d2a4d313d0 Author: Abhijeet Kolekar Date: Wed Feb 18 15:54:29 2009 -0800 iwl3945: use iwl_rx_reply_error notification Patch removes duplicate code from iwl3945 and uses iwl_rx_reply_error and spectrum notifications from iwlwifi. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 030f05eda6ee4d0ed63a93f4f9ebae42c46fb8b6 Author: Abhijeet Kolekar Date: Wed Feb 18 15:54:28 2009 -0800 iwl3945: use iwl rx handlers Patch removes duplicate rx handlers(pm_sleep and pm_debug) from 3945 and uses handlers from iwlwifi. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e9dde6f6edf9954e2c75d2d738cae0f00e9b0fbc Author: Abhijeet Kolekar Date: Wed Feb 18 15:54:27 2009 -0800 iwl3945: use iwl_mac_hw_scan callback 3945 can use iwl_mac_hw_scan callback instead of iwl3945_mac_hw_scan callback. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cade0eb2c7c7b8df60ac54409592c1a23e3220c8 Author: Abhijeet Kolekar Date: Wed Feb 18 15:54:26 2009 -0800 iwl3945: use iwl_rx_scan handlers Patch makes use of iwl_rx_scan handler for 3945. Signed-off-by: Abhijeet Kolekar Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2ce4f9d8618b84994b19e0a31a56562863666623 Author: Jason Andryuk Date: Wed Feb 18 22:41:04 2009 +0200 at76c50x-usb: convert at76_debug to an unsigned int at76_debug should be an unsigned int as it used as a bit field. In fact, modprobe fails when trying to set at76_debug's high bit. Signed-off-by: Jason Andryuk Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 19e8bc7fa7df2f208554d1d06b9af129cd7f452a Author: Jason Andryuk Date: Wed Feb 18 22:40:57 2009 +0200 at76c50x-usb: update to latest mac80211 hw scan api With the latest mac80211 stack, the driver needs to be updated for cfg80211 scanning. I based the changes off of modifications for at76_usb found here: http://johannes.sipsolutions.net/patches/old/all/2008-09-19-13:35/020-cfg80211-scan.patch The trick was that max_signal also needs to be set to avoid a divide by zero Oops. I just guessed and used the value 100 for now. kvalo: handpicked the change from two different patches Signed-off-by: Jason Andryuk Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 1264b951463a00efebe1bb596499aaad620ec8af Author: Kalle Valo Date: Sat Feb 7 09:27:10 2009 +0200 at76c50x-usb: add driver This is a driver for usb devices based on at76c50x chipset. This is a mac80211 port of the original at76_usb driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 41d2f291d78fb90ec26122c1c67d0c151965b378 Author: John W. Linville Date: Fri Feb 20 19:03:31 2009 -0500 iwlagn: default to MAX_UCODE_BEACON_INTERVAL in iwl_adjust_beacon_interval Default to MAX_UCODE_BEACON_INTERVAL if the output of iwl_adjust_beacon_interval would otherwise be zero. This prevents a division by zero on my iwl5300-equipped Lenovo T400 with kernels that include "mac80211: use cfg80211s BSS infrastructure". This patch is a bit of a hack -- I'm not sure why iwl_setup_rxon_timing is giving iwl_adjust_beacon_interval a zero input (which is the only way it would output zero). I would be happy to have a better fix. But for now, this makes my box boot... Signed-off-by: John W. Linville commit c493b017e0631ac023f904a732e8b615d4870426 Author: Roel Kluin Date: Sun Feb 15 18:02:39 2009 +0100 b43: Fix LO calibration txctl reg value This patch expands the parenthesis in the txctl reg write of the LO calibration to enforce precedence rules. Signed-off-by: Roel Kluin Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e05eac37946a51efcedcc1b9cddb10af15628902 Author: Roel Kluin Date: Sun Feb 15 16:27:24 2009 +0100 p54: misplaced parentheses Only FIF_FCSFAIL is set due to parentheses Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit c3d72b968129ad4aec86c5fc8d2380f01ebebc53 Author: Dan Williams Date: Wed Feb 11 13:26:06 2009 -0500 ipw2x00: age scan results on resume Scanned BSS entries are timestamped with jiffies, which doesn't increment across suspend and hibernate. On resume, every BSS in the scan list looks like it was scanned within the last 10 seconds, irregardless of how long the machine was actually asleep. Age scan results on resume with the time spent during sleep so userspace has a clue how old they really are. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit bc8263f1d86946ffe97eb249fc1d6660da1e1055 Author: John W. Linville Date: Tue Feb 10 13:53:01 2009 -0500 airo: correct improper initialization of local variable Signed-off-by: John W. Linville commit 4aa188e1a868d25c5b93e48e5d29bbd0f9d3bc3a Author: Johannes Berg Date: Wed Feb 18 19:32:08 2009 +0100 mac80211/cfg80211: move iwrange handler to cfg80211 The previous patch made cfg80211 generally aware of the signal type a given hardware will give, so now it can implement SIOCGIWRANGE itself, removing more wext stuff from mac80211. Might need to be a little more parametrized once we have more hardware using cfg80211 and new hardware capabilities. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 77965c970d7da9c9b6349ff2b1d9adecf54c403b Author: Johannes Berg Date: Wed Feb 18 18:45:06 2009 +0100 cfg80211: clean up signal type It wasn't a good idea to make the signal type a per-BSS option, although then it is closer to the actual value. Move it to be a per-wiphy setting, update mac80211 to match. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 630e64c487c0a9550f05b465216a1cd9125b52f2 Author: Johannes Berg Date: Wed Feb 18 10:48:07 2009 +0100 nl80211: remove admin requirement from station get There's no particular reason to not let untrusted users see this information -- it's just the stations we're talking to, packet counters for them and possibly some mesh things. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0a16ec5f5ed38076026960332a9ea4746dc1f3c6 Author: Johannes Berg Date: Wed Feb 18 09:56:47 2009 +0100 mac80211: add missing kernel-doc Document the new shutdown member. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d5c232ff9bd5c0aa79b65a0d21cf9b944d7bf218 Author: Vasanthakumar Thiagarajan Date: Wed Feb 18 10:22:02 2009 +0530 ath9k: Fix PTK/GTK handshake timeout Some APs don't start BA negotiation with the client before it is done with the key handshake in WPA/RSN. With those APs, key handshake times out if EAPOL frames are sent after addba request. So defer the BA negotiation until we are done with tx/rx of all EAPOL frames. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit a77b855245541823b49999a27245ad7428879096 Author: Johannes Berg Date: Wed Feb 18 18:27:22 2009 +0100 cfg80211/mac80211: fill qual.qual value/adjust max_qual.qual Due to various bugs in the software stack we end up having to fill qual.qual; level should be used, but wpa_supplicant doesn't properly ignore qual.qual, NM should use qual.level regardless of that because qual.qual is 0 but doesn't handle IW_QUAL_DBM right now. So fill qual.qual with the qual.level value clamped to -110..-40 dBm or just the regular 'unspecified' signal level. This requires a mac80211 change to properly announce the max_qual.qual and avg_qual.qual values. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb3a8eec0e66edfe8db7d3b3bf19d25745bae3c3 Author: Dan Williams Date: Wed Feb 11 17:14:43 2009 -0500 cfg80211: age scan results on resume Scanned BSS entries are timestamped with jiffies, which doesn't increment across suspend and hibernate. On resume, every BSS in the scan list looks like it was scanned within the last 10 seconds, irregardless of how long the machine was actually asleep. Age scan results on resume with the time spent during sleep so userspace has a clue how old they really are. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit abd2fdb4c606f0e5cfec3647d57ebd20f03caafd Author: Ivo van Doorn Date: Tue Feb 17 14:04:29 2009 +0100 rt2x00: Fix RF offset The word_base is in bytes instead of word index number, this means that when using it, it should be transformed into a word index first. Otherwise RF register reading will fail through debugfs since we would start reading 4 words starting with word 4 (which is the last valid word for RF). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 98c8a60a04316e94ccea8221cf16768ce91bd214 Author: Jouni Malinen Date: Tue Feb 17 13:24:57 2009 +0200 nl80211: Provide access to STA TX/RX packet counters The TX/RX packet counters are needed to fill in RADIUS Accounting attributes Acct-Output-Packets and Acct-Input-Packets. We already collect the needed information, but only the TX/RX bytes were previously exposed through nl80211. Allow applications to fetch the packet counters, too, to provide more complete support for accounting. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit fdbf7335ea1a4048ff4818bf15bdcab1925dc6df Author: Sujith Date: Tue Feb 17 15:36:35 2009 +0530 ath9k: Use beacon interval directly Setting up the CAB queue requires only the beacon interval, remove the function ath_get_beaconconfig() which is redundant. Signed-off-by: Sujith Signed-off-by: John W. Linville commit f7a99e46bef0f56549a041e867708b2f63d2e81c Author: Sujith Date: Tue Feb 17 15:36:33 2009 +0530 ath9k: Remove ath_txq_depth and get the queue depth directly Signed-off-by: Sujith Signed-off-by: John W. Linville commit f34639d323ded9d12692fb236e1774408f2a4a2b Author: Sujith Date: Tue Feb 17 15:36:31 2009 +0530 ath9k: Remove a few unused capability macros Signed-off-by: Sujith Signed-off-by: John W. Linville commit 171387ef0a374e04a8167a3a1292e19fd1335f20 Author: Sujith Date: Tue Feb 17 15:36:25 2009 +0530 ath9k: Initialize channel change time Set channel change time to 5ms, this will improve scan results. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 70692ad2923a379e0a10f9ec2ad93fbbe084cc46 Author: Jouni Malinen Date: Mon Feb 16 19:39:13 2009 +0200 nl80211: Optional IEs into scan request This extends the NL80211_CMD_TRIGGER_SCAN command to allow applications to specify a set of information element(s) to be added into Probe Request frames with NL80211_ATTR_IE. This provides support for the MLME-SCAN.request primitive parameter VendorSpecificInfo and can be used, e.g., to implement WPS scanning. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 83befbde839b1deb0cd752a834ffd9fde8571ae2 Author: Sujith Date: Mon Feb 16 13:23:21 2009 +0530 ath9k: Fix antenna assignment bug in TX status processing Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0caa7b14f36e8c3c43dd9294a960ae55cafe07fb Author: Sujith Date: Mon Feb 16 13:23:20 2009 +0530 ath9k: Fix HW wait timeout RX and calibration have different timeout requirements. This patch fixes it by changing the HW wait routine to accept a timeout value. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 70768496db9ee27d53d3d03d50c93fbf4c0198a0 Author: Sujith Date: Mon Feb 16 13:23:12 2009 +0530 ath9k: Program the RTC registers correctly This patch programs the RTC registers of AR9100 chipsets correctly during chip reset. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 362695e11a09ff016ef00dc45b934b1daf862091 Author: Bob Copeland Date: Sun Feb 15 12:06:12 2009 -0500 ath5k: compute rts/cts duration after computing full pktlen RTS and CTS-to-self duration needs to go after ICV len is considered. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit acf3c1a592a070edeede5dfa38c0ce3395357de0 Author: Bob Copeland Date: Sun Feb 15 12:06:11 2009 -0500 ath5k: move beacon processing to a tasklet We currently send beacons directly from the interrupt routine. This can hold up interrupt processing in beaconing modes and makes the ISR somewhat more complex. Move it to a tasklet like rx and tx. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit b5f03956c56d72ad336e5c2c42a025f25d952c30 Author: Bob Copeland Date: Sun Feb 15 12:06:10 2009 -0500 ath5k: use spin_lock_irqsave for beacon lock ath5k_reset can be called from process context, which in turn can call ath5k_beacon_config which takes the sc->block spinlock. Since it can also be taken in hard irq context, use spin_lock_irqsave everywhere. This fixes a potential deadlock in adhoc mode. Changes-licensed-under: 3-Clause-BSD Cc: stable@kernel.org Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 0b6f582bd38783e14f67d4466923f587728b2438 Author: Bob Copeland Date: Sun Feb 15 12:06:09 2009 -0500 ath5k: don't mask off interrupt bits Since interrupts are already masked by the hardware, there's no need to discard interrupt bits in the ISR itself. Also, in ath5k_beacon_config we mask off a couple of bits without locking, so doing this mask in software can lead to unhandled beacon timer and beacon miss interrupts. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 144d9ad98ef90072fd939e620f374d6918155a06 Author: Ivo van Doorn Date: Sun Feb 15 17:43:05 2009 +0100 rt2x00: Add various new USB IDs for rt73usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 53bc647a1a96189be53b68b9e8c40df0f42fc300 Author: Ivo van Doorn Date: Sun Feb 15 17:42:48 2009 +0100 rt2x00: Remove check for rf word 0 The only way rf_write() can be called with word 0 is when the user sends the wrong word index through debugfs. However the values which are send through debugfs are validated using the RF_BASE and RF_SIZE macro values, the most logical solution is to increase RF_BASE with 4 and decrease RF_SIZE with 4 (RF_SIZE has always been 1 word too big) Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 62750f421f6eebabedf545183ef8291cd3e63c78 Author: Ivo van Doorn Date: Sun Feb 15 17:42:30 2009 +0100 rt2x00: uncomment get_tsf The atomic requirement for get_tsf() has been removed by mac80211. This means the USB drivers can add support for the callback function again. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 13e967b2926a51e1913ea42711eaf4108372fd44 Author: Randy Dunlap Date: Fri Feb 13 16:39:35 2009 -0800 wireless: fix for CONFIG_NL80211=n Add empty function for case of CONFIG_NL80211=n: net/wireless/scan.c:35: error: implicit declaration of function 'nl80211_send_scan_aborted' Signed-off-by: Randy Dunlap Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 80bc53931bdf8284c5a95ba96d86ab6c2473a5f8 Author: Reinette Chatre Date: Fri Feb 13 11:51:19 2009 -0800 iwlwifi: Fix and rework Kconfig file Fixes: - iwlwifi is an optional driver and should thus not default to 'y'. - 3945 now depends on IWLCORE. Rework: - There is not a case when IWLCORE should not be selected. At the same time the driver does not use IWLWIFI or IWLCORE. We can just merge the usage of these two. With IWLWIFI being the driver name we proceed to use just it and replace instances of IWLCORE with it. The module name does not change and is still iwlcore. - Both IWLAGN and IWL3945 are selecting FW_LOADER, we can thus just move this up to one select when IWLWIFI is selected. - IWL5000 now supports Intel Wireless Wifi 100, 6000, and 6050 series. - Now that 3945 depends on IWLWIFI we can also indicate its dependency on MAC80211_LEDS and LEDS_CLASS at this level. - IWLAGN_LEDS is not used by driver - remove it. - IWLAGN_SPECTRUM_MEASUREMENT actually depends on IWLWIFI as it forms part of iwlcore module. Move this config up in Kconfig to reflect that and also change name to IWLWIFI_SPECTRUM_MEASUREMENT. - CONFIG_IWLWIFI_RFKILL is used by iwlagn as well as iwl3945, add text to description that indicates this. - CONFIG_IWL3945_RFKILL does not exist - remove usage from driver. - Add "iwlagn" to end of description of IWLAGN to help people understand what iwlagn means in rest of Kconfig text. - Add "iwl3945" to end of description of IWL3945 to help people understand what iwlagn means in rest of Kconfig text. - Change IWLWIFI_DEBUGFS description to indicate that only iwlagn supports it (for now). Signed-off-by: Reinette Chatre Reported-by: Randy Dunlap Signed-off-by: John W. Linville commit d21050c7bedaf4ee94c3b1b1ab7129a849bbf620 Author: Reinette Chatre Date: Fri Feb 13 11:51:18 2009 -0800 iwlwifi: use singlethread workqueue Use one workqueue instead of one per CPU. Signed-off-by: Reinette Chatre cc: Arjan van de Ven Signed-off-by: John W. Linville commit daf518dee66c3c6029d0b828e15c7adf5aea5493 Author: Wu, Fengguang Date: Fri Feb 13 11:51:17 2009 -0800 iwlwifi: report correct and detailed values about requested txpower Signed-off-by: Wu Fengguang Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1788bcd155a2cbb7fad6bb30c2ae3786ceee8b4c Author: Jiri Slaby Date: Thu Feb 12 22:29:40 2009 +0100 ipw2200, fix ipw io functions - some of them are defined as follows: #define ipw_write32 expr1; expr2 and are called from loops or ifs without a compound statement, so they are broken. Fix it by putting them into do {} while (0) for writes and ({ }) for reads. - also unify and cleanup them while at it -- convert them from macros to inline functions, so that we get some basic typechecking Signed-off-by: Jiri Slaby Acked-by: Zhu Yi Cc: James Ketrenos Cc: Reinette Chatre Signed-off-by: John W. Linville commit 191a99b748a080d9ec896f35352da741b556119e Author: Bob Copeland Date: Thu Feb 12 13:38:58 2009 -0500 ath9k: move common regulatory code out of if() branches Both branches of the regulatory check in ath_attach() set up a custom regulatory domain and apply radar and world flags, so extract those into a single path. While at it, fix a couple of spelling errors and an unnecessary extra pointer traversal. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 65fe4656b79d5f91e7c7416c9a2994301ccc15e7 Author: Bob Copeland Date: Thu Feb 12 13:38:57 2009 -0500 ath9k: remove prototype for ath9k_regd_get_current_country ath9k_regd_get_current_country() doesn't exist. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 17580f6ab172089a31412bc895de5fcef9f8c073 Author: Bob Copeland Date: Thu Feb 12 13:38:56 2009 -0500 ath9k: remove ath9k_regd_get_rd() The function ath9k_regd_get_rd() is unused. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d0f48f9d1fa9ad01effdf280cda944c6eb518f59 Author: Bob Copeland Date: Thu Feb 12 13:38:55 2009 -0500 ath9k: convert isWwrSKU macro into C code Write isWwrSKU as an inline function and nix the camel-case to make the routine slightly clearer. Change its argument to take the regd value directly so it can eventually be used by ath5k as well. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e775aaf07a72eafdb352a984d820612dd76eab8c Author: Bob Copeland Date: Thu Feb 12 13:38:54 2009 -0500 ath9k: save a few calls to ath9k_regd_get_eepromRD Since we already have a stack variable to track the eeprom regd, we can grab it up front it and save three calls to fetch it again. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 63a7c8e254651d1080809de22f0db3ac70fbf914 Author: Bob Copeland Date: Thu Feb 12 13:38:53 2009 -0500 ath9k: remove write-only current_rd_inuse The current_rd_inuse regulatory value is assigned but not used anywhere. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 795cc0ad54128ada6f54d8b1eb051a907df6387e Author: Helmut Schaa Date: Thu Feb 12 18:51:03 2009 +0100 iwlagn: clean up error path in iwl_pci_probe This avoids triggering a BUG_ON in pci_disable_msi in the error path. Furthermore remove the first call to pci_disable_device as it is already called at out_pci_disable_device. Both issues were introduced in the patch "iwlagn: fix hw-rfkill while the interface is down". Signed-off-by: Helmut Schaa Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8bd1d07f9345750bd4d767e6c1600919672f98ba Author: Senthil Balasubramanian Date: Thu Feb 12 13:57:03 2009 +0530 ath9k: Add open loop control support This patch adds Open Loop Control support for Atheros chipsets that supports open loop power control. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 81cb7623ad3b408f871fa36b774fc20d8dfccac0 Author: Sujith Date: Thu Feb 12 11:38:37 2009 +0530 mac80211: Extend the rate control API with an update callback The AP can switch dynamically between 20/40 Mhz channel width, in which case we switch the local operating channel, but the rate control algorithm is not notified. This patch adds a new callback to indicate such changes to the RC algorithm. Currently, HT channel width change is notified, but this callback can be used to indicate any new requirements that might come up later on. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b06e786d4c850515e2efdf6dc37ba9e2ffc86bab Author: Sujith Date: Thu Feb 12 10:06:54 2009 +0530 ath9k: Decrease minimum NF threshold The existing value was too conservative, causing the history buffer not to be updated. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 668158af481a29aae82ded6593be0a21311f3243 Author: Sujith Date: Thu Feb 12 10:06:52 2009 +0530 ath9k: Fix incorrect noise floor reading for 4k EEPROM Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0fd06c90c2a9e837da6f34383a9ca38cfa702e5b Author: Sujith Date: Thu Feb 12 10:06:51 2009 +0530 ath9k: Fix bug in disabling MIB counters This patch fixes a bug in ANI, where the MIB counters were being cleared before the stats were updated. Signed-off-by: Sujith Signed-off-by: John W. Linville commit edf7c060f094f33b68b34b9312688fb823ebc0ff Author: Sujith Date: Thu Feb 12 10:06:49 2009 +0530 ath9k: Initialize AGC calibration properly Signed-off-by: Sujith Signed-off-by: John W. Linville commit 4af9cf4fda28c5f794861c52e0db5a3de9ee574d Author: Sujith Date: Thu Feb 12 10:06:47 2009 +0530 ath9k: Enable TSF Out of Range Interrupt This patch lays the groundwork for handling TSF Out of Range interrupt, which will be used for power save later on. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 06d0f0663e11cab4ec5f2c143a118d71a12fbbe9 Author: Sujith Date: Thu Feb 12 10:06:45 2009 +0530 ath9k: Enable Fractional N mode This patch enables Fractional N mode for all channel if the EEPROM says so, and also fixes the INI only when the device is not a 2 GHz only capable device. Signed-off-by: Sujith Signed-off-by: John W. Linville commit fec0de1110e58ed39647e484bff8437e4185158d Author: Sujith Date: Thu Feb 12 10:06:43 2009 +0530 ath9k: Fix rd_ext EEPROM capability for AR9285 AR9285 chipsets have a different EEPROM layout, handle this appropriately when populating the rd_ext capability. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e421c7b35c17752dbe6d26d910eb2d6814073355 Author: Sujith Date: Thu Feb 12 10:06:36 2009 +0530 ath9k: Store the correct max TX power level This patch fixes a bug where the max power level was being calculated incorrectly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 469002983fc90c2ff0959e2b03335c0fe2e4d5a9 Author: Johannes Berg Date: Sun Feb 15 12:44:28 2009 +0100 mac80211: split IBSS/managed code This patch splits out the ibss code and data from managed (station) mode. The reason to do this is to better separate the state machines, and have the code be contained better so it gets easier to determine what exactly a given change will affect, that in turn makes it easier to understand. This is quite some churn, especially because I split sdata->u.sta into sdata->u.mgd and sdata->u.ibss, but I think it's easier to maintain that way. I've also shuffled around some code -- null function sending is only applicable to managed interfaces so put that into that file, some other functions are needed from various places so put them into util, and also rearranged the prototypes in ieee80211_i.h accordingly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 96f5e66e8a79810e2982cdcfa28e554f3d97da21 Author: Johannes Berg Date: Thu Feb 12 00:51:53 2009 +0100 mac80211: fix aggregation for hardware with ampdu queues Hardware with AMPDU queues currently has broken aggregation. This patch fixes it by making all A-MPDUs go over the regular AC queues, but keeping track of the hardware queues in mac80211. As a first rough version, it actually stops the AC queue for extended periods of time, which can be removed by adding buffering internal to mac80211, but is currently not a huge problem because people rarely use multiple TIDs that are in the same AC (and iwlwifi currently doesn't operate as AP). This is a short-term fix, my current medium-term plan, which I hope to execute soon as well, but am not sure can finish before .30, looks like this: 1) rework the internal queuing layer in mac80211 that we use for fragments if the driver stopped queue in the middle of a fragmented frame to be able to queue more frames at once (rather than just a single frame with its fragments) 2) instead of stopping the entire AC queue, queue up the frames in a per-station/per-TID queue during aggregation session initiation, when the session has come up take all those frames and put them onto the queue from 1) 3) push the ampdu queue layer abstraction this patch introduces in mac80211 into the driver, and remove the virtual queue stuff from mac80211 again This plan will probably also affect ath9k in that mac80211 queues the frames instead of passing them down, even when there are no ampdu queues. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f3734ee6df3ac57151e02d091f47d5e52e646539 Author: Dan Williams Date: Thu Feb 12 12:32:55 2009 -0500 make net/ieee80211.h private to ipw2x00 Only ipw2x00 now uses it. Reduce confusion. Profit! Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1ea893fde29d8cf1639da8989f4b843dc3283ca8 Author: Dan Williams Date: Wed Feb 11 17:17:10 2009 -0500 hostap: convert usage of net/ieee80211.h to linux/ieee80211.h So that net/ieee80211.h can be made private to ipw2x00 in a follow-up. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 4d8faf6937fd7ada1f523b1cf565ffd2a0623e8c Author: Roel Kluin Date: Wed Feb 11 21:51:31 2009 +0100 wavelan: Test arraysize before an element of the array. Test arraysize before an element of the array. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 076ae609d20901b5fd9bc19fc4c245624c423970 Author: Johannes Berg Date: Wed Feb 11 20:27:30 2009 +0100 mac80211: disallow moving netns mac80211 currently assumes init_net for all interfaces, so really will not cope well with network namespaces, at least at this time. To change this, we would have keep track of the netns in addition to the ifindex, which is not something I want to think about right now. Signed-off-by: Johannes Berg Cc: Eric W. Biederman Signed-off-by: John W. Linville commit 53d6f81c7814690ba096584c733e5deaa34fdd8a Author: Vasanthakumar Thiagarajan Date: Wed Feb 11 22:18:49 2009 +0530 mac80211: Make sure non-HT connection when IEEE80211_STA_TKIP_WEP_USED is set It is possible that some broken AP might send HT IEs in it's assoc response even though the STA has not sent them in assoc req when WEP/TKIP is used as pairwise cipher suite. Also it is important to check this bit before enabling ht mode in beacon receive path. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f5ac2b9eb58f5efad83f2d0e7fa464e8980ecfc9 Author: Bing Zhao Date: Wed Feb 4 22:22:39 2009 -0800 libertas: fix power save issue in libertas_sdio module The problem: "iwconfig ethX power on" returns error The cause: "ps_supported" flag was never set for SD8385/8686 The fix: check firmware capabilities returned by GET_HW_SPEC command. Set "ps_supported" to 1 if FW_CAPINFO_PS bit is on. This fix applies to SDIO interface only. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 1d9bc6d648ece77ffb41c5a577eab81fac5ad4de Author: Ralph Campbell Date: Fri Feb 27 10:34:30 2009 -0800 IB/mad: Fix null pointer dereference in local_completions() handle_outgoing_dr_smp() can queue a struct ib_mad_local_private *local on the mad_agent_priv->local_work work queue with local->mad_priv == NULL if device->process_mad() returns IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_REPLY and (!ib_response_mad(&mad_priv->mad.mad) || !mad_agent_priv->agent.recv_handler). In this case, local_completions() will be called with local->mad_priv == NULL. The code does check for this case and skips calling recv_mad_agent->agent.recv_handler() but recv == 0 so kmem_cache_free() is called with a NULL pointer. Also, since recv isn't reinitialized each time through the loop, it can cause a memory leak if recv should have been zero. Signed-off-by: Ralph Campbell commit 7020cb0fe216fdcec246cdc2412614a3190fbb2f Author: Ramachandra K Date: Fri Feb 27 10:33:12 2009 -0800 IB/mad: Fix RMPP header RRespTime manipulation Fix ib_set_rmpp_flags() to use the correct bit mask for RRespTime. In the 8-bit field of the RMPP header, the first 5 bits are RRespTime and next 3 bits are RMPPFlags. Hence to retain the first 5 bits, the mask should be 0xF8 instead of 0xF1. ack_recv()-->format_ack() calls ib_set_rmpp_flags() and due to the incorrect ANDing with 0xF1, RRespTime got changed incorrectly and RMPP Acks sent back always had a RRespTime of 0x1E (30) which caused the other end to consider the time outs to be approximately 4297 seconds (i.e. in the order of 4*2^30) instead of the usual ~4 seconds (order of 4*2^20). Signed-off-by: Ramachandra K Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit 1aedb7721f05461f777fdee25b50d8a168c425ed Author: Or Gerlitz Date: Fri Feb 27 10:30:46 2009 -0800 IB/iser: Remove hard setting of path MTU Remove hard setting of the IB MTU used by iSER's RC queue-pair to 1K, as this was done due to inter-op issues with an old iser target which is not used any more. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 085343b47592b33276abf58a71c52ea29f0a338b Author: Jack Morgenstein Date: Fri Feb 27 10:29:13 2009 -0800 mlx4_core: Add device IDs for MT25458 10GigE devices Add device IDs for Mellanox MT25458 ConnectX+10GBaseT 10GigE adapters. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit c82c8abdeef53eb0bb0504becb4e91bbccceaee8 Author: Takashi Iwai Date: Fri Feb 27 17:52:22 2009 +0100 ALSA: hda - Fix an "unused variable" compile warning Forgot to remove an unused variable. sound/pci/hda/patch_realtek.c: In function ‘alc882_auto_init_analog_input’: sound/pci/hda/patch_realtek.c:7018: warning: unused variable ‘vref’ Signed-off-by: Takashi Iwai commit 53eff7e1e0de1cde8e8cbe619f401d2578dde946 Author: Takashi Iwai Date: Fri Feb 27 17:49:44 2009 +0100 ALSA: hda - Match all 103c:17xx devices for HP BPC model Use SND_PCI_QUIRK_MASK() to match all devices with 103c:17xx for HP BPC model. Signed-off-by: Takashi Iwai commit f897497673ffd2895778d85df38a5071434309b4 Merge: bedfceb... bb543c9... Author: Takashi Iwai Date: Fri Feb 27 17:47:31 2009 +0100 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_realtek.c commit 82af308f658cf2193e5058bbbfd37c3437cfb4e7 Author: Clemens Ladisch Date: Fri Feb 27 09:27:44 2009 +0100 sound: oxygen: zero-initialize model data Model drivers assume that model_data is zeroed, so we better use kzalloc() (like we did before when it was allocated together with the card structure). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0cfe82451dfa3ebf4e69158f2eb450f2fbb6b715 Author: Steven Rostedt Date: Fri Feb 27 10:51:10 2009 -0500 tracing: replace kzalloc with kcalloc Impact: clean up kcalloc is a better approach to allocate a NULL array. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit bedfcebb4fb33fc9ebd395462e72afa103db0bec Author: peerchen Date: Fri Feb 27 17:03:19 2009 +0800 ALSA: hda - Add the Device IDs for MCP89 and remove IDs of MCP7B Added the Device IDs for MCP89 HD audio controller. Removed the IDs of MCP7B cause this chipset had been cancelled. Signed-off-by: Peer Chen Signed-off-by: Takashi Iwai commit 5d242f1cee2c85721bbe9d8205e98c1c01f5d805 Author: Dhananjay Phadke Date: Wed Feb 25 15:57:56 2009 +0000 netxen: update copyright Extend copyright into 2009 and update address. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 465e985087e9a15ddbe8ad62d9a983ae434d84c6 Author: Hannes Eder Date: Wed Feb 25 13:11:37 2009 +0000 drivers/isdn/hardware/eicon: fix sparse warnings: Should it be static? Impact: Make symbols static. Fix this sparse warnings: drivers/isdn/hardware/eicon/message.c:1197:6: warning: symbol 'connect_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1414:6: warning: symbol 'connect_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1570:6: warning: symbol 'connect_a_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1576:6: warning: symbol 'disconnect_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1631:6: warning: symbol 'disconnect_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1658:6: warning: symbol 'listen_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1707:6: warning: symbol 'info_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1816:6: warning: symbol 'info_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1822:6: warning: symbol 'alert_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:1852:6: warning: symbol 'facility_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:2602:6: warning: symbol 'facility_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:2608:6: warning: symbol 'connect_b3_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:2842:6: warning: symbol 'connect_b3_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:2957:6: warning: symbol 'connect_b3_a_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:2977:6: warning: symbol 'disconnect_b3_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3033:6: warning: symbol 'disconnect_b3_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3089:6: warning: symbol 'data_b3_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3166:6: warning: symbol 'data_b3_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3199:6: warning: symbol 'reset_b3_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3240:6: warning: symbol 'reset_b3_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3264:6: warning: symbol 'connect_b3_t90_a_res' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:3298:6: warning: symbol 'select_b_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8692:6: warning: symbol 'sig_req' was not declared. Should it be static? drivers/isdn/hardware/eicon/message.c:8792:6: warning: symbol 'send_data' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 215a9c78ae92c0e33261f7973d52d70d9eeb367c Author: Hannes Eder Date: Wed Feb 25 13:11:23 2009 +0000 drivers/isdn/hardware/icon: fix sparse warning: cast truncates bits Fix this sparse warning: drivers/isdn/hardware/eicon/debug.c:1201:32: warning: cast truncates bits from constant value (1000 becomes 0) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit e86a6a1b7849217bb3b1ef725c7fee86ed6dae33 Author: Hannes Eder Date: Wed Feb 25 13:11:03 2009 +0000 drivers/isdn/hisax: fix sparse warning: Should it be static? Impact: Move declarations to a header file. Fix this sparse warning: drivers/isdn/hisax/callc.c:24:12: warning: symbol 'lli_revision' was not declared. Should it be static? drivers/isdn/hisax/config.c:84:12: warning: symbol 'CardType' was not declared. Should it be static? drivers/isdn/hisax/config.c:362:5: warning: symbol 'nrcards' was not declared. Should it be static? drivers/isdn/hisax/isdnl1.c:21:12: warning: symbol 'l1_revision' was not declared. Should it be static? drivers/isdn/hisax/isdnl2.c:22:12: warning: symbol 'l2_revision' was not declared. Should it be static? drivers/isdn/hisax/isdnl3.c:22:12: warning: symbol 'l3_revision' was not declared. Should it be static? drivers/isdn/hisax/tei.c:23:12: warning: symbol 'tei_revision' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit cf80063a7d8b1b477236e5491730c1ff71fc5577 Author: Hannes Eder Date: Wed Feb 25 13:09:52 2009 +0000 drivers/isdn/act2000: fix sparse warning: symbol shadows an earlier one Impact: Rename local variable 'c' to 't'. Fix this sparse warning: drivers/isdn/act2000/act2000_isa.c:260:70: warning: symbol 'c' shadows an earlier one Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit dfe925e8e9058c8af0d203ae7262437235623a68 Author: Hannes Eder Date: Wed Feb 25 13:08:40 2009 +0000 drivers/isdn/capi: fix sparse warning: context imbalance Impact: Attribute functions with __acquires(...) resp. __releases(...). Fix this sparse warnings: drivers/isdn/capi/kcapi_proc.c:241:13: warning: context imbalance in 'capi_driver_start' - wrong count at exit drivers/isdn/capi/kcapi_proc.c:252:13: warning: context imbalance in 'capi_driver_stop' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit da74ff0f9b31ed97104c22c278bf2b41bcf8f33c Merge: f701d35... 5c6a3ae... Author: Ingo Molnar Date: Fri Feb 27 09:06:11 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace Conflicts: kernel/sched_clock.c commit f701d354075914296474d062f18fc8ee681a2318 Merge: 1b49061... 64e7130... Author: Ingo Molnar Date: Fri Feb 27 09:04:43 2009 +0100 Merge branches 'tracing/ftrace' and 'linus' into tracing/core commit 0d5e19ab07cf61cb0794cfac4df0a1bd5d1e19d7 Author: Paul Mundt Date: Fri Feb 27 17:02:28 2009 +0900 sh: Fix up SH-X3 general exception handler build. With the recent entry.S refactoring, the SH-X3 path had a mov.l for a register to register copy, resulting in: AS arch/sh/kernel/cpu/sh4/../sh3/entry.o arch/sh/kernel/cpu/sh4/../sh3/entry.S: Assembler messages: arch/sh/kernel/cpu/sh4/../sh3/entry.S:366: Error: invalid operands for opcode make[3]: *** [arch/sh/kernel/cpu/sh4/../sh3/entry.o] Error 1 Switch it over to a mov to fix it up. Signed-off-by: Paul Mundt commit 57e41c86e21c03941d17df29e0793fd04585d9ee Author: Magnus Damm Date: Tue Feb 24 22:59:19 2009 +0900 sh: multiple vectors per irq - sh7785 Update intc tables and platform data to use one linux irq per maskable interrupt source instead of keeping the one-to-one mapping between vectors and linux irqs. This fixes potential irq masking issues for sh7785 hardware blocks such as SCIF/DMAC/PCIC5/MMCIF/GDTA/FLCTL/GPIO Signed-off-by: Magnus Damm Tested-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit a842fb2d11ee478dc2fd09b736b1bc62c386f18a Author: Magnus Damm Date: Tue Feb 24 22:59:12 2009 +0900 sh: multiple vectors per irq - sh7780 Update intc tables and platform data to use one linux irq per maskable interrupt source instead of keeping the one-to-one mapping between vectors and linux irqs. This fixes potential irq masking issues for sh7780 hardware blocks such as SCIF/RTC/DMAC/PCIC5/MMCIF/FLCTL/GPIO Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 69977e7e25a291fd71c6dcaf2c5ea9e776afede5 Author: Magnus Damm Date: Tue Feb 24 22:59:04 2009 +0900 sh: multiple vectors per irq - sh7750 Update intc tables and platform data to use one linux irq per maskable interrupt source instead of keeping the one-to-one mapping between vectors and linux irqs. This fixes potential irq masking issues for sh775x hardware blocks such as SCI/SCIF/RTC/DMAC/TMU2/REF. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bdaa6e8062d7f8085d8ed94ff88c99406ad53d79 Author: Magnus Damm Date: Tue Feb 24 22:58:57 2009 +0900 sh: multiple vectors per irq - base Instead of keeping the single vector -> single linux irq mapping we extend the intc code to support merging of vectors to a single linux irq. This helps processors such as sh7750, sh7780 and sh7785 which have more vectors than masking ability. With this patch in place we can modify the intc tables to use one irq per maskable irq source. Please note the following: - If multiple vectors share the same enum then only the first vector will be available as a linux irq. - Drivers may need to be rewritten to get pending irq source from the hardware block instead of irq number. This patch together with the sh7785 specific intc tables solves DMA controller irq issues related to buggy interrupt masking. Reported-by: Yoshihiro Shimoda Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3e91faec47e9e12b965c952d698b0bb64847af06 Author: Magnus Damm Date: Tue Feb 24 22:23:51 2009 +0900 sh: fix P4 iounmap() pass-through Fix iounmap() of pass-through P4 addresses. Without this patch iounmap() on the sh7780 rtc area results in a warning message. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5e084a1586a864d4e9b3f2edbb1bd3429909d652 Author: Magnus Damm Date: Tue Feb 24 22:11:03 2009 +0900 rtc: sh-rtc: Add Single IRQ Support Add support for single IRQ hardware to the sh-rtc driver. This is useful for processors with limited interrupt masking support such as sh7750 and sh7780. With this patch in place we can add logic to the intc code that merges all RTC vectors into a single linux interrupt with proper masking/unmasking support. Specify a single IRQ in the platform data to use this new shared IRQ feature. Separate Periodic/Carry/Alarm IRQs are still supported. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 973e5d525d39be6f9f6c38d37aacf03efda02e60 Author: Magnus Damm Date: Tue Feb 24 15:57:12 2009 +0900 serial: sh-sci: console drainage Modify the serial console code to wait for the transmit FIFO, make sure all bits have been put on the wire before returning. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit fe17f84f5f2a7d6c1a31c04c06a016d4ad5f7dec Author: Andy Grover Date: Tue Feb 24 15:30:39 2009 +0000 RDS: Kconfig and Makefile Add RDS Kconfig and Makefile, and modify net/'s to add us to the build. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit a09ed661f756d3209a19271192abe9b892b59c7d Author: Andy Grover Date: Tue Feb 24 15:30:41 2009 +0000 RDS: Add MAINTAINERS entry Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit cbd151bfc7b619b59c44c3697e901cb7152f418e Author: Andy Grover Date: Thu Feb 26 23:43:19 2009 -0800 RDS: Add RDS to AF key strings Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit db49b9d26c1966c683efced9e1c37f391d8f8182 Author: Andy Grover Date: Tue Feb 24 15:30:42 2009 +0000 RDS: Add userspace header Applications include this header in order to use RDS sockets. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit a73090ffaf0f6853880d9ac3fff7e5d88215131a Author: Paul Mundt Date: Fri Feb 27 16:42:05 2009 +0900 sh: Disable unsupportable prefetching on SH-3. The SH-3 does not support 'pref'-based prefetching, only SH-2A and SH-4A parts do. Remove SH-3 from the list. Signed-off-by: Paul Mundt commit 8a7c4c77267b1c77296cd03e6704813cb70706d1 Author: Andy Grover Date: Thu Feb 26 23:41:38 2009 -0800 RDS: Add AF and PF #defines for RDS sockets RDS is a reliable datagram protocol used for IPC on Oracle database clusters. This adds address and protocol family numbers for it. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 0197f21ca5c5ed0df2a14a60ef073e8163e6533b Author: Magnus Damm Date: Fri Feb 27 16:41:17 2009 +0900 sh: prefetch early exception data on sh4/sh4a. Prefetch early exception data. There is unused space in our exception handler cache line anyway, so this is almost free. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0c5f9b8830aa0ff8f97e4efdfe1e1c4fe08ec71c Author: Andy Grover Date: Tue Feb 24 15:30:38 2009 +0000 RDS: Documentation This file documents the specifics of the RDS sockets API, as well as covering some of the details of its internal implementation. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 55b7ed0b582f9ff4bf3b9b44969cddda8c6763ea Author: Andy Grover Date: Tue Feb 24 15:30:37 2009 +0000 RDS: Common RDMA transport code Although most of IB and iWARP are separated from each other, there is some common code required to handle their shared CM listen port. This code listens for CM events and then dispatches the event to the appropriate transport, either IB or iWARP. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit fcd8b7c0ecf792dd824b2edcd63cb2c08563c340 Author: Andy Grover Date: Tue Feb 24 15:30:36 2009 +0000 RDS: Add iWARP support Support for iWARP NICs is implemented as a separate RDS transport from IB. The code, however, is very similar to IB (it was forked, basically.) so let's keep it in one changeset. The reason for this duplicationis that despite its similarity to IB, there are a number of places where it has different semantics. iwarp zcopy support is still under development, and giving it its own sandbox ensures that IB code isn't disrupted while iwarp changes. Over time these transports will re-converge. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit e6babe4cc4ce48577d743cc0de19a214f2527956 Author: Andy Grover Date: Tue Feb 24 15:30:35 2009 +0000 RDS/IB: Stats and sysctls IB-specific stats and sysctls. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 1e23b3ee0e943060a2e677cd20ed666b6060e12d Author: Andy Grover Date: Tue Feb 24 15:30:34 2009 +0000 RDS/IB: Receive datagrams via IB Header parsing, ring refill. It puts the incoming data into an rds_incoming struct, which is passed up to rds-core. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 6a0979df32296c3ba75a346db47a18292a231c6e Author: Andy Grover Date: Tue Feb 24 15:30:33 2009 +0000 RDS/IB: Implement IB-specific datagram send. Specific to IB is a credits-based flow control mechanism, in addition to the expected usage of the IB API to package outgoing data into work requests. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 08b48a1ed84b19b602cbe979184ad06e7e1c025e Author: Andy Grover Date: Tue Feb 24 15:30:32 2009 +0000 RDS/IB: Implement RDMA ops using FMRs Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit f528efe276ec16603b78f95fb63ca26b5b4c87dc Author: Andy Grover Date: Tue Feb 24 15:30:31 2009 +0000 RDS/IB: Ring-handling code. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit ec16227e14141e4fd7ae76354c09dadfe2449d9e Author: Andy Grover Date: Tue Feb 24 15:30:30 2009 +0000 RDS/IB: Infiniband transport Registers as an RDS transport and an IB client, and uses IB CM API to allocate ids, queue pairs, and the rest of that fun stuff. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit eff5f53bef75c0864a5da06bb688939092b848dc Author: Andy Grover Date: Tue Feb 24 15:30:29 2009 +0000 RDS: RDMA support Some transports may support RDMA features. This handles the non-transport-specific parts, like pinning user pages and tracking mapped regions. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit bdbe6fbc6a2f2ccfb384b141b257677d2a8d36fb Author: Andy Grover Date: Tue Feb 24 15:30:28 2009 +0000 RDS: recv.c Upon receiving a datagram from the transport, RDS parses the headers and potentially queues an ACK. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 5c11559046c4b3498d1977a029de8a312eacce35 Author: Andy Grover Date: Tue Feb 24 15:30:27 2009 +0000 RDS: send.c This is the code to send an RDS datagram. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 7875e18e09961d29f30424c5e2e48e704dc3789b Author: Andy Grover Date: Tue Feb 24 15:30:26 2009 +0000 RDS: Message parsing Parsing of newly-received RDS message headers (including ext. headers) and copy-to/from-user routines. page.c implements a per-cpu page remainder cache, to reduce the number of allocations needed for small datagrams. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 3e5048495c8569bfdd552750e0315973c61e7c93 Author: Andy Grover Date: Tue Feb 24 15:30:25 2009 +0000 RDS: sysctls RDS exposes a few tunable parameters via sysctls. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 13796bf9edc9d2008cfaa3ebea89312ced0d44a9 Author: Andy Grover Date: Tue Feb 24 15:30:24 2009 +0000 RDS: loopback A simple rds transport to handle loopback connections. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 00e0f34c616603ba6500f41943cbf89eb4a8a5be Author: Andy Grover Date: Tue Feb 24 15:30:23 2009 +0000 RDS: Connection handling While arguably the fact that the underlying transport needs a connection to convey RDS's datagrame reliably is not important to rds proper, the transports implemented so far (IB and TCP) have both been connection-oriented, and so the connection state machine-related code is in the common rds code. This patch also includes several work items, to handle connecting, sending, receiving, and shutdown. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit a8c879a7ee988eb67a5e85e87fa2cc953e0ca749 Author: Andy Grover Date: Tue Feb 24 15:30:22 2009 +0000 RDS: Info and stats RDS currently generates a lot of stats that are accessible via the rds-info utility. This code implements the support for this. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 0fbc78cbf51f3edee17c2ede42c7b3c13736158a Author: Andy Grover Date: Tue Feb 24 15:30:21 2009 +0000 RDS: Transport code RDS supports multiple transports. While this initial submission only supports Infiniband transport, this abstraction allows others to be added. We're working on an iWARP transport, and also see UDP over DCB as another possibility. This code handles transport registration. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 922cb17a5c812fcc9ebee249f4109db099896941 Author: Andy Grover Date: Tue Feb 24 15:30:20 2009 +0000 RDS: Congestion-handling code RDS handles per-socket congestion by updating peers with a complete congestion map (8KB). This code keeps track of these maps for itself and ones received from peers. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 39de8281791c4a01abcb0d32879530ffa5863c01 Author: Andy Grover Date: Tue Feb 24 15:30:19 2009 +0000 RDS: Main header file RDS's main data structure definitions and exported functions. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 639b321b4d8f4e412bfbb2a4a19bfebc1e68ace4 Author: Andy Grover Date: Tue Feb 24 15:30:18 2009 +0000 RDS: Socket interface Implement the RDS (Reliable Datagram Sockets) interface. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 1b49061d400c9e51e3ac2aac026a099fe599b9bb Merge: 14131f2... 83ce400... Author: Ingo Molnar Date: Thu Feb 26 21:21:59 2009 +0100 Merge branch 'sched/clock' into tracing/ftrace Conflicts: kernel/sched_clock.c commit 4f099ebb27211d378304ddcfa507097f5128f5b9 Author: Magnus Damm Date: Mon Feb 23 07:16:34 2009 +0000 sh: remove EXPEVT vector from stack on sh3/sh4/sh4a Remove EXPEVT vector from the stack, lookup_exception_vector() for sh3/sh4/sh4a is already using k2 to get the vector. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1dd22722f6bf9be9821657a2d59fae4d4365fb32 Author: Magnus Damm Date: Mon Feb 23 07:15:07 2009 +0000 sh: rework register restore code for sh3/sh4/sh4a This patch reworks the sh3/sh4/sh4a register restore code in the following ways: - break out restore_regs() from restore_all() - the register saving order is unchanged - use restore_regs() in sh_bios_handler and restore_all - document the function Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1d015cf02a1fd46385c03cf3ce8958dbea705dd3 Author: Magnus Damm Date: Mon Feb 23 07:14:02 2009 +0000 sh: shared register saving code for sh3/sh4/sh4a This patch reworks the sh3/sh4/sh4a register saving code in the following ways: - break out prepare_stack_save_dsp() from handle_exception() - break out save_regs() from handle_exception() - the register saving order is unchanged - align new functions to fit in cache lines - separate exception code from interrupt code - keep main code flow in a single cache line per exception vector - use bsr/rts for regular functions (save pr first) - keep data in one shared cache line (exception_data) - document the functions - tie in the hp6xx code Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b775a750c3afacbfac884537d466d34d50b1023b Author: Ben Hutchings Date: Thu Feb 26 23:21:23 2009 -0800 typhoon: Use request_firmware() Based on a patch by Jaswinder Singh . Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 06e1f9ffa023c030bc87491e75f625f5da4e7d97 Author: Ben Hutchings Date: Thu Feb 26 23:20:56 2009 -0800 tehuti: Use request_firmware() Firmware blob is little endian. Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1318136fcda34d27ca8c322b6a0550200c3a8cec Author: Matt Carlson Date: Wed Feb 25 14:41:06 2009 +0000 Update TG3 MAINTAINERS entry This patch injects myself into the TG3 MAINTAINERS entry. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0d2a5068aaa238eba971784585e44130db6d4759 Author: Matt Carlson Date: Wed Feb 25 14:40:42 2009 +0000 tg3: Update copyright and version This patch updates the copyright to 2009 and updates the version number to 3.98. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a6f6cb1cf8ba54efdbbbf61b5b4345b0246da42f Author: Matt Carlson Date: Wed Feb 25 14:27:43 2009 +0000 tg3: Add version reporting for hardware selfboot This patch adds version reporting for hardware selfboot. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7fd764455a13f4d9b37c9b908f07d0758f11d3c5 Author: Matt Carlson Date: Wed Feb 25 14:27:20 2009 +0000 tg3: Add DASH firmware version reporting This patch adds code to report the DASH firmware version. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ff3a7cb25217bddcefd20e72af08a65481db4096 Author: Matt Carlson Date: Wed Feb 25 14:26:58 2009 +0000 tg3: Add legacy bootcode version decoding This patch adds code to obtain the bootcode version for versions of bootcode that do not use the new method. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit acd9c119cc663860fff4f1445ed0f87d82378d99 Author: Matt Carlson Date: Wed Feb 25 14:26:33 2009 +0000 tg3: Refactor firmware version routines This patch reorganizes the firmware version routines in preparation for the following patches. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6d348f2c1e0bb1cf7a494b51fc921095ead3f6ae Author: Matt Carlson Date: Wed Feb 25 14:25:52 2009 +0000 tg3: Eliminate tg3_nvram_read_swab() The remaining uses of tg3_nvram_read_swab() either intended to read the data from NVRAM exactly as tg3_nvram_read_be32() did or hide deeper interpretations of the data. For the former case, a direct replacement of tg3_nvram_read_swab() with tg3_nvram_read_be32() is in order. For the latter case, we remove tg3_nvram_read_swab() and document what the code is really doing. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a9dc529dcd5c541c51cb2ba09bff99580361c576 Author: Matt Carlson Date: Wed Feb 25 14:25:30 2009 +0000 tg3: Correct NVRAM stream endian notations Any software requesting NVRAM data as it exists on NVRAM is necessarily requesting that the results be returned as a bytestream. A bytestream data read in from the device can also be thought to be in big endian format. Therefore, all the LE notations in the driver are mislabeled. This patch converts all LE notations to BE notations, carefully evaluating the surrounding code in the process. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e4f341103e4a2b35f56a0f89802f1b1448e8d04b Author: Matt Carlson Date: Wed Feb 25 14:25:00 2009 +0000 tg3: Invert nvram_read() and nvram_read_swab() This patch removes the blind byteswap of NVRAM data as it is read in. To preserve the logic at the call sites, this patch also inverts every call to tg3_nvram_read() and tg3_nvram_read_swab(). The call swap gets confusing within tg3_nvram_read_le() (LE is a misnomer), but the reader should be able to convince himself / herself that the resulting behavior is still unchanged. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ffbcfed441b9ba74ce77f215eed6925f6a0b82a3 Author: Matt Carlson Date: Wed Feb 25 14:24:28 2009 +0000 tg3: Eliminate nvram routine forward declarations This patch moves all NVRAM routines earlier in the source file to eliminate forward declarations. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 844b3eed8a9efffa4225c811b989c8ff41691a78 Author: Matt Carlson Date: Wed Feb 25 14:23:56 2009 +0000 tg3: Refine tg3_vlan_rx_register() tg3_vlan_rx_register() touches the hardware if netif_running() returns false. This patch fixes the problem. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7e5856bd9644e2299adbf5d0a8916f9cc56f1f36 Author: Matt Carlson Date: Wed Feb 25 14:23:01 2009 +0000 tg3: Update ethtool set_settings error checks The ethtool interface has acquired some new enumerations since the tg3 driver's tg3_set_settings() error checking code was written. The error checking code is no longer complete. This patch rewrites the error checking so that it is future-proofed. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f7b493e02101bb5a0a69a91a8b4b7b002cd60eaf Author: Matt Carlson Date: Wed Feb 25 14:21:52 2009 +0000 tg3: Drop non-VLAN rx pkts larger than the MTU The hardware's MTU is configured so that it will accept packets whose VLAN tag is left inline. This means that the hardware will also accept other packets larger than the desired MTU size. This patch checks for and discards packets that are larger than the requested MTU but are not VLAN tagged frames. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a6435f3a53746a0eb687a9f636cf1941f35f935e Author: Matt Carlson Date: Wed Feb 25 14:21:20 2009 +0000 tg3: Fix 5906 link problems Commit 6833c043f9fc03696fde623914c4a0277df2a0bc introduced the phy auto-powerdown capability. While the APD feature only works for 5761 and 5784 asic revisions, the (harmless portion of the) code was applied to all 5705 and newer devices. However, the 5906 phy departs from the usual design. This commit was interfering with the 5906's ability to negotiate link against some switches. This patch corrects the problem. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9ee62630fddda0142cebc45e3bbea20a8009be97 Author: Hannes Eder Date: Wed Feb 25 10:33:06 2009 +0000 wanrouter: fix sparse warnings: context imbalance Impact: Attribute functions with __acquires(...) resp. __releases(...). Fix this sparse warnings: net/wanrouter/wanproc.c:82:13: warning: context imbalance in 'r_start' - wrong count at exit net/wanrouter/wanproc.c:103:13: warning: context imbalance in 'r_stop' - unexpected unlock net/wanrouter/wanmain.c:765:13: warning: context imbalance in 'lock_adapter_irq' - wrong count at exit net/wanrouter/wanmain.c:771:13: warning: context imbalance in 'unlock_adapter_irq' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 56bca31ff1989aa8b60f717e984b0e624f06324e Author: Hannes Eder Date: Wed Feb 25 10:32:52 2009 +0000 inet fragments: fix sparse warning: context imbalance Impact: Attribute function with __releases(...) Fix this sparse warning: net/ipv4/inet_fragment.c:276:35: warning: context imbalance in 'inet_frag_find' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit e57c624be8f99e56560fd2f4f485fe29f28dd74f Author: Hannes Eder Date: Wed Feb 25 10:32:39 2009 +0000 decnet: fix sparse warnings: symbol shadows an earlier one Impact: Remove redundant variable declarations, resp. rename inner scope variable. Fix this sparse warnings: net/decnet/af_decnet.c:1252:40: warning: symbol 'skb' shadows an earlier one net/decnet/af_decnet.c:1223:24: originally declared here net/decnet/af_decnet.c:1582:29: warning: symbol 'val' shadows an earlier one net/decnet/af_decnet.c:1527:22: originally declared here net/decnet/dn_dev.c:687:21: warning: symbol 'err' shadows an earlier one net/decnet/dn_dev.c:670:13: originally declared here net/decnet/sysctl_net_decnet.c:182:21: warning: symbol 'len' shadows an earlier one net/decnet/sysctl_net_decnet.c:173:16: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 8521c27ee79533db444dcac291992b6bf8d61fc8 Author: Hannes Eder Date: Wed Feb 25 10:32:25 2009 +0000 decnet: fix sparse warnings: context imbalance Impact: Attribute functions with __acquires(...) resp. __releases(...). Fix this sparse warnings: net/decnet/dn_dev.c:1324:13: warning: context imbalance in 'dn_dev_seq_start' - wrong count at exit net/decnet/dn_dev.c:1366:13: warning: context imbalance in 'dn_dev_seq_stop' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 63d819caebcc3ca260ca0214d29044293969aa2f Author: Hannes Eder Date: Wed Feb 25 10:32:14 2009 +0000 sysctl: fix sparse warning: Should it be static? Impact: Include header file. Fix this sparse warning: net/core/sysctl_net_core.c:123:32: warning: symbol 'net_core_path' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 2db096086e8ff6c2a42881966e441157c686603b Author: Hannes Eder Date: Wed Feb 25 10:31:59 2009 +0000 appletalk: fix warning: format not a string literal and no ... Impact: Use 'static const char[]' instead of 'static char[]', and since the data is const now it can be placed in __initconst. Fix this warning: net/appletalk/ddp.c: In function 'atalk_init': net/appletalk/ddp.c:1894: warning: format not a string literal and no format arguments Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit e3db6cb42123f6dbde36122a4c81a06282370e1e Author: Hannes Eder Date: Wed Feb 25 10:31:37 2009 +0000 9p: fix sparse warning: cast adds address space Impact: Trust in the comment and add '__force' to the cast. Fix this sparse warning: net/9p/trans_fd.c:420:34: warning: cast adds address space to expression () Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 81c553299ffc4ce3512a6ea3eaf5070c2238c960 Author: Hannes Eder Date: Wed Feb 25 10:31:24 2009 +0000 net/802: fix sparse warnings: context imbalance Impact: Attribute function with __acquires(...) resp. __releases(...). Fix this sparse warnings: net/802/tr.c:492:21: warning: context imbalance in 'rif_seq_start' - wrong count at exit net/802/tr.c:519:13: warning: context imbalance in 'rif_seq_stop' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 893d7de7c319b31626816e2095492003cc2df2a6 Author: Wei Yongjun Date: Wed Feb 25 00:47:26 2009 +0000 ns83820: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit f4fe5a9c6d49d760569feed12d54743e0c4fe6e8 Author: Wei Yongjun Date: Wed Feb 25 00:45:09 2009 +0000 chelsio: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit c3431ea71ee2ec9d892b5d7a83eb0afcf8c79263 Author: Wei Yongjun Date: Wed Feb 25 00:42:22 2009 +0000 llc: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 47a30b26e58ab7e56e5654766fd678a4b90010e3 Author: Wei Yongjun Date: Wed Feb 25 00:41:03 2009 +0000 iucv: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit db849df63cdc95e0345b1f4bcf8bbfa19ef592b6 Author: Wei Yongjun Date: Wed Feb 25 00:39:01 2009 +0000 decnet: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit f3fbbe0f6f6cbac4c2aa3d71d95e49cf148286d6 Author: Wei Yongjun Date: Wed Feb 25 00:37:32 2009 +0000 core: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit acb5d75b9bcff73d32d3471a9b3e9a4189223e48 Author: Wei Yongjun Date: Wed Feb 25 00:36:42 2009 +0000 packet: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit ce030edfb4ba6734248b8d9f98d0a6f1dcd142e7 Author: Wei Yongjun Date: Wed Feb 25 00:35:44 2009 +0000 can: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 91744f6559393697e13bf0f9f3f35f884e2520f9 Author: Wei Yongjun Date: Wed Feb 25 00:34:41 2009 +0000 netlink: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 40d44446cf10d9d118e8f0132c94e1f25ea3be97 Author: Wei Yongjun Date: Wed Feb 25 00:32:45 2009 +0000 unix: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 86dc1ad2be17a7436ee8c6799f6b55e5a5b930f4 Author: Wei Yongjun Date: Wed Feb 25 00:31:54 2009 +0000 pktgen: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit b233b28eac0cc37d07c2d007ea08c86c778c5af4 Author: Adrian McMenamin Date: Fri Feb 27 16:07:32 2009 +0900 sh: maple: Support block reads and writes. This patch updates the maple bus to support asynchronous block reads and writes as well as generally improving the quality of the code and supporting concurrency (all needed to support the Dreamcast visual memory unit - a driver will also be posted for that). Changes in the bus driver necessitate some changes in the two maple bus input drivers that are currently in mainline. As well as supporting block reads and writes this code clean up removes some poor handling of locks, uses an atomic status variable to serialise access to devices and more robusly handles the general performance problems of the bus. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 6f961068671698c242f1828960485fef1392916f Author: Wei Yongjun Date: Wed Feb 25 00:31:04 2009 +0000 af_key: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit fbbfb986a8a3dfb42cd4cae7b1c7f822792823af Author: Wei Yongjun Date: Wed Feb 25 00:22:41 2009 +0000 wan: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Acked-by: Jan "Yenya" Kasprzak Signed-off-by: David S. Miller commit c71a2699c511623e0520c754cfc109c191bf64e2 Author: Wei Yongjun Date: Wed Feb 25 00:20:29 2009 +0000 i2400m: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit aaff1e1904f787579778a1818f0891c91ae22ec0 Author: Wei Yongjun Date: Wed Feb 25 00:18:12 2009 +0000 drivers/net/rionet.c: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 1d2f8c950745f47f2937742eb886cffee439b754 Author: Wei Yongjun Date: Wed Feb 25 00:16:08 2009 +0000 ppp: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 875b48297b8ab2f402680821da47d23bd6bddc55 Author: Wei Yongjun Date: Wed Feb 25 00:14:27 2009 +0000 irda: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit d46604e178f01305e63564864517926bb752d4a3 Author: Wei Yongjun Date: Wed Feb 25 00:12:09 2009 +0000 isdn: remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit e44578ea7c4f87462e05e0d0a2dd43b6beecd5f6 Author: Paulius Zaleckas Date: Mon Feb 23 05:58:27 2009 +0000 hso: remove hso_free_device() There is really no need for function just doing simple kfree() Signed-off-by: Paulius Zaleckas Cc: Denis Joseph Barrow Signed-off-by: David S. Miller commit a6f26e4b0e1d63f466df7ae0fa35398316cf2dfc Author: Paulius Zaleckas Date: Mon Feb 23 05:39:34 2009 +0000 hso: remove claiming and releasing of USB interface No need to reclaim the same USB interface beeing probed. Releasing interface does nothing also. This is already in for a long time in off-kernel hso driver and no regresions were noticed for this change. Signed-off-by: Paulius Zaleckas Cc: Denis Joseph Barrow Signed-off-by: David S. Miller commit 6ceffd477808b806d0510747a77fca0a1a60a5b2 Author: Paulius Zaleckas Date: Mon Feb 23 04:59:43 2009 +0000 ppp_generic: Simplify tx_dropped stats Local variable dev = ppp->dev Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit 63748aa8cd20a6bfb4a8ef3be9b51bec5e38ab72 Merge: 43be636... b1fb068... Author: David S. Miller Date: Thu Feb 26 22:46:54 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit 43be63662db56de3f87cb4a86bfe062a9797be65 Author: Greg Ungerer Date: Thu Feb 26 22:42:51 2009 -0800 m68knommu: remove ColdFire specific setup code from FEC driver Remove the ColdFire CPU specific setup from here. The ColdFire CPU platform code now sets up all this. Signed-off-by: Greg Ungerer Signed-off-by: David S. Miller commit ffba3f48bcd2d8af0570e7d4ce9b86fc4de9b10d Author: Greg Ungerer Date: Thu Feb 26 22:40:38 2009 -0800 fec: add FEC platform support to ColdFire CPU's setup code m68knommu: add FEC platform support to ColdFire CPU's setup code Move the per-CPU FEC driver setup code into the actual platform setup code for each ColdFire CPU varient. Signed-off-by: Greg Ungerer Signed-off-by: David S. Miller commit 211174ea8dca4502e20008de7ff2ad389db023a5 Author: Eric Sesterhenn Date: Thu Feb 26 22:38:15 2009 -0800 MISDN: list usage cleanup Trivial cleanup, list_del(); list_add_tail() is equivalent to list_move_tail(). Semantic patch for coccinelle can be found at www.cccmz.de/~snakebyte/list_move_tail.spatch Signed-off-by: Eric Sesterhenn Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 4974097a97c6c11c22c2242f70821e2af65ef8e7 Author: Ron Mercer Date: Thu Feb 26 10:08:36 2009 +0000 qlge: Reduce debug print output. Get rid of some noise that is for debug only. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b0c2aadfa4d2194615ba8f5630be7ae686b9ed01 Author: Ron Mercer Date: Thu Feb 26 10:08:35 2009 +0000 qlge: Prepare to add new device. This organizes a few calls into a function table to enable adding new devices. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 125844eaff0e9600c92a753995564fd93c807f3c Author: Ron Mercer Date: Thu Feb 26 10:08:34 2009 +0000 qlge: Move firmware event handler. This is not a logical change but rather a move of the inbound firmware event handler into it's own function as it will later be called by the outbound path. The addition of the mutex is to create exclusive access to the mailbox commands between inbound and outbound handling. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a2e809bb1b2174af66bf9798444f7e90892f45a9 Author: Ron Mercer Date: Thu Feb 26 10:08:33 2009 +0000 qlge: Clean up firmware reset path. Add function for performing the reset rather than in-line. This function may later be called by a core dump process. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b82808b759ffb8f4db2a1f8989195d95c8625cfe Author: Ron Mercer Date: Thu Feb 26 10:08:32 2009 +0000 qlge: Add defines for firmware support. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 036b66879addb28ad7104ca975317528bfc79e47 Author: Stephen Hemminger Date: Thu Feb 26 10:19:36 2009 +0000 mdio: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6a64cd64c056d46b419bb07b02153b00df97a2c5 Author: Stephen Hemminger Date: Thu Feb 26 10:19:35 2009 +0000 forcedeth: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 98683956acea08858a3326eb4d61e5cf40c67fe2 Author: Stephen Hemminger Date: Thu Feb 26 10:19:34 2009 +0000 hamachi: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3af0fe39751d69d6dc8008712ee4cee53705f7f9 Author: Stephen Hemminger Date: Thu Feb 26 10:19:33 2009 +0000 sundance: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b5defaa5d610666ef4d83fef70f0625a202314ea Author: Stephen Hemminger Date: Thu Feb 26 10:19:32 2009 +0000 starfire: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c8de1fce1a3a6590854e4e7b5aff83ced2b77060 Author: Stephen Hemminger Date: Thu Feb 26 10:19:31 2009 +0000 via-rhine: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6f101d19f13b4f6edb9da5ce2744b1b3f44529c3 Author: Stephen Hemminger Date: Thu Feb 26 10:19:30 2009 +0000 fealnx: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23410495d7f2026b3003642a1931b8366d423ce0 Author: Stephen Hemminger Date: Thu Feb 26 10:19:29 2009 +0000 natsemi: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit da38075cd1c7fc89b8730e907d63b9bf718586bb Author: Stephen Hemminger Date: Thu Feb 26 10:19:28 2009 +0000 acenic: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7285484afd489417ec55fea16295dff7f3cabb5e Author: Stephen Hemminger Date: Thu Feb 26 10:19:27 2009 +0000 yellowfin: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9a3c3de71d585088048c8f0d3a0d12af1426d187 Author: Stephen Hemminger Date: Thu Feb 26 10:19:26 2009 +0000 sis900: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8937bb7b44b991c2535ad917e925c2daa2cd6096 Author: Stephen Hemminger Date: Thu Feb 26 10:19:25 2009 +0000 ne2k-pci: fix non-constant printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 86de79b6d058df87fdf025c6c484b37340fb0205 Author: Stephen Hemminger Date: Thu Feb 26 10:19:24 2009 +0000 3c59x: get rid of non-const printk warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 81b700b1ed496cf21e7ed5991c80dfe5e6723266 Author: Stephen Hemminger Date: Thu Feb 26 10:19:23 2009 +0000 lapb: get rid of non-const printk warning Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 03f54b3dec072d92393c1fb7eaab62e615161833 Author: Stephen Hemminger Date: Thu Feb 26 10:19:22 2009 +0000 tulip: get rid of warning for non-const string literal Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit aafbf16b89c6888add3ea22fde1b5ac3f5aaf947 Author: Grant Likely Date: Thu Feb 26 23:19:36 2009 -0700 powerpc/5200: Add 'simple-bus' to the of_platform probe list. To better match the ePAPR specification, device nodes which claim "simple-bus" compatibility should be probed by default. Signed-off-by: Grant Likely commit 86f5a4a7d7e2fd0b8eb38833e568ab1061c7a18c Author: Grzegorz Bernacki Date: Thu Feb 26 22:55:29 2009 -0700 powerpc/5200: On the digsy-mtc, configure PSC4 and PSC5 as UARTs On digsy MTC PSC4 and PSC5 should be configured as UART, not PSC3 and PSC4. Signed-off-by: Grzegorz Bernacki Signed-off-by: Grant Likely commit 652b2db16f55a0f2afd695a8b241e82b52b13c63 Author: Grzegorz Bernacki Date: Thu Feb 26 22:55:03 2009 -0700 powerpc/5200: Add digsy-mtc support to mpc5200_defconfig The following options are enabled to support the digsy-mtc. - LXT phy - AT24 eeprom - RTC (DS1337) - MTD partitioning based on OF description Signed-off-by: Grzegorz Bernacki Signed-off-by: Grant Likely commit 5c6a3ae1b4beebb56e2916b84f1208d96a9e32ff Author: Steven Rostedt Date: Fri Feb 27 00:22:21 2009 -0500 tracing: use newline separator for trace options list Impact: clean up Instead of listing the trace options like: # cat /debug/tracing/trace_options print-parent nosym-offset nosym-addr noverbose noraw nohex nobin noblock nostacktrace nosched-tree ftrace_printk noftrace_preempt nobranch annotate nouserstacktrace nosym-userobj We now list them like: # cat /debug/tracing/trace_options print-parent nosym-offset nosym-addr noverbose noraw nohex nobin noblock nostacktrace nosched-tree ftrace_printk noftrace_preempt nobranch annotate nouserstacktrace nosym-userobj Signed-off-by: Steven Rostedt commit b1fb06830dc870d862f7f80e276130c0ab84d59f Author: Wei Yongjun Date: Wed Feb 25 18:09:33 2009 +0800 Bluetooth: Remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: Marcel Holtmann commit 7585b97a48180f754ebdade1be94092e36bef365 Author: Wei Yongjun Date: Wed Feb 25 18:29:52 2009 +0800 Bluetooth: Remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: Marcel Holtmann commit 2ae9a6be5f476f3512839a4d11a8f432bfd2914c Author: Dave Young Date: Sat Feb 21 16:13:34 2009 +0800 Bluetooth: Move hci_conn_del_sysfs() back to avoid device destruct too early The following commit introduce a regression: commit 7d0db0a373195385a2e0b19d1f5e4b186fdcffac Author: Marcel Holtmann Date: Mon Jul 14 20:13:51 2008 +0200 [Bluetooth] Use a more unique bus name for connections I get panic as following (by netconsole): [ 2709.344034] usb 5-1: new full speed USB device using uhci_hcd and address 4 [ 2709.505776] usb 5-1: configuration #1 chosen from 1 choice [ 2709.569207] Bluetooth: Generic Bluetooth USB driver ver 0.4 [ 2709.570169] usbcore: registered new interface driver btusb [ 2845.742781] BUG: unable to handle kernel paging request at 6b6b6c2f [ 2845.742958] IP: [] __lock_acquire+0x6c/0xa80 [ 2845.743087] *pde = 00000000 [ 2845.743206] Oops: 0002 [#1] SMP [ 2845.743377] last sysfs file: /sys/class/bluetooth/hci0/hci0:6/type [ 2845.743742] Modules linked in: btusb netconsole snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss rfcomm l2cap bluetooth vfat fuse snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm pl2303 snd_timer psmouse usbserial snd 3c59x e100 serio_raw soundcore i2c_i801 intel_agp mii agpgart snd_page_alloc rtc_cmos rtc_core thermal processor rtc_lib button thermal_sys sg evdev [ 2845.743742] [ 2845.743742] Pid: 0, comm: swapper Not tainted (2.6.29-rc5-smp #54) Dell DM051 [ 2845.743742] EIP: 0060:[] EFLAGS: 00010002 CPU: 0 [ 2845.743742] EIP is at __lock_acquire+0x6c/0xa80 [ 2845.743742] EAX: 00000046 EBX: 00000046 ECX: 6b6b6b6b EDX: 00000002 [ 2845.743742] ESI: 6b6b6b6b EDI: 00000000 EBP: c064fd14 ESP: c064fcc8 [ 2845.743742] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 2845.743742] Process swapper (pid: 0, ti=c064e000 task=c05d1400 task.ti=c064e000) [ 2845.743742] Stack: [ 2845.743742] c05d1400 00000002 c05d1400 00000001 00000002 00000000 f65388dc c05d1400 [ 2845.743742] 6b6b6b6b 00000292 c064fd0c c0153732 00000000 00000000 00000001 f700fa50 [ 2845.743742] 00000046 00000000 00000000 c064fd40 c0155be6 00000000 00000002 00000001 [ 2845.743742] Call Trace: [ 2845.743742] [] ? trace_hardirqs_on_caller+0x72/0x1c0 [ 2845.743742] [] ? lock_acquire+0x76/0xa0 [ 2845.743742] [] ? skb_dequeue+0x1d/0x70 [ 2845.743742] [] ? _spin_lock_irqsave+0x45/0x80 [ 2845.743742] [] ? skb_dequeue+0x1d/0x70 [ 2845.743742] [] ? skb_dequeue+0x1d/0x70 [ 2845.743742] [] ? skb_queue_purge+0x14/0x20 [ 2845.743742] [] ? hci_conn_del+0x10a/0x1c0 [bluetooth] [ 2845.743742] [] ? l2cap_disconn_ind+0x59/0xb0 [l2cap] [ 2845.743742] [] ? hci_conn_del_sysfs+0x8e/0xd0 [bluetooth] [ 2845.743742] [] ? hci_event_packet+0x5f8/0x31c0 [bluetooth] [ 2845.743742] [] ? sock_def_readable+0x59/0x80 [ 2845.743742] [] ? _read_unlock+0x1d/0x20 [ 2845.743742] [] ? hci_send_to_sock+0xe9/0x1d0 [bluetooth] [ 2845.743742] [] ? trace_hardirqs_on+0xb/0x10 [ 2845.743742] [] ? hci_rx_task+0x2ba/0x490 [bluetooth] [ 2845.743742] [] ? tasklet_action+0x31/0xc0 [ 2845.743742] [] ? tasklet_action+0x4c/0xc0 [ 2845.743742] [] ? __do_softirq+0xa7/0x170 [ 2845.743742] [] ? ack_apic_level+0x5c/0x1c0 [ 2845.743742] [] ? do_softirq+0x57/0x60 [ 2845.743742] [] ? irq_exit+0x7c/0x90 [ 2845.743742] [] ? do_IRQ+0x4b/0x90 [ 2845.743742] [] ? irq_exit+0x75/0x90 [ 2845.743742] [] ? common_interrupt+0x2c/0x34 [ 2845.743742] [] ? mwait_idle+0x4f/0x70 [ 2845.743742] [] ? cpu_idle+0x65/0xb0 [ 2845.743742] [] ? rest_init+0x4e/0x60 [ 2845.743742] Code: 0f 84 69 02 00 00 83 ff 07 0f 87 1e 06 00 00 85 ff 0f 85 08 05 00 00 8b 4d cc 8b 49 04 85 c9 89 4d d4 0f 84 f7 04 00 00 8b 75 d4 ff 86 c4 00 00 00 89 f0 e8 56 a9 ff ff 85 c0 0f 85 6e 03 00 [ 2845.743742] EIP: [] __lock_acquire+0x6c/0xa80 SS:ESP 0068:c064fcc8 [ 2845.743742] ---[ end trace 4c985b38f022279f ]--- [ 2845.743742] Kernel panic - not syncing: Fatal exception in interrupt [ 2845.743742] ------------[ cut here ]------------ [ 2845.743742] WARNING: at kernel/smp.c:329 smp_call_function_many+0x151/0x200() [ 2845.743742] Hardware name: Dell DM051 [ 2845.743742] Modules linked in: btusb netconsole snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss rfcomm l2cap bluetooth vfat fuse snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm pl2303 snd_timer psmouse usbserial snd 3c59x e100 serio_raw soundcore i2c_i801 intel_agp mii agpgart snd_page_alloc rtc_cmos rtc_core thermal processor rtc_lib button thermal_sys sg evdev [ 2845.743742] Pid: 0, comm: swapper Tainted: G D 2.6.29-rc5-smp #54 [ 2845.743742] Call Trace: [ 2845.743742] [] warn_slowpath+0x86/0xa0 [ 2845.743742] [] ? trace_hardirqs_off+0xb/0x10 [ 2845.743742] [] ? up+0x14/0x40 [ 2845.743742] [] ? release_console_sem+0x31/0x1e0 [ 2845.743742] [] ? _spin_lock_irqsave+0x6b/0x80 [ 2845.743742] [] ? trace_hardirqs_off+0xb/0x10 [ 2845.743742] [] ? _read_lock_irqsave+0x40/0x80 [ 2845.743742] [] ? release_console_sem+0x1c2/0x1e0 [ 2845.743742] [] ? up+0x14/0x40 [ 2845.743742] [] ? trace_hardirqs_off+0xb/0x10 [ 2845.743742] [] ? __mutex_unlock_slowpath+0x97/0x160 [ 2845.743742] [] ? mutex_trylock+0xb3/0x180 [ 2845.743742] [] ? mutex_unlock+0x8/0x10 [ 2845.743742] [] smp_call_function_many+0x151/0x200 [ 2845.743742] [] ? stop_this_cpu+0x0/0x40 [ 2845.743742] [] smp_call_function+0x21/0x30 [ 2845.743742] [] native_smp_send_stop+0x1e/0x50 [ 2845.743742] [] panic+0x55/0x110 [ 2845.743742] [] oops_end+0xb8/0xc0 [ 2845.743742] [] die+0x4f/0x70 [ 2845.743742] [] do_page_fault+0x269/0x610 [ 2845.743742] [] ? do_page_fault+0x0/0x610 [ 2845.743742] [] error_code+0x77/0x7c [ 2845.743742] [] ? __lock_acquire+0x6c/0xa80 [ 2845.743742] [] ? trace_hardirqs_on_caller+0x72/0x1c0 [ 2845.743742] [] lock_acquire+0x76/0xa0 [ 2845.743742] [] ? skb_dequeue+0x1d/0x70 [ 2845.743742] [] _spin_lock_irqsave+0x45/0x80 [ 2845.743742] [] ? skb_dequeue+0x1d/0x70 [ 2845.743742] [] skb_dequeue+0x1d/0x70 [ 2845.743742] [] skb_queue_purge+0x14/0x20 [ 2845.743742] [] hci_conn_del+0x10a/0x1c0 [bluetooth] [ 2845.743742] [] ? l2cap_disconn_ind+0x59/0xb0 [l2cap] [ 2845.743742] [] ? hci_conn_del_sysfs+0x8e/0xd0 [bluetooth] [ 2845.743742] [] hci_event_packet+0x5f8/0x31c0 [bluetooth] [ 2845.743742] [] ? sock_def_readable+0x59/0x80 [ 2845.743742] [] ? _read_unlock+0x1d/0x20 [ 2845.743742] [] ? hci_send_to_sock+0xe9/0x1d0 [bluetooth] [ 2845.743742] [] ? trace_hardirqs_on+0xb/0x10 [ 2845.743742] [] hci_rx_task+0x2ba/0x490 [bluetooth] [ 2845.743742] [] ? tasklet_action+0x31/0xc0 [ 2845.743742] [] tasklet_action+0x4c/0xc0 [ 2845.743742] [] __do_softirq+0xa7/0x170 [ 2845.743742] [] ? ack_apic_level+0x5c/0x1c0 [ 2845.743742] [] do_softirq+0x57/0x60 [ 2845.743742] [] irq_exit+0x7c/0x90 [ 2845.743742] [] do_IRQ+0x4b/0x90 [ 2845.743742] [] ? irq_exit+0x75/0x90 [ 2845.743742] [] common_interrupt+0x2c/0x34 [ 2845.743742] [] ? mwait_idle+0x4f/0x70 [ 2845.743742] [] cpu_idle+0x65/0xb0 [ 2845.743742] [] rest_init+0x4e/0x60 [ 2845.743742] ---[ end trace 4c985b38f02227a0 ]--- [ 2845.743742] ------------[ cut here ]------------ [ 2845.743742] WARNING: at kernel/smp.c:226 smp_call_function_single+0x8e/0x110() [ 2845.743742] Hardware name: Dell DM051 [ 2845.743742] Modules linked in: btusb netconsole snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss rfcomm l2cap bluetooth vfat fuse snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm pl2303 snd_timer psmouse usbserial snd 3c59x e100 serio_raw soundcore i2c_i801 intel_agp mii agpgart snd_page_alloc rtc_cmos rtc_core thermal processor rtc_lib button thermal_sys sg evdev [ 2845.743742] Pid: 0, comm: swapper Tainted: G D W 2.6.29-rc5-smp #54 [ 2845.743742] Call Trace: [ 2845.743742] [] warn_slowpath+0x86/0xa0 [ 2845.743742] [] ? warn_slowpath+0x10/0xa0 [ 2845.743742] [] ? trace_hardirqs_off+0xb/0x10 [ 2845.743742] [] ? up+0x14/0x40 [ 2845.743742] [] ? release_console_sem+0x31/0x1e0 [ 2845.743742] [] ? _spin_lock_irqsave+0x6b/0x80 [ 2845.743742] [] ? trace_hardirqs_off+0xb/0x10 [ 2845.743742] [] ? _read_lock_irqsave+0x40/0x80 [ 2845.743742] [] ? release_console_sem+0x1c2/0x1e0 [ 2845.743742] [] ? up+0x14/0x40 [ 2845.743742] [] smp_call_function_single+0x8e/0x110 [ 2845.743742] [] ? stop_this_cpu+0x0/0x40 [ 2845.743742] [] ? cpumask_next_and+0x1f/0x40 [ 2845.743742] [] smp_call_function_many+0x11a/0x200 [ 2845.743742] [] ? stop_this_cpu+0x0/0x40 [ 2845.743742] [] smp_call_function+0x21/0x30 [ 2845.743742] [] native_smp_send_stop+0x1e/0x50 [ 2845.743742] [] panic+0x55/0x110 [ 2845.743742] [] oops_end+0xb8/0xc0 [ 2845.743742] [] die+0x4f/0x70 [ 2845.743742] [] do_page_fault+0x269/0x610 [ 2845.743742] [] ? do_page_fault+0x0/0x610 [ 2845.743742] [] error_code+0x77/0x7c [ 2845.743742] [] ? __lock_acquire+0x6c/0xa80 [ 2845.743742] [] ? trace_hardirqs_on_caller+0x72/0x1c0 [ 2845.743742] [] lock_acquire+0x76/0xa0 [ 2845.743742] [] ? skb_dequeue+0x1d/0x70 [ 2845.743742] [] _spin_lock_irqsave+0x45/0x80 [ 2845.743742] [] ? skb_dequeue+0x1d/0x70 [ 2845.743742] [] skb_dequeue+0x1d/0x70 [ 2845.743742] [] skb_queue_purge+0x14/0x20 [ 2845.743742] [] hci_conn_del+0x10a/0x1c0 [bluetooth] [ 2845.743742] [] ? l2cap_disconn_ind+0x59/0xb0 [l2cap] [ 2845.743742] [] ? hci_conn_del_sysfs+0x8e/0xd0 [bluetooth] [ 2845.743742] [] hci_event_packet+0x5f8/0x31c0 [bluetooth] [ 2845.743742] [] ? sock_def_readable+0x59/0x80 [ 2845.743742] [] ? _read_unlock+0x1d/0x20 [ 2845.743742] [] ? hci_send_to_sock+0xe9/0x1d0 [bluetooth] [ 2845.743742] [] ? trace_hardirqs_on+0xb/0x10 [ 2845.743742] [] hci_rx_task+0x2ba/0x490 [bluetooth] [ 2845.743742] [] ? tasklet_action+0x31/0xc0 [ 2845.743742] [] tasklet_action+0x4c/0xc0 [ 2845.743742] [] __do_softirq+0xa7/0x170 [ 2845.743742] [] ? ack_apic_level+0x5c/0x1c0 [ 2845.743742] [] do_softirq+0x57/0x60 [ 2845.743742] [] irq_exit+0x7c/0x90 [ 2845.743742] [] do_IRQ+0x4b/0x90 [ 2845.743742] [] ? irq_exit+0x75/0x90 [ 2845.743742] [] common_interrupt+0x2c/0x34 [ 2845.743742] [] ? mwait_idle+0x4f/0x70 [ 2845.743742] [] cpu_idle+0x65/0xb0 [ 2845.743742] [] rest_init+0x4e/0x60 [ 2845.743742] ---[ end trace 4c985b38f02227a1 ]--- [ 2845.743742] Rebooting in 3 seconds.. My logitec bluetooth mouse trying connect to pc, but pc side reject the connection again and again. then panic happens. The reason is due to hci_conn_del_sysfs now called in hci_event_packet, the del work is done in a workqueue, so it's possible done before skb_queue_purge called. I move the hci_conn_del_sysfs after skb_queue_purge just as that before marcel's commit. Remove the hci_conn_del_sysfs in hci_conn_hash_flush as well due to hci_conn_del will deal with the work. Signed-off-by: Dave Young Signed-off-by: Marcel Holtmann commit 2526d3d8b2f671a7d36cc486af984052cd5a690f Author: Marcel Holtmann Date: Fri Feb 20 20:54:06 2009 +0100 Bluetooth: Permit BT_SECURITY also for L2CAP raw sockets Userspace pairing code can be simplified if it doesn't have to fall back to using L2CAP_LM in the case of L2CAP raw sockets. This patch allows the BT_SECURITY socket option to be used for these sockets. Signed-off-by: Johan Hedberg Signed-off-by: Marcel Holtmann commit 37e62f5516cfb210e64fe53457932df4341b0ad1 Author: Marcel Holtmann Date: Tue Feb 17 21:49:33 2009 +0100 Bluetooth: Fix RFCOMM usage of in-kernel L2CAP sockets The CID value of L2CAP sockets need to be set to zero. All userspace applications do this via memset() on the sockaddr_l2 structure. The RFCOMM implementation uses in-kernel L2CAP sockets and so it has to make sure that l2_cid is set to zero. Signed-off-by: Marcel Holtmann commit 2a517ca687232adc8f14893730644da712010ffc Author: Marcel Holtmann Date: Mon Feb 16 03:20:31 2009 +0100 Bluetooth: Disallow usage of L2CAP CID setting for now In the future the L2CAP layer will have full support for fixed channels and right now it already can export the channel assignment, but for the functions bind() and connect() the usage of only CID 0 is allowed. This allows an easy detection if the kernel supports fixed channels or not, because otherwise it would impossible for application to tell. Signed-off-by: Marcel Holtmann commit 8bf4794174659b06d43cc5e290cd384757374613 Author: Marcel Holtmann Date: Mon Feb 16 02:59:49 2009 +0100 Bluetooth: Change RFCOMM to use BT_CONNECT2 for BT_DEFER_SETUP When BT_DEFER_SETUP is enabled on a RFCOMM socket, then switch its current state from BT_OPEN to BT_CONNECT2. This gives the Bluetooth core a unified way to handle L2CAP and RFCOMM sockets. The BT_CONNECT2 state is designated for incoming connections. Signed-off-by: Marcel Holtmann commit d5f2d2be68876f65dd051b978a7b66265fde9ffd Author: Marcel Holtmann Date: Mon Feb 16 02:57:30 2009 +0100 Bluetooth: Fix poll() misbehavior when using BT_DEFER_SETUP When BT_DEFER_SETUP has been enabled on a Bluetooth socket it keeps signaling POLLIN all the time. This is a wrong behavior. The POLLIN should only be signaled if the client socket is in BT_CONNECT2 state and the parent has been BT_DEFER_SETUP enabled. Signed-off-by: Marcel Holtmann commit 96a3183322cba1a2846771b067c99b9d6f481263 Author: Marcel Holtmann Date: Thu Feb 12 16:23:03 2009 +0100 Bluetooth: Set authentication requirement before requesting it The authentication requirement got only updated when the security level increased. This is a wrong behavior. The authentication requirement is read by the Bluetooth daemon to make proper decisions when handling the IO capabilities exchange. So set the value that is currently expected by the higher layers like L2CAP and RFCOMM. Signed-off-by: Marcel Holtmann commit 00ae4af91d8c5b6814e2bb3bfaaf743845f989eb Author: Marcel Holtmann Date: Thu Feb 12 16:19:45 2009 +0100 Bluetooth: Fix authentication requirements for L2CAP security check The L2CAP layer can trigger the authentication via an ACL connection or later on to increase the security level. When increasing the security level it didn't use the same authentication requirements when triggering a new ACL connection. Make sure that exactly the same authentication requirements are used. The only exception here are the L2CAP raw sockets which are only used for dedicated bonding. Signed-off-by: Marcel Holtmann commit 2950f21acb0f6b8fcd964485c2ebf1e06545ac20 Author: Marcel Holtmann Date: Thu Feb 12 14:02:50 2009 +0100 Bluetooth: Ask upper layers for HCI disconnect reason Some of the qualification tests demand that in case of failures in L2CAP the HCI disconnect should indicate a reason why L2CAP fails. This is a bluntly layer violation since multiple L2CAP connections could be using the same ACL and thus forcing a disconnect reason is not a good idea. To comply with the Bluetooth test specification, the disconnect reason is now stored in the L2CAP connection structure and every time a new L2CAP channel is added it will set back to its default. So only in the case where the L2CAP channel with the disconnect reason is really the last one, it will propagated to the HCI layer. The HCI layer has been extended with a disconnect indication that allows it to ask upper layers for a disconnect reason. The upper layer must not support this callback and in that case it will nicely default to the existing behavior. If an upper layer like L2CAP can provide a disconnect reason that one will be used to disconnect the ACL or SCO link. No modification to the ACL disconnect timeout have been made. So in case of Linux to Linux connection the initiator will disconnect the ACL link before the acceptor side can signal the specific disconnect reason. That is perfectly fine since Linux doesn't make use of this value anyway. The L2CAP layer has a perfect valid error code for rejecting connection due to a security violation. It is unclear why the Bluetooth specification insists on having specific HCI disconnect reason. Signed-off-by: Marcel Holtmann commit f29972de8e7476706ab3c01304a505e7c95d9040 Author: Marcel Holtmann Date: Thu Feb 12 05:07:45 2009 +0100 Bluetooth: Add CID field to L2CAP socket address structure In preparation for L2CAP fixed channel support, the CID value of a L2CAP connection needs to be accessible via the socket interface. The CID is the connection identifier and exists as source and destination value. So extend the L2CAP socket address structure with this field and change getsockname() and getpeername() to fill it in. The bind() and connect() functions have been modified to handle L2CAP socket address structures of variable sizes. This makes them future proof if additional fields need to be added. Signed-off-by: Marcel Holtmann commit e1027a7c69700301d14db03d2e049ee60c4f92df Author: Marcel Holtmann Date: Mon Feb 9 09:18:02 2009 +0100 Bluetooth: Request L2CAP fixed channel list if available If the extended features mask indicates support for fixed channels, request the list of available fixed channels. This also enables the fixed channel features bit so remote implementations can request information about it. Currently only the signal channel will be listed. Signed-off-by: Marcel Holtmann commit 435fef20acfc48f46476abad55b0cd3aa47b8365 Author: Marcel Holtmann Date: Mon Feb 9 03:55:28 2009 +0100 Bluetooth: Don't enforce authentication for L2CAP PSM 1 and 3 The recommendation for the L2CAP PSM 1 (SDP) is to not use any kind of authentication or encryption. So don't trigger authentication for incoming and outgoing SDP connections. For L2CAP PSM 3 (RFCOMM) there is no clear requirement, but with Bluetooth 2.1 the initiator is required to enable authentication and encryption first and this gets enforced. So there is no need to trigger an additional authentication step. The RFCOMM service security will make sure that a secure enough link key is present. When the encryption gets enabled after the SDP connection setup, then switch the security level from SDP to low security. Signed-off-by: Marcel Holtmann commit 6a8d3010b313d99adbb28f1826fac0234395bb26 Author: Marcel Holtmann Date: Fri Feb 6 23:56:36 2009 +0100 Bluetooth: Fix double L2CAP connection request If the remote L2CAP server uses authentication pending stage and encryption is enabled it can happen that a L2CAP connection request is sent twice due to a race condition in the connection state machine. When the remote side indicates any kind of connection pending, then track this state and skip sending of L2CAP commands for this period. Signed-off-by: Marcel Holtmann commit 984947dc64f82bc6cafa4d84ba1a139718f634a8 Author: Marcel Holtmann Date: Fri Feb 6 23:35:19 2009 +0100 Bluetooth: Fix race condition with L2CAP information request When two L2CAP connections are requested quickly after the ACL link has been established there exists a window for a race condition where a connection request is sent before the information response has been received. Any connection request should only be sent after an exchange of the extended features mask has been finished. Signed-off-by: Marcel Holtmann commit 657e17b03c80bec817975984d221bef716f83558 Author: Marcel Holtmann Date: Fri Feb 6 19:45:36 2009 +0100 Bluetooth: Set authentication requirements if not available When no authentication requirements are selected, but an outgoing or incoming connection has requested any kind of security enforcement, then set these authentication requirements. This ensures that the userspace always gets informed about the authentication requirements (if available). Only when no security enforcement has happened, the kernel will signal invalid requirements. Signed-off-by: Marcel Holtmann commit 0684e5f9fb9e3f7e168ab831dfca693bcb44805b Author: Marcel Holtmann Date: Mon Feb 9 02:48:38 2009 +0100 Bluetooth: Use general bonding whenever possible When receiving incoming connection to specific services, always use general bonding. This ensures that the link key gets stored and can be used for further authentications. Signed-off-by: Marcel Holtmann commit efc7688b557dd1be10eead7399b315efcb1dbc74 Author: Marcel Holtmann Date: Fri Feb 6 09:13:37 2009 +0100 Bluetooth: Add SCO fallback for eSCO connection attempts When attempting to setup eSCO connections it can happen that some link manager implementations fail to properly negotiate the eSCO parameters and thus fail the eSCO setup. Normally the link manager is responsible for the negotiation of the parameters and actually fallback to SCO if no agreement can be reached. In cases where the link manager is just too stupid, then at least try to establish a SCO link if eSCO fails. For the Bluetooth devices with EDR support this includes handling packet types of EDR basebands. This is particular tricky since for the EDR the logic of enabling/disabling one specific packet type is turned around. This fix contains an extra bitmask to disable eSCO EDR packet when trying to fallback to a SCO connection. Signed-off-by: Marcel Holtmann commit 255c76014af74165428e7aa16414b857e2bdccf2 Author: Marcel Holtmann Date: Wed Feb 4 21:07:19 2009 +0100 Bluetooth: Don't check encryption for L2CAP raw sockets For L2CAP sockets with medium and high security requirement a missing encryption will enforce the closing of the link. For the L2CAP raw sockets this is not needed, so skip that check. This fixes a crash when pairing Bluetooth 2.0 (and earlier) devices since the L2CAP state machine got confused and then locked up the whole system. Signed-off-by: Marcel Holtmann commit 43c2e57f94c15744495fee564610aa24602b3824 Author: Marcel Holtmann Date: Wed Feb 4 17:41:38 2009 +0100 Bluetooth: Submit bulk URBs along with interrupt URBs Submitting the bulk URBs for ACL data transfers only on demand has no real benefit compared to just submit them when a Bluetooth device gets opened. So when submitting the interrupt URBs for HCI events, just submit the bulk URBs, too. This solves a problem with some Bluetooth USB dongles that has been reported over the last few month. These devices require that the bulk URBs are actually present. These devices are really broken, but there is nothing we can do about it. Signed-off-by: Marcel Holtmann commit 6e1031a40029492c10509e8c3dcac9b611438ccb Author: Jaikumar Ganesh Date: Mon Feb 2 18:03:57 2009 -0800 Bluetooth: When encryption is dropped, do not send RFCOMM packets During a role change with pre-Bluetooth 2.1 devices, the remote side drops the encryption of the RFCOMM connection. We allow a grace period for the encryption to be re-established, before dropping the connection. During this grace period, the RFCOMM_SEC_PENDING flag is set. Check this flag before sending RFCOMM packets. Signed-off-by: Jaikumar Ganesh Signed-off-by: Marcel Holtmann commit 34a55eda483e8177c9044f93fd2c9107f02bf1c7 Author: Andre Haupt Date: Mon Feb 2 14:45:11 2009 -0800 Bluetooth: Eliminate a sparse warning in bt3c driver This eliminates a sparse warning that symbol 'stat' shadows an earlier one. Signed-off-by: Andre Haupt Signed-off-by: Marcel Holtmann commit dd2efd03b49d56ae795c71335bc7358022514c32 Author: Dave Young Date: Sat Jan 31 13:51:15 2009 +0800 Bluetooth: Remove CONFIG_DEBUG_LOCK_ALLOC ifdefs Due to lockdep changes, the CONFIG_DEBUG_LOCK_ALLOC ifdef is not needed now. So just remove it here. The following commit fixed the !lockdep build warnings: commit e8f6fbf62de37cbc2e179176ac7010d5f4396b67 Author: Ingo Molnar Date: Wed Nov 12 01:38:36 2008 +0000 lockdep: include/linux/lockdep.h - fix warning in net/bluetooth/af_bluetooth.c Signed-off-by: Dave Young Signed-off-by: Marcel Holtmann commit 5f9018af004fa8635bbbe3ab2dc61e8a686edfaa Author: Marcel Holtmann Date: Fri Jan 16 10:09:50 2009 +0100 Bluetooth: Update version numbers With the support for the enhanced security model and the support for deferring connection setup, it is a good idea to increase various version numbers. This is purely cosmetic and has no effect on the behavior, but can be really helpful when debugging problems in different kernel versions. Signed-off-by: Marcel Holtmann commit 0588d94fd7e414367a7ae517569d2222441c255f Author: Marcel Holtmann Date: Fri Jan 16 10:06:13 2009 +0100 Bluetooth: Restrict application of socket options The new socket options should only be evaluated for SOL_BLUETOOTH level and not for every other level. Previously this causes some minor issues when detecting if a kernel with certain features is available. Also restrict BT_SECURITY to SOCK_SEQPACKET for L2CAP and SOCK_STREAM for the RFCOMM protocol. Signed-off-by: Marcel Holtmann commit f62e4323ab43c59e7cd7f72c1eb392d7c767ce5a Author: Marcel Holtmann Date: Thu Jan 15 21:58:44 2009 +0100 Bluetooth: Disconnect L2CAP connections without encryption For L2CAP connections with high security setting, the link will be immediately dropped when the encryption gets disabled. For L2CAP connections with medium security there will be grace period where the remote device has the chance to re-enable encryption. If it doesn't happen then the link will also be disconnected. The requirement for the grace period with medium security comes from Bluetooth 2.0 and earlier devices that require role switching. Signed-off-by: Marcel Holtmann commit 8c84b83076b5062f59b6167cdda90d9e5124aa71 Author: Marcel Holtmann Date: Fri Jan 16 08:17:51 2009 +0100 Bluetooth: Pause RFCOMM TX when encryption drops A role switch with devices following the Bluetooth pre-2.1 standards or without Encryption Pause and Resume support is not possible if encryption is enabled. Most newer headsets require the role switch, but also require that the connection is encrypted. For connections with a high security mode setting, the link will be immediately dropped. When the connection uses medium security mode setting, then a grace period is introduced where the TX is halted and the remote device gets a change to re-enable encryption after the role switch. If not re-enabled the link will be dropped. Based on initial work by Ville Tervo Signed-off-by: Marcel Holtmann commit 9f2c8a03fbb3048cf38b158f87aa0c3c09bca084 Author: Marcel Holtmann Date: Thu Jan 15 21:58:40 2009 +0100 Bluetooth: Replace RFCOMM link mode with security level Change the RFCOMM internals to use the new security levels and remove the link mode details. Signed-off-by: Marcel Holtmann commit 2af6b9d518ddfbc4d6990d5f9c9b1a05341c1cef Author: Marcel Holtmann Date: Thu Jan 15 21:58:38 2009 +0100 Bluetooth: Replace L2CAP link mode with security level Change the L2CAP internals to use the new security levels and remove the link mode details. Signed-off-by: Marcel Holtmann commit 8c1b235594fbab9a13240a1dac12ea9fd99b6440 Author: Marcel Holtmann Date: Thu Jan 15 21:58:04 2009 +0100 Bluetooth: Add enhanced security model for Simple Pairing The current security model is based around the flags AUTH, ENCRYPT and SECURE. Starting with support for the Bluetooth 2.1 specification this is no longer sufficient. The different security levels are now defined as SDP, LOW, MEDIUM and SECURE. Previously it was possible to set each security independently, but this actually doesn't make a lot of sense. For Bluetooth the encryption depends on a previous successful authentication. Also you can only update your existing link key if you successfully created at least one before. And of course the update of link keys without having proper encryption in place is a security issue. The new security levels from the Bluetooth 2.1 specification are now used internally. All old settings are mapped to the new values and this way it ensures that old applications still work. The only limitation is that it is no longer possible to set authentication without also enabling encryption. No application should have done this anyway since this is actually a security issue. Without encryption the integrity of the authentication can't be guaranteed. As default for a new L2CAP or RFCOMM connection, the LOW security level is used. The only exception here are the service discovery sessions on PSM 1 where SDP level is used. To have similar security strength as with a Bluetooth 2.0 and before combination key, the MEDIUM level should be used. This is according to the Bluetooth specification. The MEDIUM level will not require any kind of man-in-the-middle (MITM) protection. Only the HIGH security level will require this. Signed-off-by: Marcel Holtmann commit c89b6e6bda4c8021195778f47567d0cc9dbfe7ec Author: Marcel Holtmann Date: Thu Jan 15 21:57:03 2009 +0100 Bluetooth: Fix SCO state handling for incoming connections When the remote device supports only SCO connections, on receipt of the HCI_EV_CONN_COMPLETE event packet, the connect state is changed to BT_CONNECTED, but the socket state is not updated. Hence, the connect() call times out even though the SCO connection has been successfully established. Based on a report by Jaikumar Ganesh Signed-off-by: Marcel Holtmann commit 71aeeaa1fd88fe7446391e0553336f0e0c2cfe6a Author: Marcel Holtmann Date: Thu Jan 15 21:57:02 2009 +0100 Bluetooth: Reject incoming SCO connections without listeners All SCO and eSCO connection are auto-accepted no matter if there is a corresponding listening socket for them. This patch changes this and connection requests for SCO and eSCO without any socket are rejected. Signed-off-by: Marcel Holtmann commit f66dc81f44d918ee1aa1a9d821bb2f25c7592bc0 Author: Marcel Holtmann Date: Thu Jan 15 21:57:00 2009 +0100 Bluetooth: Add support for deferring L2CAP connection setup In order to decide if listening L2CAP sockets should be accept()ed the BD_ADDR of the remote device needs to be known. This patch adds a socket option which defines a timeout for deferring the actual connection setup. Signed-off-by: Marcel Holtmann commit bb23c0ab824653be4aa7dfca15b07b3059717004 Author: Marcel Holtmann Date: Thu Jan 15 21:56:48 2009 +0100 Bluetooth: Add support for deferring RFCOMM connection setup In order to decide if listening RFCOMM sockets should be accept()ed the BD_ADDR of the remote device needs to be known. This patch adds a socket option which defines a timeout for deferring the actual connection setup. The connection setup is done after reading from the socket for the first time. Until then writing to the socket returns ENOTCONN. Signed-off-by: Marcel Holtmann commit c4f912e155504e94dd4f3d63c378dab0ff03dbda Author: Marcel Holtmann Date: Thu Jan 15 21:52:16 2009 +0100 Bluetooth: Add global deferred socket parameter The L2CAP and RFCOMM applications require support for authorization and the ability of rejecting incoming connection requests. The socket interface is not really able to support this. This patch does the ground work for a socket option to defer connection setup. Setting this option allows calling of accept() and then the first read() will trigger the final connection setup. Calling close() would reject the connection. Signed-off-by: Marcel Holtmann commit d58daf42d29a3a4a4d4be46cf47ceee096789680 Author: Marcel Holtmann Date: Thu Jan 15 21:52:14 2009 +0100 Bluetooth: Preparation for usage of SOL_BLUETOOTH The socket option levels SOL_L2CAP, SOL_RFOMM and SOL_SCO are currently in use by various Bluetooth applications. Going forward the common option level SOL_BLUETOOTH should be used. This patch prepares the clean split of the old and new option levels while keeping everything backward compatibility. Signed-off-by: Marcel Holtmann commit 91aa35a5aa3540223066bf6b51c935418c63a35d Author: Victor Shcherbatyuk Date: Thu Jan 15 21:52:12 2009 +0100 Bluetooth: Fix issue with return value of rfcomm_sock_sendmsg() In case of connection failures the rfcomm_sock_sendmsg() should return an error and not a 0 value. Signed-off-by: Victor Shcherbatyuk Signed-off-by: Marcel Holtmann commit 85a2f9b46f8cd8aaa11c64c715e1ea3ec27ec486 Author: Steven Rostedt Date: Fri Feb 27 00:12:38 2009 -0500 tracing: use pointer error returns for __tracing_open Impact: fix compile warning and clean up When I first wrote __tracing_open, instead of passing the error code via the ERR_PTR macros, I lazily used a separate parameter to hold the return for errors. When Frederic Weisbecker updated that function, he used the Linux kernel ERR_PTR for the returns. This caused the parameter return to possibly not be initialized on error. gcc correctly pointed this out with a warning. This patch converts the entire function to use the Linux kernel ERR_PTR macro methods. Signed-off-by: Steven Rostedt commit d8e83d26b5ab3b31ee0ff6d093a2627707a1e221 Author: Steven Rostedt Date: Thu Feb 26 23:55:58 2009 -0500 tracing: add protection around open use of current_tracer Impact: fix to possible race conditions There's some uses of current_tracer that is not protected by the trace_types_lock. There is a small chance that a sysadmin changes the tracer while the current_tracer is being referenced. If the race is hit, it is unlikely to cause any harm since the tracers are constant and are not freed. But some strang side effects may occur. Signed-off-by: Steven Rostedt commit 577b785f55168d5acb3d123ba41bfe8d7981e044 Author: Steven Rostedt Date: Thu Feb 26 23:43:05 2009 -0500 tracing: add tracer dependent options to options directory This patch adds the tracer dependent options dynamically to the options directory when the tracer is activated. These options are removed when the tracer is deactivated. Signed-off-by: Steven Rostedt commit 5b99d5348304a32dfca92238d27ac4de2b365175 Author: Nicolas Pitre Date: Thu Feb 26 22:55:59 2009 -0500 [ARM] Kirkwood: register internal devices in a common place The RTC and the two XOR engines are internal to the chip, and therefore always available since they don't depend on a particular board layout. Signed-off-by: Nicolas Pitre commit a8259075074fb09c230b4cd2c8d3ee3c49d6ecd1 Author: Steven Rostedt Date: Thu Feb 26 22:19:12 2009 -0500 tracing: add options directory and core option files This patch creates an options directory in the debugfs, that contains the available tracing options. These files contain 1 or 0, where 1 is the option is enabled and 0 it is disabled. Simply echoing in 1 will enable the option and 0 will disable it. This patch only contains the core options, not the tracer options. Signed-off-by: Steven Rostedt commit 249cbfa3f5a95d022941af0febbffce5d6609e46 Author: Nicolas Pitre Date: Thu Feb 26 21:35:59 2009 -0500 [ARM] Kirkwood: remove unneeded includes from board setup files Signed-off-by: Nicolas Pitre commit 3c2613dbbcf1de97ebe10135fe54954cddfc7845 Author: Nicolas Pitre Date: Sun Feb 22 12:56:33 2009 -0500 [ARM] Kirkwood: add NAND support to the DB88F6281 board Signed-off-by: Nicolas Pitre commit 454804ab0302b354e35d992d08e53fe03313baaf Author: Serge E. Hallyn Date: Thu Feb 26 18:28:04 2009 -0600 keys: make procfiles per-user-namespace Restrict the /proc/keys and /proc/key-users output to keys belonging to the same user namespace as the reading task. We may want to make this more complicated - so that any keys in a user-namespace which is belongs to the reading task are also shown. But let's see if anyone wants that first. Signed-off-by: Serge E. Hallyn Acked-by: David Howells Signed-off-by: James Morris commit 2ea190d0a006ce5218baa6e798512652446a605a Author: Serge E. Hallyn Date: Thu Feb 26 18:27:55 2009 -0600 keys: skip keys from another user namespace When listing keys, do not return keys belonging to the same uid in another user namespace. Otherwise uid 500 in another user namespace will return keyrings called uid.500 for another user namespace. Signed-off-by: Serge E. Hallyn Acked-by: David Howells Signed-off-by: James Morris commit 8ff3bc3138a400294ee9e126ac75fc9a9fae4e0b Author: Serge E. Hallyn Date: Thu Feb 26 18:27:47 2009 -0600 keys: consider user namespace in key_permission If a key is owned by another user namespace, then treat the key as though it is owned by both another uid and gid. Signed-off-by: Serge E. Hallyn Acked-by: David Howells Signed-off-by: James Morris commit 1d1e97562e5e2ac60fb7b25437ba619f95f67fab Author: Serge E. Hallyn Date: Thu Feb 26 18:27:38 2009 -0600 keys: distinguish per-uid keys in different namespaces per-uid keys were looked by uid only. Use the user namespace to distinguish the same uid in different namespaces. This does not address key_permission. So a task can for instance try to join a keyring owned by the same uid in another namespace. That will be handled by a separate patch. Signed-off-by: Serge E. Hallyn Acked-by: David Howells Signed-off-by: James Morris commit 8235ee009cd839265f5dc2dace2758471a823e68 Author: Nicolas Pitre Date: Sat Feb 14 03:15:55 2009 -0500 [ARM] Kirkwood: SDIO driver registration for DB6281 and RD6281 Signed-off-by: Nicolas Pitre commit ba1d755a36f66101aa88ac9ebb54694def6ec38d Author: Ingo Molnar Date: Sat Oct 18 21:24:45 2008 +0200 fix warning in arch/x86/kernel/cpu/intel_cacheinfo.c fix this warning: arch/x86/kernel/cpu/intel_cacheinfo.c:139: warning: ‘k8_nb_id’ defined but not used arch/x86/kernel/cpu/intel_cacheinfo.c:527: warning: ‘free_cache_attributes’ defined but not used arch/x86/kernel/cpu/intel_cacheinfo.c:538: warning: ‘detect_cache_attributes’ defined but not used Unused variables in the !CONFIG_SYSCTL case. Signed-off-by: Ingo Molnar commit 6e1588cbd88590273300403648aef70e6bdaf5af Author: Guennadi Liakhovetski Date: Thu Feb 26 21:34:28 2009 +0100 i.MX31: framebuffer driver This is a framebuffer driver for i.MX31 SoCs. It only supports synchronous displays, vertical panning supported, no overlay support. Signed-off-by: Guennadi Liakhovetski Acked-by: Sascha Hauer Signed-off-by: Dan Williams commit 1febd91acff907152e61eb5ad0a82dd8d7db21c6 Author: Dan Williams Date: Thu Feb 26 13:58:37 2009 -0700 Revert "i.MX31: framebuffer driver" This reverts commit 86528da229a448577a8401a17c295883640d336c. This version of the patch was tab-to-space corrupted before application. Signed-off-by: Dan Williams commit 8325d9c09dedf45476f4d6261d1b6a72e4a7453f Author: Peter Zijlstra Date: Thu Feb 26 21:40:16 2009 +0100 sched_clock: cleanups - remove superfluous checks in __update_sched_clock() - skip sched_clock_tick() for sched_clock_stable - reinstate the simple !HAVE_UNSTABLE_SCHED_CLOCK code to please the bloatwatch Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5d0859cef29167d45dc6cf89d19712145e6005d6 Merge: 14131f2... 83ce400... Author: Ingo Molnar Date: Thu Feb 26 21:21:59 2009 +0100 Merge branch 'sched/clock' into tracing/ftrace Conflicts: kernel/sched_clock.c commit 83ce400928680a6c8123d492684b27857f5a2d95 Author: Ingo Molnar Date: Thu Feb 26 20:16:58 2009 +0100 x86: set X86_FEATURE_TSC_RELIABLE If the TSC is constant and non-stop, also set it reliable. (We will turn this off in DMI quirks for multi-chassis systems) The performance number on a 16-way Nehalem system running 32 tasks that context-switch between each other is significant: sched_clock_stable=0 sched_clock_stable=1 .................... .................... 22.456925 million/sec 24.306972 million/sec [+8.2%] lmbench's "lat_ctx -s 0 2" goes from 0.63 microseconds to 0.59 microseconds - a 6.7% increase in context-switching performance. Perfstat of 1 million pipe context switches between two tasks: Performance counter stats for './pipe-test-1m': [before] [after] ............ ............ 37621.421089 36436.848378 task clock ticks (msecs) 0 0 CPU migrations (events) 2000274 2000189 context switches (events) 194 193 pagefaults (events) 8433799643 8171016416 CPU cycles (events) -3.21% 8370133368 8180999694 instructions (events) -2.31% 4158565 3895941 cache references (events) -6.74% 44312 46264 cache misses (events) 2349.287976 2279.362465 wall-time (msecs) -3.06% The speedup comes straight from the reduction in the instruction count. sched_clock_cpu() got simpler and the whole workload thus executes faster. Signed-off-by: Ingo Molnar commit b342501cd31e5546d0c9ca8ceff5ded1832f9e5b Author: Ingo Molnar Date: Thu Feb 26 20:20:29 2009 +0100 sched: allow architectures to specify sched_clock_stable Allow CONFIG_HAVE_UNSTABLE_SCHED_CLOCK architectures to still specify that their sched_clock() implementation is reliable. This will be used by x86 to switch on a faster sched_clock_cpu() implementation on certain CPU types. Signed-off-by: Ingo Molnar commit a2a5ac8650b570bea3cb3614f77739dcd07d6632 Author: John Stultz Date: Thu Feb 26 09:46:14 2009 -0800 time: ntp: fix bug in ntp_update_offset() & do_adjtimex(), fix The time_status conditional was accidentally placed right after we clear the checked time_status bits, which causes us to take the conditional every time through. This fixes it by moving the conditional to before we clear the time_status bits. Signed-off-by: John Stultz Cc: Clark Williams Signed-off-by: Ingo Molnar commit 14131f2f98ac350ee9e73faed916d2238a8b6a0d Author: Ingo Molnar Date: Thu Feb 26 18:47:11 2009 +0100 tracing: implement trace_clock_*() APIs Impact: implement new tracing timestamp APIs Add three trace clock variants, with differing scalability/precision tradeoffs: - local: CPU-local trace clock - medium: scalable global clock with some jitter - global: globally monotonic, serialized clock Make the ring-buffer use the local trace clock internally. Acked-by: Peter Zijlstra Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6409c4da289d6905f7ae2bd0630438368439bda2 Author: Ingo Molnar Date: Mon May 12 21:21:14 2008 +0200 sched: sched_clock() improvement: use in_nmi() make sure we dont execute more complex sched_clock() code in NMI context. Acked-by: Peter Zijlstra Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit af39241b90a345556b8884adff87096afe71b050 Author: Jason Baron Date: Thu Feb 26 10:11:05 2009 -0500 tracing, genirq: add irq enter and exit trace events Impact: add new tracepoints Add them to the generic IRQ code, that way every architecture gets these new tracepoints, not just x86. Using Steve's new 'TRACE_FORMAT', I can get function graph trace as follows using the original two IRQ tracepoints: 3) | handle_IRQ_event() { 3) | /* (irq_handler_entry) irq=28 handler=eth0 */ 3) | e1000_intr_msi() { 3) 2.460 us | __napi_schedule(); 3) 9.416 us | } 3) | /* (irq_handler_exit) irq=28 handler=eth0 return=handled */ 3) + 22.935 us | } Signed-off-by: Jason Baron Signed-off-by: Steven Rostedt Acked-by: Peter Zijlstra Acked-by: Masami Hiramatsu Cc: KOSAKI Motohiro Cc: Mathieu Desnoyers Cc: "Frank Ch. Eigler" Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 1607b8ea0a4cc20752978fadb027daafc8a2d93c Author: Takashi Iwai Date: Thu Feb 26 16:50:43 2009 +0100 ALSA: hda - Add model=auto for STAC/IDT codecs Added the model=auto to STAC/IDT codecs to use the BIOS default setup explicitly. It can be used to disable the device-specific model quirk in the driver. Signed-off-by: Takashi Iwai commit 3b900d44190c7da8681101c57a5be6b354dab2c7 Author: Ingo Molnar Date: Thu Feb 26 14:34:08 2009 +0100 x86: fix !ACPI build for es7000_32.c arch/x86/kernel/apic/es7000_32.c:702: error: 'es7000_acpi_madt_oem_check_cluster' undeclared here (not in a function) Provide a es7000_acpi_madt_oem_check_cluster() definition in the !ACPI case too. Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 0b1da1c8fc1a0cb71f17701efad06855a059f752 Author: Ingo Molnar Date: Thu Feb 26 14:10:10 2009 +0100 x86: apic: simplify secondary CPU wakeup methods, fix Impact: build fix init_deasserted is only available on SMP. Make the secondary-wakeup function conditional on SMP. Also clean up the file some. Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 8656e7a2fa6afcd8682990f804a2a9674568738f Author: Frederic Weisbecker Date: Thu Feb 26 00:41:38 2009 +0100 tracing/core: make the per cpu trace files in per cpu directories Impact: restructure the VFS layout of per CPU trace buffers The per cpu trace files are all in a single directory: /debug/tracing/per_cpu. In case of a large number of cpu, the content of this directory becomes messy so we create now one directory per cpu inside /debug/tracing/per_cpu which contain each their own trace_pipe and trace files. Ie: /debug/tracing$ ls -R per_cpu per_cpu: cpu0 cpu1 per_cpu/cpu0: trace trace_pipe per_cpu/cpu1: trace trace_pipe Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Lai Jiangshan Signed-off-by: Ingo Molnar commit 1f5bcabf1b997d6b76a09114b5a79423495a1263 Author: Ingo Molnar Date: Thu Feb 26 13:51:40 2009 +0100 x86: apic: simplify secondary CPU wakeup methods Impact: cleanup - rename apic->wakeup_cpu to apic->wakeup_secondary_cpu, to make it apparent that this is an SMP-only method - handle NULL ->wakeup_secondary_cpus to mean the default INIT wakeup sequence - this allows simplification of the APIC driver templates. Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit c40c6f85a7594ad842233885386a0ca4cd40eafe Author: Li Zefan Date: Thu Feb 26 15:40:15 2009 +0800 cpuacct: add a branch prediction cpuacct_charge() is in fast-path, and checking of !cpuacct_susys.active always returns false after cpuacct has been initialized at system boot. Signed-off-by: Li Zefan Cc: Peter Zijlstra Cc: Paul Menage Cc: Balbir Singh Signed-off-by: Ingo Molnar commit 4434e5156409eb3ec98f5ad7f0a0c07ebafe970d Merge: 2b8f836... 694593e... Author: Ingo Molnar Date: Thu Feb 26 13:22:13 2009 +0100 Merge branches 'sched/cleanups', 'sched/urgent' and 'linus' into sched/core commit 23f0c048ba59ad5c2f3fd85ed98360b631dbf6f8 Author: Takashi Iwai Date: Thu Feb 26 13:03:58 2009 +0100 ALSA: hda - Clean up the input pin setup in automatic mode Clean up the input-pin setup in automatic mode in patch_realtek.c. Signed-off-by: Takashi Iwai commit 0917c01f8e793f57a53cf886533d4c75c67f6e89 Author: Ingo Molnar Date: Thu Feb 26 12:47:40 2009 +0100 x86: remove update_apic from x86_quirks, fix Impact: build fix wakeup_secondary_cpu_via_init(), the default platform method for booting a secondary CPU, is always used on UP due to probe_32.c, if CONFIG_X86_LOCAL_APIC is enabled but SMP is off. So provide a UP wrapper inline as well. Cc: Yinghai Lu Signed-off-by: Ingo Molnar commit 6d5643455ced9ee45a4aa7403fe8056d826bde85 Author: Takashi Iwai Date: Thu Feb 26 11:29:58 2009 +0100 ASoC: wm8753 - Fix build error sound/soc/codecs/wm8753.c: In function 'wm8753_probe': sound/soc/codecs/wm8753.c:1577: error: implicit declaration of function 'wm8753_add_controls' Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 5d9b6c07831456b7a7d90eac31c853d60eaf8ab6 Author: Hannes Eder Date: Wed Feb 25 22:28:45 2009 +0100 ALSA: sound/pci/hda: fix sparse warning: different signedness Fix this sparse warning: sound/pci/hda/hda_codec.c:1544:19: warning: incorrect type in assignment (different signedness) sound/pci/hda/hda_codec.c:1544:19: expected unsigned long *vals sound/pci/hda/hda_codec.c:1544:19: got long * Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 730d45f9130f81fd49009301e9dfbd19fe2b3e1f Author: Hannes Eder Date: Wed Feb 25 22:28:59 2009 +0100 ALSA: sound/pci/emu10k1: fix sparse warning: different signedness Fix this sparse warnings: sound/pci/emu10k1/emu10k1_main.c:723:66: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:724:68: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:748:74: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:751:66: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:759:73: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:760:73: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:837:50: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:845:50: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:881:50: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:889:57: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:890:57: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:895:60: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:897:60: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:899:60: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:910:56: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:914:57: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:918:56: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:922:57: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:924:58: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:936:60: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:1073:60: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:1088:60: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emu10k1_main.c:1093:58: warning: incorrect type in argument 3 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit d73d341d3995ae3c63a4b4543b7c308ebd1e58ea Author: Hannes Eder Date: Wed Feb 25 22:29:15 2009 +0100 ALSA: sound/drivers/vx: fix sparse warning: different signedness Fix this sparse warning: sound/drivers/vx/vx_uer.c:301:42: warning: incorrect type in argument 2 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 3a755ec2e8af0024a06a5adbcc81c012eae61782 Author: Hannes Eder Date: Wed Feb 25 22:28:26 2009 +0100 ALSA: sound/usb/usx2y: fix sparse warning: do-while statement is not a compound ... Fix this sparse warning: sound/usb/usx2y/usbusx2y.c:231:33: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 619389882ba37121d0f2f7b08e4944e47b379118 Author: Hannes Eder Date: Wed Feb 25 22:26:48 2009 +0100 ALSA: sound/usb/usx2y: fix sparse warning: Should it be static? Impact: Move declaration to header file. Fix this sparse warning: sound/usb/usx2y/usx2yhwdeppcm.c:739:5: warning: symbol 'usX2Y_hwdep_pcm_new' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit e5bf48437370f3fc603e2dce12e8d3fb1a6a2457 Author: Hannes Eder Date: Wed Feb 25 22:29:47 2009 +0100 sound/oss: fix sparse warning: symbol shadows an earlier one Impact: Move variable to a more inner scope. Fix this sparse warning: sound/oss/sequencer.c:235:29: warning: symbol 'err' shadows an earlier one sound/oss/sequencer.c:215:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 5d44aa4c7322e0cda6d71cc3f0dffaceea0daae5 Author: Hannes Eder Date: Wed Feb 25 22:29:29 2009 +0100 sound/oss: fix sparse warnings: different signedness Impact: Change signature of 'set_volume_stereo' and 'set_volume_mono'. Fix this sparse warnings: sound/oss/pss.c:545:42: warning: incorrect type in argument 2 (different signedness) sound/oss/pss.c:546:42: warning: incorrect type in argument 3 (different signedness) sound/oss/pss.c:554:59: warning: incorrect type in argument 2 (different signedness) sound/oss/pss.c:560:59: warning: incorrect type in argument 2 (different signedness) sound/oss/pss.c:566:59: warning: incorrect type in argument 2 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: Takashi Iwai commit 930738de602d2ceb0d1c1b368fe2a8d2a974ab72 Author: Clemens Ladisch Date: Thu Feb 26 09:27:20 2009 +0100 sound: virtuoso: add Xonar Essence STX support Add support for the Asus Xonar Essence STX sound card. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4658e4ef9d252c26630268b20ceab78b3952db41 Author: Zhang Rui Date: Thu Feb 26 11:27:23 2009 +0800 ACPI: introduce sysfs I/F for dynamic tables SSDT tables may be loaded at runtime. create sysfs I/F for these dynamic tables in /sys/firmware/acpi/tables/dynamic/. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 129d8bc828e011bda0b7110a097bf3a0167f966e Author: Yinghai Lu Date: Wed Feb 25 21:20:50 2009 -0800 x86: don't compile vsmp_64 for 32bit Impact: cleanup that is only needed when CONFIG_X86_VSMP is defined with 64bit also remove dead code about PCI, because CONFIG_X86_VSMP depends on PCI Signed-off-by: Yinghai Lu Cc: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 2b6163bf5772644068694583816fa41e8474239f Author: Yinghai Lu Date: Wed Feb 25 20:50:49 2009 -0800 x86: remove update_apic from x86_quirks Impact: cleanup x86_quirks->update_apic() calling looks crazy. so try to remove it: 1. every apic take wakeup_cpu member directly 2. separate es7000_apic to es7000_apic_cluster 3. use uv_wakeup_cpu directly Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ecc25fbd6b9e07b33895c61ddf84006b00f55d99 Merge: 801c0be... b5f26d0... 15d4fcd... 6382312... 34754b6... 694593e... Author: Ingo Molnar Date: Thu Feb 26 06:31:32 2009 +0100 Merge branches 'x86/apic', 'x86/defconfig', 'x86/memtest', 'x86/mm' and 'linus' into x86/core commit 801c0be81454901e02c49abe12929c67e7d1cb55 Merge: 13b2eda... 13093cb... Author: Ingo Molnar Date: Thu Feb 26 06:31:23 2009 +0100 Merge branches 'x86/urgent' and 'x86/pat' into x86/core Conflicts: arch/x86/include/asm/pat.h commit 13b2eda64d14d0a0c15c092664c7351ea58ea851 Merge: a852cbf... 55d8085... Author: Ingo Molnar Date: Thu Feb 26 06:30:42 2009 +0100 Merge branch 'x86/urgent' into x86/core Conflicts: arch/x86/mach-voyager/voyager_smp.c commit 0093b108a6853d8398e1acf9021bcbd4666f4594 Merge: d2b0261... e317603... Author: Ingo Molnar Date: Thu Feb 26 04:22:20 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu commit f4abfb8d0da70e436013e5799338357e1e6a0832 Merge: e36b1e1... 3cdfdf9... Author: Ingo Molnar Date: Thu Feb 26 03:48:44 2009 +0100 Merge branch 'tip/tracing/ftrace' of ssh://master.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit e36b1e136aa8f8c42fa6b96848c9c6bcaf2c269c Merge: d7350c3... 2d542cf... 694593e... Author: Ingo Molnar Date: Thu Feb 26 03:47:27 2009 +0100 Merge branches 'tracing/ftrace', 'tracing/hw-branch-tracing' and 'linus' into tracing/core commit 3cdfdf91fcc77cfc82592e2b5c2ab35abe819c41 Author: Steven Rostedt Date: Wed Feb 25 15:54:30 2009 -0500 tracing: wrap arguments with PARAMS Peter Zijlstra warned that TPPROTO and TPARGS might become something other than a simple copy of itself. To prevent this from having side effects in the TRACE_FORMAT macro in tracepoint.h, we add a PARAMS() macro to be defined as just a wrapper. Reported-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit eef62a6826b8ab530cefff5aa55c1661a209c803 Author: Steven Rostedt Date: Wed Feb 25 15:49:52 2009 -0500 tracing: rename DEFINE_TRACE_FMT to just TRACE_FORMAT There's been a bit confusion to whether DEFINE/DECLARE_TRACE_FMT should be a DEFINE or a DECLARE. Ingo Molnar suggested simply calling it TRACE_FORMAT. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 13093cb0e59053bf97910de3a24f07cdff71c62c Author: Ingo Molnar Date: Thu Feb 26 03:16:47 2009 +0100 gpu/drm, x86, PAT: PAT support for io_mapping_*, export symbols for modules Impact: build fix ERROR: "reserve_io_memtype_wc" [drivers/gpu/drm/i915/i915.ko] undefined! ERROR: "free_io_memtype" [drivers/gpu/drm/i915/i915.ko] undefined! Signed-off-by: Ingo Molnar commit e317603694bfd17b28a40de9d65e1a4ec12f816e Author: Tejun Heo Date: Thu Feb 26 10:54:17 2009 +0900 percpu: fix too low alignment restriction on UP UP __alloc_percpu() triggered WARN_ON_ONCE() if the requested alignment is larger than that of unsigned long long, which is too small for all the cacheline aligned allocations. Bump it up to SMP_CACHE_BYTES which kmalloc allocations generally guarantee. Signed-off-by: Tejun Heo Reported-by: Ingo Molnar commit f872a9194cb006994d47a58efc875218594e6072 Author: Takashi Iwai Date: Thu Feb 26 00:57:01 2009 +0100 ALSA: hda - Clean up / fix quirk for Sony laptops with ALC262 Clean up / fix quirk entries for Sony laptops with ALC262 codec using NSD_PCI_QUIRK_MASK(). This also fixes the kernel bug #12780 http://bugme.linux-foundation.org/show_bug.cgi?id=12780 Signed-off-by: Takashi Iwai commit 9206dff15705267c19f8fed391c4fb95975540a3 Author: Roland Dreier Date: Wed Feb 25 13:27:46 2009 -0800 IB: Remove sysfs files before unregistering device Move the ib_device_unregister_sysfs() call from ib_dealloc_device() to ib_unregister_device(). The old code allows device unregister to proceed even if some sysfs files are open, which leaves a window where userspace can open a file before a device is removed but then end up reading the file after the device is removed, which leads to various kernel crashes either because the device data structure is freed or because the low-level driver code is gone after module removal. By not returning from ib_unregister_device() until after all sysfs entries are removed, we make sure that data structures and/or module code is not freed until after all sysfs access is done. Reported-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 39854fe8c165872d743f6a0c4860ca2de8e45ac9 Author: Ingo Molnar Date: Sun Feb 22 16:06:58 2009 +0100 time: ntp: clean up second_overflow() Impact: cleanup, no functionality changed The 'time_adj' local variable is named in a very confusing way because it almost shadows the 'time_adjust' global variable - which is used in this same function. Rename it to 'delta' - to make them stand apart more clearly. kernel/time/ntp.o: text data bss dec hex filename 2545 114 144 2803 af3 ntp.o.before 2545 114 144 2803 af3 ntp.o.after md5: 1bf0b3be564512279ba7cee299d1d2be ntp.o.before.asm 1bf0b3be564512279ba7cee299d1d2be ntp.o.after.asm Signed-off-by: Ingo Molnar commit 069569e025706f27f939785f86a94d5d8ce55dce Author: Ingo Molnar Date: Sun Feb 22 16:03:37 2009 +0100 time: ntp: simplify ntp_tick_adj calculations Impact: micro-optimization Convert the (internal) ntp_tick_adj value we store from unscaled units to scaled units. This is a constant that we never modify, so scaling it up once during bootup is enough - we dont have to do it for every adjustment step. Signed-off-by: Ingo Molnar commit 2b9d1496e7835a603c340e8f0dd81f4b74d5f248 Author: Ingo Molnar Date: Sun Feb 22 15:48:43 2009 +0100 time: ntp: make 64-bit constants more robust Impact: cleanup, no functionality changed - make PPM_SCALE an explicit s64 constant, to remove (s64) casts from usage sites. kernel/time/ntp.o: text data bss dec hex filename 2536 114 136 2786 ae2 ntp.o.before 2536 114 136 2786 ae2 ntp.o.after md5: 40a7728d1188aa18e83e21a81fa7b150 ntp.o.before.asm 40a7728d1188aa18e83e21a81fa7b150 ntp.o.after.asm Signed-off-by: Ingo Molnar commit e96291653b2e4df02f160b574070f6e632868e5e Author: Ingo Molnar Date: Sun Feb 22 15:35:18 2009 +0100 time: ntp: refactor do_adjtimex() some more Impact: cleanup, no functionality changed Further simplify do_adjtimex(): - introduce the ntp_start_leap_timer() helper function - eliminate the goto adj_done complication Signed-off-by: Ingo Molnar commit 80f2257116474ceed5fccab510b4f7245c0f49d7 Author: Ingo Molnar Date: Sun Feb 22 15:15:32 2009 +0100 time: ntp: refactor do_adjtimex() Impact: cleanup, no functionality changed do_adjtimex() is currently a monster function with a maze of branches. Refactor the txc->modes setting aspects of it into two new helper functions: process_adj_status() process_adjtimex_modes() kernel/time/ntp.o: text data bss dec hex filename 2512 114 136 2762 aca ntp.o.before 2512 114 136 2762 aca ntp.o.after Signed-off-by: Ingo Molnar commit 10dd31a7a17254d6ba793305fc590455393e610e Author: Ingo Molnar Date: Sun Feb 22 13:38:40 2009 +0100 time: ntp: fix bug in ntp_update_offset() & do_adjtimex() Impact: change (fix) the way the NTP PLL seconds offset is initialized/tracked Fix a bug and do a micro-optimization: When PLL is enabled we do not reset time_reftime. If the PLL was off for a long time (for example after bootup), this is arguably the wrong thing to do. We already had a hack for the common boot-time case in ntp_update_offset(), in form of: if (unlikely(time_status & STA_FREQHOLD || time_reftime == 0)) secs = 0; But the update delta should be reset later on too - not just when the PLL is enabled for the first time after bootup. So do it on !STA_PLL -> STA_PLL transitions. This changes behavior, as previously if ntpd was disabled for a long time and we restarted it, we'd run from that last update, with a very large delta. Signed-off-by: Ingo Molnar commit c7986acba211e8285e14c9603fb89e6f4ea0b9f8 Author: Ingo Molnar Date: Sun Feb 22 13:29:09 2009 +0100 time: ntp: micro-optimize ntp_update_offset() Impact: cleanup, no functionality changed The time_reftime update in ntp_update_offset() to xtime.tv_sec is a convoluted way of saying that we want to freeze the frequency and want the 'secs' delta to be 0. Also make this branch unlikely. This shaves off 8 bytes from the code size: text data bss dec hex filename 2504 114 136 2754 ac2 ntp.o.before 2496 114 136 2746 aba ntp.o.after Signed-off-by: Ingo Molnar commit 478b7aab1682246a3d1e76e27a0aecb2f0013379 Author: Ingo Molnar Date: Sun Feb 22 13:22:23 2009 +0100 time: ntp: simplify ntp_update_offset_fll() Impact: cleanup, no functionality changed Change ntp_update_offset_fll() to delta logic instead of absolute value logic. This eliminates 'freq_adj' from the function. Signed-off-by: Ingo Molnar commit f939890b6687e05c42361655fb6610fa08f5a601 Author: Ingo Molnar Date: Sun Feb 22 12:57:49 2009 +0100 time: ntp: refactor and clean up ntp_update_offset() Impact: cleanup, no functionality changed - introduce the ntp_update_offset_fll() helper - clean up the flow and variable naming kernel/time/ntp.o: text data bss dec hex filename 2504 114 136 2754 ac2 ntp.o.before 2504 114 136 2754 ac2 ntp.o.after md5: 01f7b8e1a5472a3056f9e4ae84d46315 ntp.o.before.asm 01f7b8e1a5472a3056f9e4ae84d46315 ntp.o.after.asm Signed-off-by: Ingo Molnar commit bc26c31d446bc9c24cd6f7003777a05fe268ae48 Author: Ingo Molnar Date: Sun Feb 22 12:17:36 2009 +0100 time: ntp: refactor up ntp_update_frequency() Impact: cleanup, no functionality changed Change ntp_update_frequency() from a hard to follow code flow that uses global variables as temporaries, to a clean input+output flow. Signed-off-by: Ingo Molnar commit 9ce616aaefcb9309cb9c49a36310ebda6061b98b Author: Ingo Molnar Date: Sun Feb 22 12:42:59 2009 +0100 time: ntp: clean up ntp_update_frequency() Impact: cleanup, no functionality changed Prepare a refactoring of ntp_update_frequency(). kernel/time/ntp.o: text data bss dec hex filename 2504 114 136 2754 ac2 ntp.o.before 2504 114 136 2754 ac2 ntp.o.after md5: 41f3009debc9b397d7394dd77d912f0a ntp.o.before.asm 41f3009debc9b397d7394dd77d912f0a ntp.o.after.asm Signed-off-by: Ingo Molnar commit bbd1267690bb6940d0722dd33e929442c0409c01 Author: Ingo Molnar Date: Sun Feb 22 12:11:11 2009 +0100 time: ntp: simplify the MAX_TICKADJ_SCALED definition Impact: cleanup, no functionality changed There's an ugly u64 typecase in the MAX_TICKADJ_SCALED definition, this can be eliminated by making the MAX_TICKADJ constant's type 64-bit (signed). kernel/time/ntp.o: text data bss dec hex filename 2504 114 136 2754 ac2 ntp.o.before 2504 114 136 2754 ac2 ntp.o.after md5: 41f3009debc9b397d7394dd77d912f0a ntp.o.before.asm 41f3009debc9b397d7394dd77d912f0a ntp.o.after.asm Signed-off-by: Ingo Molnar commit 3c972c2444dcb7088999c32b8c5a7ab3b8a6c0b6 Author: Ingo Molnar Date: Sun Feb 22 12:06:57 2009 +0100 time: ntp: simplify the second_overflow() code flow Impact: cleanup, no functionality changed Instead of a hierarchy of conditions, transform them to clean gradual conditions and return's. This makes the flow easier to read and makes the purpose of the function easier to understand. kernel/time/ntp.o: text data bss dec hex filename 2552 170 168 2890 b4a ntp.o.before 2552 170 168 2890 b4a ntp.o.after md5: eae1275df0b7d6290c13f6f6f8f05c8c ntp.o.before.asm eae1275df0b7d6290c13f6f6f8f05c8c ntp.o.after.asm Signed-off-by: Ingo Molnar commit 53bbfa9e9437e70b322368e82c723112d690e304 Author: Ingo Molnar Date: Wed Feb 20 07:58:42 2008 +0100 time: ntp: clean up kernel/time/ntp.c Impact: cleanup, no functionality changed Make this file a bit more readable by applying a consistent coding style. No code changed: kernel/time/ntp.o: text data bss dec hex filename 2552 170 168 2890 b4a ntp.o.before 2552 170 168 2890 b4a ntp.o.after md5: eae1275df0b7d6290c13f6f6f8f05c8c ntp.o.before.asm eae1275df0b7d6290c13f6f6f8f05c8c ntp.o.after.asm Signed-off-by: Ingo Molnar commit 873dc78a8676b7ba6260b1d74c50d8ea5025ecbe Author: Takashi Iwai Date: Wed Feb 25 18:12:13 2009 +0100 ALSA: hda - Clean up / fix quirks for HP laptops with AD1984A Use SND_PCI_QUIRK_MASK() to clean up / support better HP laptops with AD1984A codec. Signed-off-by: Takashi Iwai commit 0b13fda1e0936b3d64c4c407f183d33fa6bd2ad4 Author: Ingo Molnar Date: Wed Feb 25 16:52:11 2009 +0100 generic-ipi: cleanups Andrew pointed out that there's some small amount of style rot in kernel/smp.c. Clean it up. Reported-by: Andrew Morton Cc: Nick Piggin Cc: Jens Axboe Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2e31add2a7e2a15d07f592c21ba35870fa9a1d1f Merge: d639bab... 17581ad... Author: Ingo Molnar Date: Wed Feb 25 16:40:10 2009 +0100 Merge branch 'x86/urgent' into x86/pat commit 34754b69a6f87aa6aa2860525a82f12532f83afd Author: Peter Zijlstra Date: Wed Feb 25 16:04:03 2009 +0100 x86: make vmap yell louder when it is used under irqs_disabled() Signed-off-by: Ingo Molnar commit d2b0261506602bd969164879206027b30358ffdf Author: Ingo Molnar Date: Wed Feb 25 14:36:45 2009 +0100 alloc_percpu: fix UP build Impact: build fix the !SMP branch had a 'gfp' leftover: include/linux/percpu.h: In function '__alloc_percpu': include/linux/percpu.h:160: error: 'gfp' undeclared (first use in this function) include/linux/percpu.h:160: error: (Each undeclared identifier is reported only once include/linux/percpu.h:160: error: for each function it appears in.) Use GFP_KERNEL like the SMP version does. Cc: Rusty Russell Cc: Tejun Heo Signed-off-by: Ingo Molnar commit 6e2756376c706e4da3454a272947983f92e80a7e Author: Peter Zijlstra Date: Wed Feb 25 13:59:48 2009 +0100 generic-ipi: remove CSD_FLAG_WAIT Oleg noticed that we don't strictly need CSD_FLAG_WAIT, rework the code so that we can use CSD_FLAG_LOCK for both purposes. Signed-off-by: Peter Zijlstra Cc: Oleg Nesterov Cc: Linus Torvalds Cc: Nick Piggin Cc: Jens Axboe Cc: "Paul E. McKenney" Cc: Rusty Russell Signed-off-by: Ingo Molnar commit 8969a5ede0f9e17da4b943712429aef2c9bcd82b Author: Peter Zijlstra Date: Wed Feb 25 13:59:47 2009 +0100 generic-ipi: remove kmalloc() Remove the use of kmalloc() from the smp_call_function_*() calls. Steven's generic-ipi patch (d7240b98: generic-ipi: use per cpu data for single cpu ipi calls) started the discussion on the use of kmalloc() in this code and fixed the smp_call_function_single(.wait=0) fallback case. In this patch we complete this by also providing means for the _many() call, which fully removes the need for kmalloc() in this code. The problem with the _many() call is that other cpus might still be observing our entry when we're done with it. It solved this by dynamically allocating data elements and RCU-freeing it. We solve it by using a single per-cpu entry which provides static storage and solves one half of the problem (avoiding referencing freed data). The other half, ensuring the queue iteration it still possible, is done by placing re-used entries at the head of the list. This means that if someone was still iterating that entry when it got moved, he will now re-visit the entries on the list he had already seen, but avoids skipping over entries like would have happened had we placed the new entry at the end. Furthermore, visiting entries twice is not a problem, since we remove our cpu from the entry's cpumask once its called. Many thanks to Oleg for his suggestions and him poking holes in my earlier attempts. Signed-off-by: Peter Zijlstra Cc: Oleg Nesterov Cc: Linus Torvalds Cc: Nick Piggin Cc: Jens Axboe Cc: "Paul E. McKenney" Cc: Rusty Russell Signed-off-by: Ingo Molnar commit 0dcec8c27ba44cd11c6e68c46d5fd553818a3837 Author: Ingo Molnar Date: Wed Feb 25 14:07:33 2009 +0100 alloc_percpu: add align argument to __alloc_percpu, fix Impact: build fix API was changed, but not all usage sites were converted: net/ipv4/route.c: In function ‘ip_rt_init’: net/ipv4/route.c:3379: error: too few arguments to function ‘__alloc_percpu’ Cc: Rusty Russell Cc: Tejun Heo Signed-off-by: Ingo Molnar commit d7350c3f45694104e820041969c8185c5f99e57c Author: Frederic Weisbecker Date: Wed Feb 25 06:13:16 2009 +0100 tracing/core: make the read callbacks reentrants Now that several per-cpu files can be read or spliced at the same, we want the read/splice callbacks for tracing files to be reentrants. Until now, a single global mutex (trace_types_lock) serialized the access to tracing_read_pipe(), tracing_splice_read_pipe(), and the seq helpers. Ie: it means that if a user tries to read trace_pipe0 and trace_pipe1 at the same time, the access to the function tracing_read_pipe() is contended and one reader must wait for the other to finish its read call. The trace_type_lock mutex is mostly here to serialize the access to the global current tracer (current_trace), which can be changed concurrently. Although the iter struct keeps a private pointer to this tracer, its callbacks can be changed by another function. The method used here is to not keep anymore private reference to the tracer inside the iterator but to make a copy of it inside the iterator. Then it checks on subsequents read calls if the tracer has changed. This is not costly because the current tracer is not expected to be changed often, so we use a branch prediction for that. Moreover, we add a private mutex to the iterator (there is one iterator per file descriptor) to serialize the accesses in case of multiple consumers per file descriptor (which would be a silly idea from the user). Note that this is not to protect the ring buffer, since the ring buffer already serializes the readers accesses. This is to prevent from traces weirdness in case of concurrent consumers. But these mutexes can be dropped anyway, that would not result in any crash. Just tell me what you think about it. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit b04cc6b1f6398b0e0b60d37e27ce51b4899672ec Author: Frederic Weisbecker Date: Wed Feb 25 03:22:28 2009 +0100 tracing/core: introduce per cpu tracing files Impact: split up tracing output per cpu Currently, on the tracing debugfs directory, three files are available to the user to let him extracting the trace output: - trace is an iterator through the ring-buffer. It's a reader but not a consumer It doesn't block when no more traces are available. - trace pretty similar to the former, except that it adds more informations such as prempt count, irq flag, ... - trace_pipe is a reader and a consumer, it will also block waiting for traces if necessary (heh, yes it's a pipe). The traces coming from different cpus are curretly mixed up inside these files. Sometimes it messes up the informations, sometimes it's useful, depending on what does the tracer capture. The tracing_cpumask file is useful to filter the output and select only the traces captured a custom defined set of cpus. But still it is not enough powerful to extract at the same time one trace buffer per cpu. So this patch creates a new directory: /debug/tracing/per_cpu/. Inside this directory, you will now find one trace_pipe file and one trace file per cpu. Which means if you have two cpus, you will have: trace0 trace1 trace_pipe0 trace_pipe1 And of course, reading these files will have the same effect than with the usual tracing files, except that you will only see the traces from the given cpu. The original all-in-one cpu trace file are still available on their original place. Until now, only one consumer was allowed on trace_pipe to avoid racy consuming on the ring-buffer. Now the approach changed a bit, you can have only one consumer per cpu. Which means you are allowed to read concurrently trace_pipe0 and trace_pipe1 But you can't have two readers on trace_pipe0 or trace_pipe1. Following the same logic, if there is one reader on the common trace_pipe, you can not have at the same time another reader on trace_pipe0 or in trace_pipe1. Because in trace_pipe is already a consumer in all cpu buffers in essence. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 17581ad812a9abb0182260374ef2e52d4a808a64 Author: Venkatesh Pallipadi Date: Tue Feb 24 17:35:14 2009 -0800 gpu/drm, x86, PAT: PAT support for io_mapping_* Make io_mapping_create_wc and io_mapping_free go through PAT to make sure that there are no memory type aliases. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Cc: Dave Airlie Cc: Jesse Barnes Cc: Eric Anholt Cc: Keith Packard Signed-off-by: Ingo Molnar commit 7880f7464546842ee14179bef16a6e14381ea638 Author: Venkatesh Pallipadi Date: Tue Feb 24 17:35:13 2009 -0800 gpu/drm, x86, PAT: routine to keep identity map in sync Add a function to check and keep identity maps in sync, when changing any memory type. One of the follow on patches will also use this routine. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Cc: Dave Airlie Cc: Jesse Barnes Cc: Eric Anholt Cc: Keith Packard Signed-off-by: Ingo Molnar commit 2b1b858f690d6369a59ad241335eeedec6eb0c8c Merge: 886b5b7... 1473e44... Author: Ingo Molnar Date: Wed Feb 25 12:50:07 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 15d0d3b3371227f846b9f644547fde081c7e1c0c Author: Nick Piggin Date: Wed Feb 25 06:22:45 2009 +0100 generic IPI: simplify barriers and locking Simplify the barriers in generic remote function call interrupt code. Firstly, just unconditionally take the lock and check the list in the generic_call_function_single_interrupt IPI handler. As we've just taken an IPI here, the chances are fairly high that there will be work on the list for us, so do the locking unconditionally. This removes the tricky lockless list_empty check and dubious barriers. The change looks bigger than it is because it is just removing an outer loop. Secondly, clarify architecture specific IPI locking rules. Generic code has no tools to impose any sane ordering on IPIs if they go outside normal cache coherency, ergo the arch code must make them appear to obey cache coherency as a "memory operation" to initiate an IPI, and a "memory operation" to receive one. This way at least they can be reasoned about in generic code, and smp_mb used to provide ordering. The combination of these two changes means that explict barriers can be taken out of queue handling for the single case -- shared data is explicitly locked, and ipi ordering must conform to that, so no barriers needed. An extra barrier is needed in the many handler, so as to ensure we load the list element after the IPI is received. Does any architecture actually *need* these barriers? For the initiator I could see it, but for the handler I would be surprised. So the other thing we could do for simplicity is just to require that, rather than just matching with cache coherency, we just require a full barrier before generating an IPI, and after receiving an IPI. In which case, the smp_mb()s can go away. But just for now, we'll be on the safe side and use the barriers (they're in the slow case anyway). Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Cc: linux-arch@vger.kernel.org Cc: Andrew Morton Cc: Linus Torvalds Cc: Jens Axboe Cc: Oleg Nesterov Cc: Suresh Siddha Signed-off-by: Ingo Molnar commit 63823126c221dd721ce7351b596b3b73aa943613 Author: Andreas Herrmann Date: Wed Feb 25 11:31:49 2009 +0100 x86: memtest: add additional (regular) test patterns Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 9e5f6cf5f755ca5c52071c317421fae19966a658 Author: Andreas Herrmann Date: Wed Feb 25 11:30:45 2009 +0100 x86: update description for memtest boot parameter Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit bfb4dc0da45f8fddc76eba7e62919420c7d6dae2 Author: Andreas Herrmann Date: Wed Feb 25 11:30:04 2009 +0100 x86: memtest: wipe out test pattern from memory Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 570c9e69aaa84689fb8ed2a3a4af39ca54ba7a47 Author: Andreas Herrmann Date: Wed Feb 25 11:28:58 2009 +0100 x86: memtest: adapt log messages - print test pattern instead of pattern number, - show pattern as stored in memory, - use proper priority flags, - consistent use of u64 throughout the code Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 7dad169e57eda1f0aa6dc5ac43a898b4b0ced2c7 Author: Andreas Herrmann Date: Wed Feb 25 11:28:07 2009 +0100 x86: memtest: cleanup memtest function Impact: code cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 6d74171bf7315257d276aa35400c5a8d6a993f19 Author: Andreas Herrmann Date: Wed Feb 25 11:27:27 2009 +0100 x86: memtest: introduce array to select memtest patterns Impact: code cleanup Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 40823f737e5bd186a1156fb1c28f360260e1e084 Author: Andreas Herrmann Date: Wed Feb 25 11:26:18 2009 +0100 x86: memtest: reuse test patterns when memtest parameter exceeds number of available patterns Impact: fix unexpected behaviour when pattern number is out of range Current implementation provides 4 patterns for memtest. The code doesn't check whether the memtest parameter value exceeds the maximum pattern number. Instead the memtest code pretends to test with non-existing patterns, e.g. when booting with memtest=10 I've observed the following ... early_memtest: pattern num 10 0000001000 - 0000006000 pattern 0 ... 0000001000 - 0000006000 pattern 1 ... 0000001000 - 0000006000 pattern 2 ... 0000001000 - 0000006000 pattern 3 ... 0000001000 - 0000006000 pattern 4 ... 0000001000 - 0000006000 pattern 5 ... 0000001000 - 0000006000 pattern 6 ... 0000001000 - 0000006000 pattern 7 ... 0000001000 - 0000006000 pattern 8 ... 0000001000 - 0000006000 pattern 9 ... But in fact Linux didn't test anything for patterns > 4 as the default case in memtest() is to leave the function. I suggest to use the memtest parameter as the number of tests to be performed and to re-iterate over all existing patterns. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar commit 886b5b73d71e4027d7dc6c14f5f7ab102201ea6b Author: Ingo Molnar Date: Wed Feb 25 11:03:44 2009 +0100 tracing: remove /debug/tracing/latency_trace Impact: remove old debug/tracing API /debug/tracing/latency_trace is an old legacy format we kept from the old latency tracer. Remove the file for now. If there's any useful bit missing then we'll propagate any useful output bits into the /debug/tracing/trace output. Reported-by: Andrew Morton Signed-off-by: Ingo Molnar commit 95108fa34a83ffd97e0af959e4b28d7c62008781 Author: Ingo Molnar Date: Wed Feb 25 08:22:20 2009 +0100 x86: usercopy: check for total size when deciding non-temporal cutoff Impact: make more types of copies non-temporal This change makes the following simple fix: 30d697f: x86: fix performance regression in write() syscall A bit more sophisticated: we check the 'total' number of bytes written to decide whether to copy in a cached or a non-temporal way. This will for example cause the tail (modulo 4096 bytes) chunk of a large write() to be non-temporal too - not just the page-sized chunks. Cc: Salman Qazi Cc: Nick Piggin Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 3255aa2eb636a508fc82a73fabbb8aaf2ff23c0f Author: Ingo Molnar Date: Wed Feb 25 08:21:52 2009 +0100 x86, mm: pass in 'total' to __copy_from_user_*nocache() Impact: cleanup, enable future change Add a 'total bytes copied' parameter to __copy_from_user_*nocache(), and update all the callsites. The parameter is not used yet - architecture code can use it to more intelligently decide whether the copy should be cached or non-temporal. Cc: Salman Qazi Cc: Nick Piggin Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 2d542cf34264ac92e9e7ac55c0b096b066d569d2 Author: Ingo Molnar Date: Wed Feb 25 08:40:09 2009 +0100 tracing/hw-branch-tracing: convert bts-tracer mutex to a spinlock Impact: fix CPU hotplug lockup bts_hotcpu_handler() is called with irqs disabled, so using mutex_lock() is a no-no. All the BTS codepaths here are atomic (they do not schedule), so using a spinlock is the right solution. Cc: Markus Metzger Signed-off-by: Ingo Molnar commit f11c179eea77b8afc2fb7cb4b9a8815b85e3c16f Merge: 4545a3f... 0c9a3aa... Author: David S. Miller Date: Wed Feb 25 00:02:05 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/orinoco/orinoco.c commit 4545a3f2765bb7d2d93468a8ffa578ac87a2c5c7 Author: Ron Mercer Date: Mon Feb 23 10:42:17 2009 +0000 qlge: Use one path to (re)fill rx buffers. Currently there are two paths for filling rx buffer queues. One is used during initialization and the other during runtime. This patch removes ql_alloc_sbq_buffers() and ql_alloc_lbq_buffers() and replaces them with a call to the runtime functions ql_update_lbq() and ql_update_sbq(). Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 49f2186d36a88ae6f7dd8261aff2cf80409af28d Author: Ron Mercer Date: Mon Feb 23 10:42:16 2009 +0000 qlge: Optimize rx buffer refill process. RX Buffers are refilled in chunks of 16 at a time before notifying the hardware with a register write. This can cause several writes to take place in a given napi poll call. This change causes the write to take place only once at the end of the call. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 8587ea35ca6b4add4353b8a18b67d358aed0389e Author: Ron Mercer Date: Mon Feb 23 10:42:15 2009 +0000 qlge: Change frame route hw semaphore granularity. Instead of taking/giving the hw semaphore repeatedly when iterating over several frame to queue route settings, we have the caller hold it until all are done. This reduces PCI bus chatter and possible waits. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit cc288f54bbace136c08742da84712add54e4acfa Author: Ron Mercer Date: Mon Feb 23 10:42:14 2009 +0000 qlge: Increase MAC addr hw sem granularity. Instead of taking/giving the semaphore repeatedly when iterating over several adderesses, we have the caller hold it until all are done. This reduces PCI bus chatter and possible waits. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit bb58b5b67c08b5fde08090917a040a07ac9d43de Author: Ron Mercer Date: Mon Feb 23 10:42:13 2009 +0000 qlge: Clean up mac address and frame route settings. Setting MAC addresses and routing frames to various queues will need to be done in response to firmware events as well as during initialization. This change encapsulates the facilities into a single call that can later me made from other places. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit bb80087a9440178bcd8363dc27a486f34786fec3 Author: Wei Yongjun Date: Tue Feb 24 23:37:19 2009 -0800 sit: used time_before for comparing jiffies The functions time_before is more robust for comparing jiffies against other values. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 26d94b46d09c97adb3c78c744c195e74ede699b2 Author: Wei Yongjun Date: Tue Feb 24 23:36:47 2009 -0800 ipip: used time_before for comparing jiffies The functions time_before is more robust for comparing jiffies against other values. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit da6185d8743704bf7647c0aedaf8c7879d8f3cab Author: Wei Yongjun Date: Tue Feb 24 23:34:48 2009 -0800 gre: used time_before for comparing jiffies The functions time_before is more robust for comparing jiffies against other values. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 800d55f146098c5ffd1914d7eef2fd4a6d558b1d Author: Wei Yongjun Date: Mon Feb 23 21:45:33 2009 +0000 ipv6: Remove some pointless conditionals before kfree_skb() Remove some pointless conditionals before kfree_skb(). The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; @@ - if (E) - kfree_skb(E); + kfree_skb(E); // Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 95f66b3770d6d0755b4a2d818c237574ffd74e4c Merge: 46cb27f... 9f33111... Author: Ingo Molnar Date: Wed Feb 25 08:27:46 2009 +0100 Merge branch 'x86/asm' into x86/mm commit 1ce85fe402137824246bad03ff85f3913d565c17 Author: Pablo Neira Ayuso Date: Tue Feb 24 23:18:28 2009 -0800 netlink: change nlmsg_notify() return value logic This patch changes the return value of nlmsg_notify() as follows: If NETLINK_BROADCAST_ERROR is set by any of the listeners and an error in the delivery happened, return the broadcast error; else if there are no listeners apart from the socket that requested a change with the echo flag, return the result of the unicast notification. Thus, with this patch, the unicast notification is handled in the same way of a broadcast listener that has set the NETLINK_BROADCAST_ERROR socket flag. This patch is useful in case that the caller of nlmsg_notify() wants to know the result of the delivery of a netlink notification (including the broadcast delivery) and take any action in case that the delivery failed. For example, ctnetlink can drop packets if the event delivery failed to provide reliable logging and state-synchronization at the cost of dropping packets. This patch also modifies the rtnetlink code to ignore the return value of rtnl_notify() in all callers. The function rtnl_notify() (before this patch) returned the error of the unicast notification which makes rtnl_set_sk_err() reports errors to all listeners. This is not of any help since the origin of the change (the socket that requested the echoing) notices the ENOBUFS error if the notification fails and should resync itself. Signed-off-by: Pablo Neira Ayuso Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 4fb0a54a55d34c28dc53c39567ce171166572699 Author: Lennert Buytenhek Date: Tue Feb 24 15:42:05 2009 +0000 mv643xx_eth: set sane default receive coalescing timeout A receive coalescing timeout of 250 usec appears to strike a good balance between allowing enough received frames to be aggregated for LRO to do its job and not allowing the connection to stall due to delaying ACKs to the remote end for too long. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit a5fe36165339c57b341250e8252d833e91317c70 Author: Lennert Buytenhek Date: Tue Feb 24 15:41:47 2009 +0000 mv643xx_eth: move a couple of init actions from ->open() to port probe Move the netif_carrier_off() call in ->open() to port probe, so that ethtool doesn't report the link as being up before we have up'd the interface. Move initialisation of the rx/tx coalescing timers from ->open() to port probe, so that we don't reset the coalescing timers every time the interface is up'd. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit ea8a8642636b905c79aed104a0755b3fa2e65e8e Author: Lennert Buytenhek Date: Tue Feb 24 15:41:40 2009 +0000 mv643xx_eth: convert to net_device_ops Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit ab307a3983a7fa28f260f3123293c7b91d5d629e Author: Lennert Buytenhek Date: Tue Feb 24 15:41:32 2009 +0000 mv643xx_eth: make LRO unconditional Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit c0bdb232b23b51c23e551041510ad6bea5ce5a92 Author: David Rientjes Date: Wed Feb 25 09:16:35 2009 +0200 slub: rename calculate_min_partial() to set_min_partial() As suggested by Christoph Lameter, rename calculate_min_partial() to set_min_partial() as the function doesn't really do any calculations. Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit 75bb6b9aab3255f440ef4e72a31978d1681105d6 Author: Alexander Clouter Date: Mon Feb 23 22:40:01 2009 +0000 [ARM] orion5x: ts78xx add NAND support via plat_nand ts78xx add NAND support via plat_nand Signed-off-by: Alexander Clouter Signed-off-by: Nicolas Pitre commit 673492a800b14a9aac5d9d1af120334b9578a23c Author: Alexander Clouter Date: Mon Feb 23 22:38:50 2009 +0000 [ARM] orion5x: ts78xx amend RTC registering to not depend on ifdef's amend RTC registering to not depend on ifdef's Signed-off-by: Alexander Clouter Signed-off-by: Nicolas Pitre commit f5273fa3102fa4c25819f3034b8834c37d3e62a3 Author: Alexander Clouter Date: Mon Feb 23 22:37:36 2009 +0000 [ARM] orion5x: ts78xx make more bulletproof the RTC load/unload code Added checks to the platform_device_(register|add) calls so that if a device failed to load it would then not later be unloaded; also added the hooks so that it would not try to unload when the RTC driver support is compiled out. Signed-off-by: Alexander Clouter Signed-off-by: Nicolas Pitre commit eb3092cee79e4efa5d3e9c81c7e6ca90318cebb8 Author: Matthew Garrett Date: Sat Feb 21 01:58:47 2009 +0000 [CPUFREQ] Make cpufreq-nforce2 less obnoxious Not owning an nforce2 is a sign of good taste, not an error. Signed-off-by: Matthew Garrett Signed-off-by: Dave Jones commit 199785eac892a1fa1b71cc22bec58e8b156d9311 Author: Matthias-Christian Ott Date: Fri Feb 20 20:52:17 2009 -0500 [CPUFREQ] p4-clockmod reports wrong frequency. http://bugzilla.kernel.org/show_bug.cgi?id=10968 [ Updated for current tree, and fixed compile failure when p4-clockmod was built modular -- davej] From: Matthias-Christian Ott Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 0cb8bc256093e716d2a0a4a721f36c625a3f7634 Author: Dave Jones Date: Wed Feb 18 14:11:00 2009 -0500 [CPUFREQ] powernow-k8: Use a common exit path. a0abd520fd69295f4a3735e29a9448a32e101d47 introduced a slew of extra kfree/return -ENODEV pairs. This replaces them all with gotos. Signed-off-by: Dave Jones commit de3ed81d746d7cfc22a0c645244ed9fa71e4a833 Author: Matthew Garrett Date: Wed Feb 18 18:28:22 2009 +0000 [CPUFREQ] Change link order of x86 cpufreq modules Change the link order of the cpufreq modules to ensure that they're probed in the preferred order when statically linked in. Signed-off-by: Matthew Garrett Signed-off-by: Dave Jones commit a75603a084f1dd9a9558c8af95fc2acfc54f1021 Author: Alexander Clouter Date: Fri Feb 13 19:03:26 2009 +0000 [CPUFREQ] conservative: remove 10x from def_sampling_rate AMD users get particular hit by this issue (bug 8081) as it caps at typically 90 seconds as the minimum period for a frequency change. Harsh eh? Years ago I borked this buy puting the 10x in the wrong place...I fix that by removing it altogether. Signed-off-by: Alexander Clouter Signed-off-by: Dave Jones commit 8e677ce83bf41ba9c74e5b6d9ee60b07d4e5ed93 Author: Alexander Clouter Date: Fri Feb 13 19:02:34 2009 +0000 [CPUFREQ] conservative: fixup governor to function more like ondemand logic As conservative is based off ondemand the codebases occasionally need to be resync'd. This patch, although ugly, does this. Signed-off-by: Alexander Clouter Signed-off-by: Dave Jones commit f407a08bb7eff5ddbe0d9173d8717794a910771f Author: Alexander Clouter Date: Fri Feb 13 19:01:51 2009 +0000 [CPUFREQ] conservative: fix dbs_cpufreq_notifier so freq is not locked When someone added the dbs_cpufreq_notifier section to the governor the code ended up causing the frequency to only fall. This is because requested_freq is tinkered with and that should only modified if it has an invlaid value due to changes in the available frequency ranges This should fix #10055. Signed-off-by: Alexander Clouter Signed-off-by: Dave Jones commit 11a80a9c7668c40c40a03ae15bd2c6b215058b2e Author: Alexander Clouter Date: Fri Feb 13 19:01:01 2009 +0000 [CPUFREQ] conservative: amend author's email address Amend author's email address. Signed-off-by: Alexander Clouter Signed-off-by: Dave Jones commit 91420220d278584693d11a800b78fdc20e8fe10e Author: Dave Jones Date: Wed Feb 4 15:28:54 2009 -0500 [CPUFREQ] Use swap() in longhaul.c Remove hand-coded implementation of swap() Signed-off-by: Dave Jones commit 3a58df35a64a1e0ac32c30ea629a513dec2fe711 Author: Dave Jones Date: Sat Jan 17 22:36:14 2009 -0500 [CPUFREQ] checkpatch cleanups for acpi-cpufreq Signed-off-by: Dave Jones commit 79cc56af9fdbeaa91f50289b932d0959b41f9467 Author: Thomas Renninger Date: Wed Feb 4 11:56:11 2009 +0100 [CPUFREQ] powernow-k8: Only print error message once, not per core. This is the typical message you get if you plug in a CPU which is newer than your BIOS. It's annoying seeing this message for each core. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 112124ab0a9f507a0d7fdbb1e1ed2b9a24f8c4ea Author: Thomas Renninger Date: Wed Feb 4 11:55:12 2009 +0100 [CPUFREQ] ondemand/conservative: sanitize sampling_rate restrictions Limit sampling rate to transition_latency * 100 or kernel limits. If sampling_rate is tried to be set too low, set the lowest allowed value. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 9411b4ef7fcb534fe1582fe02738254e398dd931 Author: Thomas Renninger Date: Wed Feb 4 11:54:04 2009 +0100 [CPUFREQ] ondemand/conservative: deprecate sampling_rate{min,max} The same info can be obtained via the transition_latency sysfs file Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 57f4fa699195b761cbea90db5e38b4bc15610c7c Author: Thomas Renninger Date: Wed Feb 4 01:17:45 2009 +0100 [CPUFREQ] powernow-k8: Always compile powernow-k8 driver with ACPI support powernow-k8 driver should always try to get cpufreq info from ACPI. Otherwise it will not be able to detect the transition latency correctly which results in ondemand governor taking a wrong sampling rate which will then result in sever performance loss. Let the user not shoot himself in the foot and always compile in ACPI support for powernow-k8. This also fixes a wrong message if ACPI_PROCESSOR is compiled as a module and #ifndef CONFIG_ACPI_PROCESSOR path is chosen. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit ed12978453a3845c947695e7ad32bb3ede444813 Author: Thomas Renninger Date: Wed Feb 4 01:17:41 2009 +0100 [CPUFREQ] Introduce /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_transition_latency It's not only useful for the ondemand and conservative governors, but also for userspace daemons to know about the HW transition latency of the CPU. It is especially useful for userspace to know about this value when the ondemand or conservative governors are run. The sampling rate control value depends on it and for userspace being able to set sane tuning values there it has to know about the transition latency. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 0e64a0c982c06a6b8f5e2a7f29eb108fdf257b2f Author: Dave Jones Date: Wed Feb 4 14:37:50 2009 -0500 [CPUFREQ] checkpatch cleanups for powernow-k8 This driver has so many long function names, and deep nested if's The remaining warnings will need some code restructuring to clean up. Signed-off-by: Dave Jones commit 2b03f891ad3804dd3fa4dadfd33e5dcb200389c5 Author: Dave Jones Date: Sun Jan 18 01:43:44 2009 -0500 [CPUFREQ] checkpatch cleanups for ondemand governor. Signed-off-by: Dave Jones commit b9e7638a301b1245d4675087a05fa90fb4fa1845 Author: Dave Jones Date: Sun Jan 18 00:32:26 2009 -0500 [CPUFREQ] checkpatch cleanups for powernow-k7 The asm/timer.h warning can be ignored, it's needed for recalibrate_cpu_khz() Signed-off-by: Dave Jones commit bbfebd66554b934b270c4c49442f4fe5e62df0e5 Author: Dave Jones Date: Sat Jan 17 23:55:22 2009 -0500 [CPUFREQ] checkpatch cleanups for speedstep related drivers. Signed-off-by: Dave Jones commit 97acec55de8b168548665f267c9dd45ed863b179 Author: Dave Jones Date: Sun Jan 18 01:56:41 2009 -0500 [CPUFREQ] checkpatch cleanups for freq_table Signed-off-by: Dave Jones commit 1bceb8d13907d681b7eac9ae0ae14f2eecae9801 Author: Dave Jones Date: Sun Jan 18 01:51:46 2009 -0500 [CPUFREQ] checkpatch cleanups for userspace governor Signed-off-by: Dave Jones commit 0a829c5afde8e9e9c33a3a5c231b04dcf253337d Author: Dave Jones Date: Sun Jan 18 01:49:04 2009 -0500 [CPUFREQ] checkpatch cleanups for cpufreq_stats Signed-off-by: Dave Jones commit 9acef4875695a7717734f2578666a64822ea6495 Author: Dave Jones Date: Sun Jan 18 01:39:51 2009 -0500 [CPUFREQ] checkpatch cleanups for conservative governor Signed-off-by: Dave Jones commit 29464f281389fd7e9adf969de7bbeb20b8596f82 Author: Dave Jones Date: Sun Jan 18 01:37:11 2009 -0500 [CPUFREQ] checkpatch cleanups for cpufreq core Signed-off-by: Dave Jones commit 6072ace436800a011c3cb9a75ee49276bd90445a Author: Dave Jones Date: Sun Jan 18 01:27:35 2009 -0500 [CPUFREQ] checkpatch cleanups for sc520 Signed-off-by: Dave Jones commit 14a6650f13b958aabc30ddd575b0902384b22457 Author: Dave Jones Date: Sun Jan 18 00:00:04 2009 -0500 [CPUFREQ] checkpatch cleanups for powernow-k6 Signed-off-by: Dave Jones commit 48ee923a666d4cc54e48d55fc573c57492501122 Author: Dave Jones Date: Sat Jan 17 23:32:50 2009 -0500 [CPUFREQ] checkpatch cleanups for longrun Signed-off-by: Dave Jones commit ac617bd0f7b959dc6708ad2f0d6b9dcf4382f1ed Author: Dave Jones Date: Sat Jan 17 23:29:53 2009 -0500 [CPUFREQ] checkpatch cleanups for longhaul Signed-off-by: Dave Jones commit 00f6a235bf241e62dfadf32b4322309e65c7b177 Author: Dave Jones Date: Sat Jan 17 23:06:57 2009 -0500 [CPUFREQ] checkpatch cleanups for gx-suspmod Signed-off-by: Dave Jones commit c9b8c871525aeda153494996d84a832270205d81 Author: Dave Jones Date: Sat Jan 17 22:54:47 2009 -0500 [CPUFREQ] checkpatch cleanups for e_powersaver Signed-off-by: Dave Jones commit 04cd1a99dc22bcaa1eccbe8f8386df8c1295e979 Author: Dave Jones Date: Sat Jan 17 22:50:33 2009 -0500 [CPUFREQ] checkpatch cleanups for elanfreq The remaining warning about the simple_strtoul conversion to strict_strtoul seems kind of pointless to me. Signed-off-by: Dave Jones commit 20174b65d9fdc8dddef3d2ab9647e01fdab13064 Author: Dave Jones Date: Sat Jan 17 22:42:19 2009 -0500 [CPUFREQ] nforce2: Use driver prefix, not cpufreq prefix. Signed-off-by: Dave Jones commit b5c916666240032b29f73a1ca52c3e0fac37335c Author: Dave Jones Date: Sat Jan 17 22:39:47 2009 -0500 [CPUFREQ] checkpatch cleanups for cpufreq-nforce2 Signed-off-by: Dave Jones commit fff78ad5cee1d6f695103ec590cbd2a9f3c39e8c Author: Dave Jones Date: Sat Jan 17 22:28:42 2009 -0500 [CPUFREQ] Stupidly trivial CodingStyle fix GNU indent complains about this being ambiguous, because it's dumb. One of my automated tests relies on the output of indent, so this shuts it up. Signed-off-by: Dave Jones commit 1473e4417c79f12d91ef91a469699bfa911f510f Author: Steven Rostedt Date: Tue Feb 24 14:15:08 2009 -0500 tracing: make event directory structure This patch adds the directory /debug/tracing/events/ that will contain all the registered trace points. # ls /debug/tracing/events/ sched_kthread_stop sched_process_fork sched_switch sched_kthread_stop_ret sched_process_free sched_wait_task sched_migrate_task sched_process_wait sched_wakeup sched_process_exit sched_signal_send sched_wakeup_new # ls /debug/tracing/events/sched_switch/ enable # cat /debug/tracing/events/sched_switch/enable 1 # cat /debug/tracing/set_event sched_switch Signed-off-by: Steven Rostedt commit f3fe8e4a38fd19dbb3f8ffb1826aa840ae304a65 Author: Steven Rostedt Date: Tue Feb 24 10:22:57 2009 -0500 tracing: add schedule events to event trace This patch changes the trace/sched.h to use the DECLARE_TRACE_FMT such that they are automatically registered with the event tracer. And it also adds the tracing sched headers to kernel/trace/events.c Signed-off-by: Steven Rostedt commit b77e38aa240c3bd9c55c98b9f7c81541e042eae5 Author: Steven Rostedt Date: Tue Feb 24 10:21:36 2009 -0500 tracing: add event trace infrastructure This patch creates the event tracing infrastructure of ftrace. It will create the files: /debug/tracing/available_events /debug/tracing/set_event The available_events will list the trace points that have been registered with the event tracer. set_events will allow the user to enable or disable an event hook. example: # echo sched_wakeup > /debug/tracing/set_event Will enable the sched_wakeup event (if it is registered). # echo "!sched_wakeup" >> /debug/tracing/set_event Will disable the sched_wakeup event (and only that event). # echo > /debug/tracing/set_event Will disable all events (notice the '>') # cat /debug/tracing/available_events > /debug/tracing/set_event Will enable all registered event hooks. Signed-off-by: Steven Rostedt commit 7c37730cd31ddb2d3a1da142af9b18c29b8c433b Author: Steven Rostedt Date: Tue Feb 24 12:07:53 2009 -0500 tracing: add DEFINE_TRACE_FMT to tracepoint.h This patch creates a DEFINE_TRACE_FMT to map to DECLARE_TRACE. This allows for the developers to place format strings and args in with their tracepoint declaration. A tracer may now override the DEFINE_TRACE_FMT macro and use it to record a default format. Signed-off-by: Steven Rostedt commit d325100504f1d0c296a1fbfef558deaa655e2240 Author: Tejun Heo Date: Wed Feb 25 11:01:40 2009 +0900 x86: convert cacheflush macros inline functions Impact: cleanup Unused macro parameters cause spurious unused variable warnings. Convert all cacheflush macros to inline functions to avoid the warnings and achieve better type checking. Signed-off-by: Tejun Heo commit 24ff954233ecfd45801383f831626f88937ebe6f Author: Tejun Heo Date: Wed Feb 25 10:38:10 2009 +0900 x86, percpu: fix minor bugs in setup_percpu.c Recent changes in setup_percpu.c made a now meaningless DBG() statement fail to compile and introduced a comparison-of-different-types warning. Fix them. Compile failure is reported by Ingo Molnar. Signed-off-by: Tejun Heo Reported-by: Ingo Molnar commit 97daee83b0fd2361cc70be6f3d6ecda69def2103 Author: Dhananjay Phadke Date: Tue Feb 24 16:39:21 2009 -0800 netxen: refactor pci probe Split pci probe function into smaller logical blocks. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit dbf64b10fa5b339d8b6e949f97c0d00750b08ca8 Author: Dhananjay Phadke Date: Tue Feb 24 16:39:03 2009 -0800 netxen: cleanup unused code Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 4da129421f898147235a3e6b40234d789df208b7 Author: Dhananjay Phadke Date: Tue Feb 24 16:38:44 2009 -0800 netxen: advertise wake-on-lan support Add ethtool wake on lan support. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ba599d4f0d2071abc049cb6345eab510a8a3643e Author: Dhananjay Phadke Date: Tue Feb 24 16:38:22 2009 -0800 netxen: firmware download support Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 32344a394029baeca5bcc9fa839694b23a82cc64 Author: Jesse Brandeburg Date: Tue Feb 24 16:37:31 2009 -0800 ixbge: fix bug when using large pages and jumbo frames it was pointed out on the list that ixgbe was failing when using 64kB pages and large 16kB MTU. since with a 64kB PAGE_SIZE MAX_SKB_FRAGS = 3, the way the driver was configuring page usage was assuming 2kB is half a page, and was only ever dmaing that much data to a half page. (16kB - header size) / 2048 = 7 or 8 pages, which would far exceed 3 adjust the driver to account for these large pages, the hardware can support DMA to up to 16kB for each descriptor. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c7e4358ae8e49f85a4d528366046da26b36a712f Author: Shannon Nelson Date: Tue Feb 24 16:36:38 2009 -0800 ixgbe: Move ring features into an enum, allowing easier future maintenance From: Shannon Nelson The ring_feature member of ixgbe_adapter is statically allocated based on the supported features of the device. When a new feature is added, we need to manually update the static allocation. This patch makes the feature list an enum, eliminating the need for multiple updates to the code when adding a new feature. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 638bee71c83a2837b48062fdc5b222163cf53d79 Merge: 2aaa822... a852cbf... Author: H. Peter Anvin Date: Tue Feb 24 16:11:51 2009 -0800 Merge branch 'x86/core' into x86/mce2 commit 2aaa822984b97efd894d10d1e1382206ef0291a7 Merge: be71b85... 15d4fcd... Author: H. Peter Anvin Date: Tue Feb 24 15:59:14 2009 -0800 Merge branch 'x86/defconfig' into x86/mce2 Conflicts (resolved): arch/x86/configs/x86_64_defconfig Signed-off-by: H. Peter Anvin commit 15d4fcd615989ed83fe848e6a3c7e9f0361cf0d0 Author: H. Peter Anvin Date: Tue Feb 24 15:52:58 2009 -0800 x86, mce: enable machine checks in 32-bit defconfig Impact: defconfig change Enable MCE in the 32-bit defconfig. Signed-off-by: H. Peter Anvin commit 1250fbed1471b681f3e75e4938f356a1c0a92d5e Author: Andi Kleen Date: Thu Feb 12 13:43:20 2009 +0100 x86, mce: enable machine checks in 64-bit defconfig Impact: defconfig change Enable MCE in the 64-bit defconfig. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit e611bd82441130991d7f4600dfd4632cebd417c5 Author: Mark Brown Date: Sun Feb 22 20:04:41 2009 +0000 ASoC: Only write back non-default registers when resuming WM8753 This will reduce the number of writes done on resume, allowing that to complete faster (especially on systems with very slow I2C like the current Samsung driver). Signed-off-by: Mark Brown commit c2bac1606a937d4700f8fdd8e051a4c49593c41b Author: Mark Brown Date: Tue Feb 24 23:33:12 2009 +0000 ASoC: Convert WM8753 to register via normal device probe The base support for the only in-tree user, the GTA01, is out of tree and will be updated separately. Signed-off-by: Mark Brown commit 69e169da5a69cc991d54bb4d54f236523145756c Author: Mark Brown Date: Sun Feb 22 14:39:03 2009 +0000 ASoC: Shuffle WM8753 device registration code This patch should be pure code motion, separating that out from the functional changes to move to new style device registration. Signed-off-by: Mark Brown commit d3b894218441ecb1c83e47c682e2d6589ee37a8d Author: Mark Brown Date: Mon Feb 23 18:45:19 2009 +0000 ASoC: Fix Zylonite voice interface stereo configurations We always run in the first timeslot of one. Signed-off-by: Mark Brown commit 8056d9bbb57207854462b6b0a3a75d172300cce5 Author: Mark Brown Date: Fri Jan 23 14:44:54 2009 +0000 ASoC: Improve WM9713 voice DAC shutdown procedure Signed-off-by: Mark Brown commit 46cb27f5169d37be38be8e5729b9a0100e989fa8 Author: Yinghai Lu Date: Tue Feb 24 13:12:43 2009 -0800 x86: check range in reserve_early() Impact: cleanup one 32-bit system reports: BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000001c000000 (usable) BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved) DMI 2.0 present. last_pfn = 0x1c000 max_arch_pfn = 0x100000 kernel direct mapping tables up to 1c000000 @ 7000-c000 .. RAMDISK: 1bc69000 - 1bfef4fa .. 0MB HIGHMEM available. 448MB LOWMEM available. mapped low ram: 0 - 1c000000 low ram: 00000000 - 1c000000 bootmap 00002000 - 00005800 (9 early reservations) ==> bootmem [0000000000 - 001c000000] #0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000] #1 [0000001000 - 0000002000] EX TRAMPOLINE ==> [0000001000 - 0000002000] #2 [0000006000 - 0000007000] TRAMPOLINE ==> [0000006000 - 0000007000] #3 [0000400000 - 00009ed14c] TEXT DATA BSS ==> [0000400000 - 00009ed14c] #4 [001bc69000 - 001bfef4fa] RAMDISK ==> [001bc69000 - 001bfef4fa] #5 [00009ee000 - 00009f2000] INIT_PG_TABLE ==> [00009ee000 - 00009f2000] #6 [000009f400 - 0000100000] BIOS reserved ==> [000009f400 - 0000100000] #7 [0000007000 - 0000007000] PGTABLE #8 [0000002000 - 0000006000] BOOTMAP ==> [0000002000 - 0000006000] Notice the strange blank PGTABLE entry. The reason is init_pg_table is big enough, and zero range is called with init_memory_mapping/reserve_early(). So try to check the range in reserve_early() v2: fix the reversed compare Signed-off-by: Yinghai Lu Cc: nickpiggin@yahoo.com.au Cc: ink@jurassic.park.msu.ru Signed-off-by: Ingo Molnar commit be71b8553d0522aba535a815baaebb1f0bb9a9ec Author: Andi Kleen Date: Thu Feb 12 13:49:38 2009 +0100 x86, mce, cmci: recheck CMCI banks after APIC has been enabled on CPU #0 Impact: Fix marginal race condition One the first CPU the machine checks are enabled early before the local APIC is enabled. This could in theory lead to some lost CMCI events very early during boot because CMCIs cannot be delivered with disabled LAPIC. The poller also doesn't recover from this because it doesn't check CMCI banks. Add an explicit CMCI banks check after the LAPIC is enabled. This is only done for CPU #0, the other CPUs only initialize machine checks after the LAPIC is on. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 5ca8681ca10f671427710f4954644359856581a3 Author: Andi Kleen Date: Thu Feb 12 13:49:37 2009 +0100 x86, mce, cmci: disable CMCI on rebooting Impact: Avoids confusing other OSes. Disable the CMCI vector on reboot to avoid confusing other OS. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit df20e2eb3e59b8625021a1bc8b1b53a4edc6008b Author: H. Peter Anvin Date: Tue Feb 24 13:19:02 2009 -0800 x86, mce, cmci: remove incorrect __cpuinit/__cpuexit annotations Impact: Bug fix on UP The MCE code is reinitialized from resume, so we can't use __cpuinit/__cpuexit for most of the code. Remove those annotations for anything downstream of mce_init(). Signed-off-by: H. Peter Anvin commit 88ccbedd9ca85d1aca6a6f99df48dce87b7c02d4 Author: Andi Kleen Date: Thu Feb 12 13:49:36 2009 +0100 x86, mce, cmci: add CMCI support Impact: Major new feature Intel CMCI (Corrected Machine Check Interrupt) is a new feature on Nehalem CPUs. It allows the CPU to trigger interrupts on corrected events, which allows faster reaction to them instead of with the traditional polling timer. Also use CMCI to discover shared banks. Machine check banks can be shared by CPU threads or even cores. Using the CMCI enable bit it is possible to detect the fact that another CPU already saw a specific bank. Use this to assign shared banks only to one CPU to avoid reporting duplicated events. On CPU hot unplug bank sharing is re discovered. This is done using a thread that cycles through all the CPUs. To avoid races between the poller and CMCI we only poll for banks that are not CMCI capable and only check CMCI owned banks on a interrupt. The shared banks ownership information is currently only used for CMCI interrupts, not polled banks. The sharing discovery code follows the algorithm recommended in the IA32 SDM Vol3a 14.5.2.1 The CMCI interrupt handler just calls the machine check poller to pick up the machine check event that caused the interrupt. I decided not to implement a separate threshold event like the AMD version has, because the threshold is always one currently and adding another event didn't seem to add any value. Some code inspired by Yunhong Jiang's Xen implementation, which was in term inspired by a earlier CMCI implementation by me. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 03195c6b40f2b4db92545921daa7c3a19b4e4c32 Author: Andi Kleen Date: Thu Feb 12 13:49:35 2009 +0100 x86, mce, cmci: define MSR names and fields for new CMCI registers Impact: New register definitions only CMCI means support for raising an interrupt on a corrected machine check event instead of having to poll for it. It's a new feature in Intel Nehalem CPUs available on some machine check banks. For details see the IA32 SDM Vol3a 14.5 Define the registers for it as a preparation for further patches. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit ee031c31d6381d004bfd386c2e45821211507499 Author: Andi Kleen Date: Thu Feb 12 13:49:34 2009 +0100 x86, mce, cmci: use polled banks bitmap in machine check poller Define a per cpu bitmap that contains the banks polled by the machine check poller. This is needed for the CMCI code in the next patches to be able to disable polling on specific banks. The bank by default contains all banks, so there is no behaviour change. Only future code will remove some banks from the polling set. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 8457c84d68678cbfd4167a9073b89da58e48c037 Author: Andi Kleen Date: Thu Feb 12 13:49:33 2009 +0100 x86, mce: replace machine check events logged interval with ratelimit Impact: behavior change, use common code Use a standard leaky bucket ratelimit for the machine check warning print interval instead of waiting every check_interval. Also decrease the limit to twice per minute. This interacts better with threshold interrupts because they can happen more often than check_interval. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit f9695df42cdbca78530b4458c38ecfdd0bb90079 Author: Andi Kleen Date: Thu Feb 12 13:49:32 2009 +0100 x86, mce, cmci: avoid potential reentry of threshold interrupt Impact: minor bugfix The threshold handler on AMD (and soon on Intel) could be theoretically reentered by the hardware. This could lead to corrupted events because the machine check poll code assumes it is not reentered. Move the APIC ACK to the end of the interrupt handler to let the hardware avoid that. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit b276268631af3a1b0df871e10d19d492f0513d4b Author: Andi Kleen Date: Thu Feb 12 13:49:31 2009 +0100 x86, mce, cmci: factor out threshold interrupt handler Impact: cleanup; preparation for feature The mce_amd_64 code has an own private MC threshold vector with an own interrupt handler. Since Intel needs a similar handler it makes sense to share the vector because both can not be active at the same time. I factored the common APIC handler code into a separate file which can be used by both the Intel or AMD MC code. This is needed for the next patch which adds an Intel specific CMCI handler. This patch should be a nop for AMD, it just moves some code around. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 41fdff322e26c4a86fe65cf577f2556a650cb7bc Author: Andi Kleen Date: Thu Feb 12 13:49:30 2009 +0100 x86, mce, cmci: export MAX_NR_BANKS Impact: Cleanup (code movement) Move MAX_NR_BANKS into mce.h because it's needed there for followup patches. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit b5f26d05565d070b7b352dba56b1f96e10021980 Author: Jiri Slaby Date: Tue Feb 24 21:41:33 2009 +0100 x86_32: summit_32, de-inline functions The ones which go only into struct genapic are de-inlined by compiler anyway, so remove the inline specifier from them. Afterwards, remove summit_setup_portio_remap completely as it is unused. Remove inline also from summit_cpu_mask_to_apicid, since it's not worth it (it is used in struct genapic too). Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 10b614eaa847447c2c8646030728309d14bd2d05 Author: Jiri Slaby Date: Tue Feb 24 21:41:32 2009 +0100 x86_32: summit_32, use BAD_APICID Use BAD_APICID instead of 0xFF constants in summit_cpu_mask_to_apicid. Also remove bogus comments about what we actually return. Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 0edcf8d6926f4038443dbc24e319530177ca0353 Merge: 87b2030... 40150d3... Author: Ingo Molnar Date: Tue Feb 24 21:52:45 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu Conflicts: arch/x86/include/asm/pgtable.h commit 87b203079ed949de52f0d92aeae20e5e0116c12f Merge: 58105ef... a852cbf... Author: Ingo Molnar Date: Tue Feb 24 21:52:27 2009 +0100 Merge branch 'x86/core' into core/percpu commit a852cbfaaf8122827602027b1614971cfd832304 Merge: 0d3a9cf... ecda062... 9f33111... bda3a89... b319eed... a967bb3... 954a8b8... Author: Ingo Molnar Date: Tue Feb 24 21:50:43 2009 +0100 Merge branches 'x86/acpi', 'x86/apic', 'x86/asm', 'x86/cleanups', 'x86/mm', 'x86/signal' and 'x86/urgent'; commit 'v2.6.29-rc6' into x86/core commit 499aa86dcbc3c4daf7d2c59c5c30e1a78220fbc1 Author: Markus Metzger Date: Tue Feb 24 14:12:34 2009 +0100 x86, ptrace: remove CONFIG guards around declarations Remove unnecessary CONFIG guards around type declarations and macro definitions. Reported-by: Cyrill Gorcunov Signed-off-by: Markus Metzger Cc: markus.t.metzger@gmail.com Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Signed-off-by: Ingo Molnar commit 5e01cb695d29619dd551bac7d6aa4ef1dc8ebc95 Author: Markus Metzger Date: Tue Feb 24 13:55:18 2009 +0100 x86, ftrace: fix section mismatch in hw-branch-tracer Fix an invalid memory reference problem when cpu hotplug support is disabled and the hw-branch-tracer is set as current tracer. Initializing the tracer calls bts_trace_init() which has already been freed at this time. Reported-by: Frederic Weisbecker Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar commit a7f4463e0300b5135c0f0caf7c34a0529405f986 Merge: c478f87... 20f4d6c... Author: Ingo Molnar Date: Tue Feb 24 18:22:39 2009 +0100 Merge branch 'tracing/ftrace'; commit 'v2.6.29-rc6' into tracing/core commit 9f331119a4f95a44d918fe6d5e85998fabf99b72 Author: Cyrill Gorcunov Date: Mon Feb 23 22:57:02 2009 +0300 x86: efi_stub_32,64 - add missing ENDPROCs Signed-off-by: Cyrill Gorcunov Cc: heukelum@fastmail.fm Signed-off-by: Ingo Molnar commit bc8b2b9258488b932cd399112e01d5afffc4ee96 Author: Cyrill Gorcunov Date: Mon Feb 23 22:57:01 2009 +0300 x86: head_64.S - use GLOBAL macro Impact: cleanup Signed-off-by: Cyrill Gorcunov Cc: heukelum@fastmail.fm Signed-off-by: Ingo Molnar commit b3baaa138cd4223bffb6ca64b873d25cfb1d7c70 Author: Cyrill Gorcunov Date: Mon Feb 23 22:57:00 2009 +0300 x86: entry_64.S - add missing ENDPROC native_usergs_sysret64 is described as extern void native_usergs_sysret64(void) so lets add ENDPROC here Signed-off-by: Cyrill Gorcunov Cc: heukelum@fastmail.fm Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 57e372932cec8eb141cde039aaeaa91b69fceba2 Author: Cyrill Gorcunov Date: Mon Feb 23 22:56:59 2009 +0300 x86: invalid_vm86_irq -- use predefined macros Impact: cleanup Signed-off-by: Cyrill Gorcunov Cc: heukelum@fastmail.fm Cc: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 5e112ae23b404ccba0a61630b82ec44f0d084880 Author: Cyrill Gorcunov Date: Mon Feb 23 22:56:58 2009 +0300 x86: head_64.S - use IDT_ENTRIES instead of hardcoded number Impact: cleanup Signed-off-by: Cyrill Gorcunov Cc: heukelum@fastmail.fm Cc: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 2a0b1001116de51f13b2969a9a52bd2bc294644f Author: Cyrill Gorcunov Date: Mon Feb 23 22:56:57 2009 +0300 x86: head_64.S - remove useless balign Impact: cleanup NEXT_PAGE already has 'balign' so no need to keep this redundant one. Signed-off-by: Cyrill Gorcunov Cc: heukelum@fastmail.fm Signed-off-by: Ingo Molnar commit 30d697fa3a25fed809a873b17531a00282dc1234 Author: Salman Qazi Date: Mon Feb 23 18:03:04 2009 -0800 x86: fix performance regression in write() syscall While the introduction of __copy_from_user_nocache (see commit: 0812a579c92fefa57506821fa08e90f47cb6dbdd) may have been an improvement for sufficiently large writes, there is evidence to show that it is deterimental for small writes. Unixbench's fstime test gives the following results for 256 byte writes with MAX_BLOCK of 2000: 2.6.29-rc6 ( 5 samples, each in KB/sec ): 283750, 295200, 294500, 293000, 293300 2.6.29-rc6 + this patch (5 samples, each in KB/sec): 313050, 3106750, 293350, 306300, 307900 2.6.18 395700, 342000, 399100, 366050, 359850 See w_test() in src/fstime.c in unixbench version 4.1.0. Basically, the above test consists of counting how much we can write in this manner: alarm(10); while (!sigalarm) { for (f_blocks = 0; f_blocks < 2000; ++f_blocks) { write(f, buf, 256); } lseek(f, 0L, 0); } Note, there are other components to the write syscall regression that are not addressed here. Signed-off-by: Salman Qazi Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 28337ff5438a640afa713d874d076e3a8a9150da Author: Eric Dumazet Date: Tue Feb 24 15:30:29 2009 +0100 netfilter: xt_hashlimit fix Commit 784544739a25c30637397ace5489eeb6e15d7d49 (netfilter: iptables: lock free counters) broke xt_hashlimit netfilter module : This module was storing a pointer inside its xt_hashlimit_info, and this pointer is not relocated when we temporarly switch tables (iptables -L). This hack is not not needed at all (probably a leftover from ancient time), as each cpu should and can access to its own copy. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit d060ffc1840e37100628f520e66600c5ae483b44 Author: Jan Engelhardt Date: Tue Feb 24 15:23:58 2009 +0100 netfilter: install missing headers iptables imports headers from (the unifdefed headers of a) kernel tree, but some headers happened to not be installed. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 7d1e04598e5e92527840b6889fb75b4b30fdd33b Author: Pablo Neira Ayuso Date: Tue Feb 24 14:48:01 2009 +0100 netfilter: nf_conntrack: account packets drop by tcp_packet() Since tcp_packet() may return -NF_DROP in two situations, the packet-drop stats must be increased. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 5325a7bf92d5bcac39dbefdfcc214379d17f3d3a Merge: e70049b... 028e141... Author: David S. Miller Date: Tue Feb 24 03:51:03 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit e70049b9e74267dd47e1ffa62302073487afcb48 Merge: d18921a... f7e603a... Author: David S. Miller Date: Tue Feb 24 03:50:29 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit d18921a0e319ab512f8186b1b1142c7b8634c779 Author: Jesper Dangaard Brouer Date: Mon Feb 23 04:40:43 2009 +0000 Doc: Refer to ip-sysctl.txt for strict vs. loose rp_filter mode The IP_ADVANCED_ROUTER Kconfig describes the rp_filter proc option. Recent changes added a loose mode. Instead of documenting this change too places, refer to the document describing it: Documentation/networking/ip-sysctl.txt I'm considering moving the rp_filter description away from the Kconfig file into ip-sysctl.txt. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit e18f5feb0c851a0e77e315b3d9ef1c432b1a50ec Author: Jesper Dangaard Brouer Date: Mon Feb 23 04:39:04 2009 +0000 Doc: Cleanup whitespaces in ip-sysctl.txt Fix up whitespaces while going though ip-sysctl.txt anyway. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit bf869c30628cc02295fb919f0d0074f296d5f129 Author: Jesper Dangaard Brouer Date: Mon Feb 23 04:37:55 2009 +0000 Doc: Fix typos in ip-sysctl.txt about rp_filter. First fix a typo in Stephens patch ;-) Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 40150d37be7f7949b2ec07d511244da856647d84 Author: Tejun Heo Date: Tue Feb 24 12:32:28 2009 +0900 percpu: add __read_mostly to variables which are mostly read only Most global variables in percpu allocator are initialized during boot and read only from that point on. Add __read_mostly as per Rusty's suggestion. Signed-off-by: Tejun Heo Cc: Rusty Russell commit 8750c6d5fcbd3342b3d908d157f81d345c5325a7 Author: Theodore Ts'o Date: Mon Feb 23 23:05:27 2009 -0500 ext4: Automatically allocate delay allocated blocks on rename When renaming a file such that a link to another inode is overwritten, force any delay allocated blocks that to be allocated so that if the filesystem is mounted with data=ordered, the data blocks will be pushed out to disk along with the journal commit. Many application programs expect this, so we do this to avoid zero length files if the system crashes unexpectedly. Signed-off-by: "Theodore Ts'o" commit 7d8f9f7d150dded7b68e61ca6403a1f166fb4edf Author: Theodore Ts'o Date: Tue Feb 24 08:21:14 2009 -0500 ext4: Automatically allocate delay allocated blocks on close When closing a file that had been previously truncated, force any delay allocated blocks that to be allocated so that if the filesystem is mounted with data=ordered, the data blocks will be pushed out to disk along with the journal commit. Many application programs expect this, so we do this to avoid zero length files if the system crashes unexpectedly. Signed-off-by: "Theodore Ts'o" commit ccd2506bd43113659aa904d5bea5d1300605e2a6 Author: Theodore Ts'o Date: Thu Feb 26 01:04:07 2009 -0500 ext4: add EXT4_IOC_ALLOC_DA_BLKS ioctl Add an ioctl which forces all of the delay allocated blocks to be allocated. This also provides a function ext4_alloc_da_blocks() which will be used by the following commits to force files to be fully allocated to preserve application-expected ext3 behaviour. Signed-off-by: "Theodore Ts'o" commit 8ac837571491e239e64bd87863c1679d8002e8a2 Author: Tejun Heo Date: Tue Feb 24 11:57:22 2009 +0900 x86: add remapping percpu first chunk allocator Impact: add better first percpu allocation for NUMA On NUMA, embedding allocator can't be used as different units can't be made to fall in the correct NUMA nodes. To use large page mapping, each unit needs to be remapped. However, percpu areas are usually much smaller than large page size and unused space hurts a lot as the number of cpus grow. This allocator remaps large pages for each chunk but gives back unused part to the bootmem allocator making the large pages mapped twice. This adds slightly to the TLB pressure but is much better than using 4k mappings while still being NUMA-friendly. Ingo suggested that this would be the correct approach for NUMA. Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 89c9215165ca609096e845926d9a18f1306176a4 Author: Tejun Heo Date: Tue Feb 24 11:57:21 2009 +0900 x86: add embedding percpu first chunk allocator Impact: add better first percpu allocation for !NUMA On !NUMA, we can simply allocate contiguous memory and use it for the first chunk without mapping it into vmalloc area. As the memory area is covered by the large page physical memory mapping, it allows the dynamic perpcu allocator to not add any TLB overhead for the static percpu area and whatever falls into the first chunk and the implementation is very simple too. Signed-off-by: Tejun Heo commit 5f5d8405d1c50f5cf7e1dbfe9c9b44e2f015c8fd Author: Tejun Heo Date: Tue Feb 24 11:57:21 2009 +0900 x86: separate out setup_pcpu_4k() from setup_per_cpu_areas() Impact: modularize percpu first chunk allocation x86 is gonna have a few different strategies for the first chunk allocation. Modularize it by separating out the current allocation mechanism into pcpu_alloc_bootmem() and setup_pcpu_4k(). Signed-off-by: Tejun Heo commit 8d408b4be37bc49c9086531f2ebe411cf5731746 Author: Tejun Heo Date: Tue Feb 24 11:57:21 2009 +0900 percpu: give more latitude to arch specific first chunk initialization Impact: more latitude for first percpu chunk allocation The first percpu chunk serves the kernel static percpu area and may or may not contain extra room for further dynamic allocation. Initialization of the first chunk needs to be done before normal memory allocation service is up, so it has its own init path - pcpu_setup_static(). It seems archs need more latitude while initializing the first chunk for example to take advantage of large page mapping. This patch makes the following changes to allow this. * Define PERCPU_DYNAMIC_RESERVE to give arch hint about how much space to reserve in the first chunk for further dynamic allocation. * Rename pcpu_setup_static() to pcpu_setup_first_chunk(). * Make pcpu_setup_first_chunk() much more flexible by fetching page pointer by callback and adding optional @unit_size, @free_size and @base_addr arguments which allow archs to selectively part of chunk initialization to their likings. Signed-off-by: Tejun Heo commit d9b55eeb1d55ef2dc5a4fdbff9604c2c68cb5649 Author: Tejun Heo Date: Tue Feb 24 11:57:21 2009 +0900 percpu: remove unit_size power-of-2 restriction Impact: allow unit_size to be arbitrary multiple of PAGE_SIZE In dynamic percpu allocator, there is no reason the unit size should be power of two. Remove the restriction. As non-power-of-two unit size means that empty chunks fall into the same slot index as lightly occupied chunks which is bad for reclaming. Reserve an extra slot for empty chunks. Signed-off-by: Tejun Heo commit 458a3e644c3327be529393982e24277eda8f1ac7 Author: Tejun Heo Date: Tue Feb 24 11:57:21 2009 +0900 x86: update populate_extra_pte() and add populate_extra_pmd() Impact: minor change to populate_extra_pte() and addition of pmd flavor Update populate_extra_pte() to return pointer to the pte_t for the specified address and add populate_extra_pmd() which only populates till the pmd and returns pointer to the pmd entry for the address. For 64bit, pud/pmd/pte fill functions are separated out from set_pte_vaddr[_pud]() and used for set_pte_vaddr[_pud]() and populate_extra_{pte|pmd}(). Signed-off-by: Tejun Heo commit c0c0a29379b5848aec2e8f1c58d853d3cb7118b8 Author: Tejun Heo Date: Tue Feb 24 11:57:21 2009 +0900 vmalloc: add @align to vm_area_register_early() Impact: allow larger alignment for early vmalloc area allocation Some early vmalloc users might want larger alignment, for example, for custom large page mapping. Add @align to vm_area_register_early(). While at it, drop docbook comment on non-existent @size. Signed-off-by: Tejun Heo Cc: Nick Piggin Cc: Ivan Kokshaysky commit 2d0aae41695257603fc281b519677131ab5a752b Author: Tejun Heo Date: Tue Feb 24 11:57:21 2009 +0900 bootmem: reorder interface functions and add a missing one Impact: cleanup and addition of missing interface wrapper The interface functions in bootmem.h was ordered in not so orderly manner. Reorder them such that * functions allocating the same area group together - ie. alloc_bootmem group and alloc_bootmem_low group. * functions w/o node parameter come before the ones w/ node parameter. * nopanic variants are immediately below their panicky counterparts. While at it, add alloc_bootmem_pages_node_nopanic() which was missing. Signed-off-by: Tejun Heo Cc: Johannes Weiner commit c132937556f56ee4b831ef4b23f1846e05fde102 Author: Tejun Heo Date: Tue Feb 24 11:57:20 2009 +0900 bootmem: clean up arch-specific bootmem wrapping Impact: cleaner and consistent bootmem wrapping By setting CONFIG_HAVE_ARCH_BOOTMEM_NODE, archs can define arch-specific wrappers for bootmem allocation. However, this is done a bit strangely in that only the high level convenience macros can be changed while lower level, but still exported, interface functions can't be wrapped. This not only is messy but also leads to strange situation where alloc_bootmem() does what the arch wants it to do but the equivalent __alloc_bootmem() call doesn't although they should be able to be used interchangeably. This patch updates bootmem such that archs can override / wrap the backend function - alloc_bootmem_core() instead of the highlevel interface functions to allow simpler and consistent wrapping. Also, HAVE_ARCH_BOOTMEM_NODE is renamed to HAVE_ARCH_BOOTMEM. Signed-off-by: Tejun Heo Cc: Johannes Weiner commit cb83b42e23bd6c4bf91793a320fbe83787c13596 Author: Tejun Heo Date: Tue Feb 24 11:57:20 2009 +0900 percpu: fix pcpu_chunk_struct_size Impact: fix short allocation leading to memory corruption While dropping rvalue wrapping macros around global parameters, pcpu_chunk_struct_size was set incorrectly resulting in shorter page pointer array. Fix it. Signed-off-by: Tejun Heo commit dc731ca60954310be0993e8992d450c7089fd13d Merge: ec5b3d3... 20f4d6c... Author: H. Peter Anvin Date: Mon Feb 23 14:05:56 2009 -0800 Merge branch 'x86/urgent' into x86/mce2 commit ec5b3d32437571b8a742069a4cfd04edb6b6eda5 Author: H. Peter Anvin Date: Mon Feb 23 14:01:04 2009 -0800 x86, mce: remove invalid __cpuinit/__cpuexit annotations Impact: Bug fix when CPU hotplug is disabled Correct the following broken __cpuinit/__cpuexit annotations: - mce_cpu_features() is called from mce_resume(), and so cannot be __cpuinit. - mce_disable_cpu() and mce_reenable_cpu() are called from mce_cpu_callback(), and so cannot be __cpuexit(). Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit f63e6005bc63acc0a6bc3bdb8f971dcfbd827185 Author: Theodore Ts'o Date: Mon Feb 23 16:42:39 2009 -0500 ext4: Simplify delalloc code by removing mpage_da_writepages() The mpage_da_writepages() function is only used in one place, so inline it to simplify the call stack and make the code easier to understand. Signed-off-by: "Theodore Ts'o" commit bda3a89745d7bb88d3e735046c0cdc3d0eb2ac24 Author: Stas Sergeev Date: Mon Feb 23 19:13:07 2009 +0300 x86: minor cleanup in the espfix code Impact: Cleanup Checkin be44d2aabce2d62f72d5751d1871b6212bf7a1c7 eliminates the use of a 16-bit stack for espfix. However, at least one instruction remained that only operated on the low 16 bits of %esp. This is not a bug per se because the kernel stack is always an aligned 4K or 8K block. Therefore it cannot cross 64K boundaries; this code, in fact, relies strictly on that fact. However, it's a lot cleaner (and, for that matter, smaller) to operate on the entire 32-bit register. Signed-off-by: Stas Sergeev CC: Zachary Amsden CC: Chuck Ebbert Signed-off-by: H. Peter Anvin commit a65d629ceb4cff5e7d5edadfd6bf1f64c370a517 Author: Takashi Iwai Date: Mon Feb 23 16:57:04 2009 +0100 ALSA: hda - Add pseudo device-locking for clear/reconfig Added the pseudo device-locking using card->shutdown flag to avoid the crash via clear/reconfig during operations. Signed-off-by: Takashi Iwai commit 7aec53acc0504ab2abd73a6051e7b72f48545ceb Author: Russell King Date: Sun Feb 22 21:00:55 2009 +0000 [ARM] omap: ensure that failing power domain lookups produce errors Use pr_err() for errors rather than pr_debug(). pr_debug() are compiled away unless -DDEBUG is used. Signed-off-by: Russell King commit 7eb1afc9765d07c9036b1ad9e7c03e5bd1a58a2b Author: Paul Walmsley Date: Thu Feb 5 20:45:28 2009 -0700 [ARM] OMAP3 powerdomains: make USBTLL SAR only available on ES3.1 and beyond Richard Woodruff writes that chip errata prevent USBTLL SAR from working on OMAP3 ES levels before ES3.1: http://marc.info/?l=linux-arm-kernel&m=123319614808833&w=2 Update the OMAP3 powerdomain structures appropriately. Signed-off-by: Paul Walmsley Cc: Richard Woodruff Signed-off-by: Russell King commit d41ad52040dee5043ce6b1d49a1c8864706d2bfd Author: Paul Walmsley Date: Thu Feb 5 20:45:25 2009 -0700 [ARM] OMAP3: update ES level flags to discriminate between post-ES2 revisions Some OMAP3 chip behaviors change in ES levels after ES2. Modify the existing omap_chip flags to add options for ES3.0 and ES3.1. Add a new macro, CHIP_GE_OMAP3430ES2, to cover ES levels from ES2 onwards - a common pattern for OMAP3 features. Update all current users of the omap_chip macros to use this new macro. Also add CHIP_GE_OMAP3430ES3_1 to cover the USBTLL SAR errata case (described and fixed in the following patch) Signed-off-by: Paul Walmsley Signed-off-by: Russell King commit 209b14033652f0509912da97fb4a5c8001e64ec0 Merge: 13c989b... 39c2871... Author: Takashi Iwai Date: Mon Feb 23 14:15:47 2009 +0100 Merge branch 'test/hda-pincfg' into topic/hda commit 39c2871eeaeeddcbecee29ec905ec528a057ca52 Author: Takashi Iwai Date: Mon Feb 23 14:14:51 2009 +0100 ALSA: hda - Add an example about pin reconfiguration Signed-off-by: Takashi Iwai commit 8dc207c0e7a259e7122ddfaf56b8bbbc3c92d685 Author: Theodore Ts'o Date: Mon Feb 23 06:46:01 2009 -0500 ext4: Save stack space by removing fake buffer heads Struct mpage_da_data and mpage_add_bh_to_extent() use a fake struct buffer_head which is 104 bytes on an x86_64 system, but only use 24 bytes of the structure. On systems that use a spinlock for atomic_t, the stack savings will be even greater. It turns out that using a fake struct buffer_head doesn't even save that much code, and it makes the code more confusing since it's not used as a "real" buffer head. So just store pass b_size and b_state in mpage_add_bh_to_extent(), and store b_size, b_state, and b_block_nr in the mpage_da_data structure. Signed-off-by: "Theodore Ts'o" commit ed5bde0bf8995d7d8c0b5a9c33e624a945f333ef Author: Theodore Ts'o Date: Mon Feb 23 10:48:07 2009 -0500 ext4: Simplify delalloc implementation by removing mpd.get_block This parameter was always set to ext4_da_get_block_write(). Signed-off-by: "Theodore Ts'o" commit 13c989beba166b470b1e6b0fa117148bcbfa3dd1 Author: Takashi Iwai Date: Mon Feb 23 11:33:34 2009 +0100 ALSA: hda - Don't give over 0dB volume for AD1984A HP laptops Set the upper limit 0dB to the volume of mixer amp 0x20 for AD1984A HP laptops. The overloaded volume may damage the internal speaker. Signed-off-by: Takashi Iwai commit 73d342b169db700b5a6ad626fe4b86911efec8db Author: David Rientjes Date: Sun Feb 22 17:40:09 2009 -0800 slub: add min_partial sysfs tunable Now that a cache's min_partial has been moved to struct kmem_cache, it's possible to easily tune it from userspace by adding a sysfs attribute. It may not be desirable to keep a large number of partial slabs around if a cache is used infrequently and memory, especially when constrained by a cgroup, is scarce. It's better to allow userspace to set the minimum policy per cache instead of relying explicitly on kmem_cache_shrink(). The memory savings from simply moving min_partial from struct kmem_cache_node to struct kmem_cache is obviously not significant (unless maybe you're from SGI or something), at the largest it's # allocated caches * (MAX_NUMNODES - 1) * sizeof(unsigned long) The true savings occurs when userspace reduces the number of partial slabs that would otherwise be wasted, especially on machines with a large number of nodes (ia64 with CONFIG_NODES_SHIFT at 10 for default?). As well as the kernel estimates ideal values for n->min_partial and ensures it's within a sane range, userspace has no other input other than writing to /sys/kernel/slab/cache/shrink. There simply isn't any better heuristic to add when calculating the partial values for a better estimate that works for all possible caches. And since it's currently a static value, the user really has no way of reclaiming that wasted space, which can be significant when constrained by a cgroup (either cpusets or, later, memory controller slab limits) without shrinking it entirely. This also allows the user to specify that increased fragmentation and more partial slabs are actually desired to avoid the cost of allocating new slabs at runtime for specific caches. There's also no reason why this should be a per-struct kmem_cache_node value in the first place. You could argue that a machine would have such node size asymmetries that it should be specified on a per-node basis, but we know nobody is doing that right now since it's a purely static value at the moment and there's no convenient way to tune that via slub's sysfs interface. Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit 3b89d7d881a1dbb4da158f7eb5d6b3ceefc72810 Author: David Rientjes Date: Sun Feb 22 17:40:07 2009 -0800 slub: move min_partial to struct kmem_cache Although it allows for better cacheline use, it is unnecessary to save a copy of the cache's min_partial value in each kmem_cache_node. Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit 5e7b8e0d87091ae21b291588817b5359a5e00795 Author: Takashi Iwai Date: Mon Feb 23 09:45:59 2009 +0100 ALSA: hda - Make user_pin overriding the driver setup Make user_pin overriding even the driver pincfg, e.g. the static / fixed pin config table in patch_sigmatel.c. Signed-off-by: Takashi Iwai commit 346ff70fdbe9093947b9494fe714c89cafcceade Author: Takashi Iwai Date: Mon Feb 23 09:42:57 2009 +0100 ALSA: hda - Rename {override,cur}_pin with {user,driver}_pin Rename from override_pin and cur_pin with user_pin and driver_pin, respectively, to be a bit more intuitive. Signed-off-by: Takashi Iwai commit c17a1abae2f29047a0f57324240b01609489261b Author: Takashi Iwai Date: Mon Feb 23 09:28:12 2009 +0100 ALSA: hda - Use snd_hda_codec_get_pincfg() in the rest places Replace with snd_hda_codec_get_pincfg() in the places where available. Signed-off-by: Takashi Iwai commit f9ffc5d6f0161b66202f2df9ecc42d1be241020d Author: Tim Blechmann Date: Fri Feb 20 19:38:16 2009 +0100 ALSA: hdsp - whitespace cleanup Impact: remove trailing spaces Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit e588ed8304f76cbb396ee85e657a58990298a675 Author: Tim Blechmann Date: Fri Feb 20 19:30:35 2009 +0100 ALSA: hdsp - poll for iobox sleeping for 2 seconds before checking for the iobox is not enough on some systems. this patch increases the timeout, but polls the card during that time. it thus speeds up the module loading when the card has already been initialized, while being more robust on systems, which require a higher timeout than the predefined 2 seconds. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit 66a101dda6b26ee566aa9cadcbea904a41d2b268 Merge: b1a0aac... 28b7e34... Author: Takashi Iwai Date: Mon Feb 23 08:17:28 2009 +0100 Merge branch 'topic/hwdep-cleanup' into topic/hdsp commit 1618a3281b90c43ccc85b58699508b9864defc8c Merge: cc95948... cc374c4... Author: Takashi Iwai Date: Mon Feb 23 08:14:41 2009 +0100 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_realtek.c commit ce71bfd1aa6d6a4069929eeceed254e13400ddf4 Author: Andreas Mohr Date: Sun Feb 22 20:33:41 2009 +0100 ALSA: ALS4000, slight mixer improvements - add 8kHz / 20 kHz low-pass filter switch control - add ALS4000 Mono capture route control - add annotations to specs pages - improve ALS4000 PM saved regs selection (remove SB dummy register, add missing ones) - add some missing ALS4000 register defines - constify two variables Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit ecda06289f8202d4c6beb235f59ea464f4a91209 Author: Yinghai Lu Date: Sun Feb 22 22:14:56 2009 -0800 x86: check mptable physptr with max_low_pfn on 32bit Impact: fix early crash on LinuxBIOS systems Kevin O'Connor reported that Coreboot aka LinuxBIOS tries to put mptable somewhere very high, well above max_low_pfn (below which BIOSes generally put the mptable), causing a panic. The BIOS will probably be changed to be compatible with older Linus versions, but nevertheless the MP-spec does not forbid an MP-table in arbitrary system RAM, so make sure it all works even if the table is in an unexpected place. Check physptr with max_low_pfn * PAGE_SIZE. Reported-by: Kevin O'Connor Signed-off-by: Yinghai Lu Cc: Stefan Reinauer Cc: coreboot@coreboot.org Signed-off-by: Ingo Molnar commit cc95948972576c3efa43c9ed05b4a265805a4c54 Author: Michael Schwingen Date: Sun Feb 22 18:58:45 2009 +0100 ALSA: hda - add support for "Maxdata Favorit 100XS" (Intel HDA/ALC260) Signed-off-by: Michael Schwingen Signed-off-by: Takashi Iwai commit 722bde6875bfb49a0c84e5601eb82dd7ac02d27c Author: Theodore Ts'o Date: Mon Feb 23 00:51:57 2009 -0500 ext4: Add fine print for the 32000 subdirectory limit Some poeple are reading the ext4 feature list too literally and create dubious test cases involving very long filenames and 1k blocksize and then complain when they run into an htree-imposed limit. So add fine print to the "fix 32000 subdirectory limit" ext4 feature. Signed-off-by: "Theodore Ts'o" commit 7a262f7c69163cd4811f2f838faef5c5b18439c9 Author: Aneesh Kumar K.V Date: Fri Mar 27 16:39:58 2009 -0400 ext4: Validate extent details only when read from the disk Make sure we validate extent details only when read from the disk. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Thiemo Nagel Signed-off-by: "Theodore Ts'o" commit 56b19868aca856a7d7bf20c3a7a1030e4fd75b2b Author: Aneesh Kumar K.V Date: Thu Mar 12 09:51:20 2009 -0400 ext4: Add checks to validate extent entries. This patch adds checks to validate the extent entries along with extent headers, to avoid crashes caused by corrupt filesystems. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 501cb16d3cfdcca99ac26fe122079f2a43b046b8 Author: Anton Blanchard Date: Sun Feb 22 01:50:07 2009 +0000 powerpc: Randomise PIEs Randomise ELF_ET_DYN_BASE, which is used when loading position independent executables. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 002b0ec73dd8b784004e5a013ad9f2fa6274af5a Author: Anton Blanchard Date: Sun Feb 22 01:50:06 2009 +0000 powerpc: Increase stack gap on 64bit binaries On 64bit there is a possibility our stack and mmap randomisation will put the two close enough such that we can't expand our stack to match the ulimit specified. To avoid this, start the upper mmap address at 1GB + 128MB below the top of our address space, so in the worst case we end up with the same ~128MB hole as in 32bit. This works because we randomise the stack over a 1GB range. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit a5adc91a4b44b5d1706b9d906cc14fe4f312afe9 Author: Anton Blanchard Date: Sun Feb 22 01:50:05 2009 +0000 powerpc: Ensure random space between stack and mmaps get_random_int() returns the same value within a 1 jiffy interval. This means that the mmap and stack regions will almost always end up the same distance apart, making a relative offset based attack possible. To fix this, shift the randomness we use for the mmap region by 1 bit. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 912f9ee21c836081e3c96dfe61025841ebeb95da Author: Anton Blanchard Date: Sun Feb 22 01:50:04 2009 +0000 powerpc: Randomise the brk region Randomize the heap. before: tundro2:~ # sleep 1 & cat /proc/${!}/maps | grep heap 10017000-10118000 rw-p 10017000 00:00 0 [heap] 10017000-10118000 rw-p 10017000 00:00 0 [heap] 10017000-10118000 rw-p 10017000 00:00 0 [heap] 10017000-10118000 rw-p 10017000 00:00 0 [heap] 10017000-10118000 rw-p 10017000 00:00 0 [heap] after tundro2:~ # sleep 1 & cat /proc/${!}/maps | grep heap 19419000-1951a000 rw-p 19419000 00:00 0 [heap] 325ff000-32700000 rw-p 325ff000 00:00 0 [heap] 1a97c000-1aa7d000 rw-p 1a97c000 00:00 0 [heap] 1cc60000-1cd61000 rw-p 1cc60000 00:00 0 [heap] 1afa9000-1b0aa000 rw-p 1afa9000 00:00 0 [heap] Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit d839088caec6891a5070f0b1ce61031e458533a9 Author: Anton Blanchard Date: Sun Feb 22 01:50:03 2009 +0000 powerpc: Randomise lower bits of stack address Randomise the lower bits of the stack address. More randomisation is good for security but the scatter can also help with SMT threads that share an L1. A quick test case shows this working: int main() { int sp; printf("%x\n", (unsigned long)&sp & 4095); } before: 80 80 80 80 80 after: 610 490 300 6b0 d80 Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 2dadb987e09995b2910c419cdfe2307e66537649 Author: Anton Blanchard Date: Sun Feb 22 01:50:02 2009 +0000 powerpc: More stack randomisation for 64bit binaries At the moment we randomise the stack by 8MB on 32bit and 64bit tasks. Since we have a lot more address space to play with on 64bit, lets do what x86 does and increase that randomisation to 1GB: before: # for i in seq `1 10` ; do sleep 1 & cat /proc/${!}/maps | grep stack; done fffffebc000-fffffed1000 rw-p ffffffeb000 00:00 0 [stack] ffffff5a000-ffffff6f000 rw-p ffffffeb000 00:00 0 [stack] fffffdb2000-fffffdc7000 rw-p ffffffeb000 00:00 0 [stack] fffffd3e000-fffffd53000 rw-p ffffffeb000 00:00 0 [stack] fffffad9000-fffffaee000 rw-p ffffffeb000 00:00 0 [stack] after: # for i in seq `1 10` ; do sleep 1 & cat /proc/${!}/maps | grep stack; done ffff5c27000-ffff5c3c000 rw-p ffffffeb000 00:00 0 [stack] fffebe5e000-fffebe73000 rw-p ffffffeb000 00:00 0 [stack] fffcb298000-fffcb2ad000 rw-p ffffffeb000 00:00 0 [stack] fffc719d000-fffc71b2000 rw-p ffffffeb000 00:00 0 [stack] fffe01af000-fffe01c4000 rw-p ffffffeb000 00:00 0 [stack] Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 9f14c42d7582bf33bbe1e133d897a6942ceae08e Author: Anton Blanchard Date: Sun Feb 22 01:50:01 2009 +0000 powerpc: Randomise mmap start address Randomise mmap start address - 8MB on 32bit and 1GB on 64bit tasks. Until ppc32 uses the mmap.c functionality, this is ppc64 specific. Before: # ./test & cat /proc/${!}/maps|tail -2|head -1 f75fe000-f7fff000 rw-p f75fe000 00:00 0 f75fe000-f7fff000 rw-p f75fe000 00:00 0 f75fe000-f7fff000 rw-p f75fe000 00:00 0 f75fe000-f7fff000 rw-p f75fe000 00:00 0 f75fe000-f7fff000 rw-p f75fe000 00:00 0 After: # ./test & cat /proc/${!}/maps|tail -2|head -1 f718b000-f7b8c000 rw-p f718b000 00:00 0 f7551000-f7f52000 rw-p f7551000 00:00 0 f6ee7000-f78e8000 rw-p f6ee7000 00:00 0 f74d4000-f7ed5000 rw-p f74d4000 00:00 0 f6e9d000-f789e000 rw-p f6e9d000 00:00 0 Similar for 64bit, but with 1GB of scatter: # ./test & cat /proc/${!}/maps|tail -2|head -1 fffb97b5000-fffb97b6000 rw-p fffb97b5000 00:00 0 fffce9a3000-fffce9a4000 rw-p fffce9a3000 00:00 0 fffeaaf2000-fffeaaf3000 rw-p fffeaaf2000 00:00 0 fffd88ac000-fffd88ad000 rw-p fffd88ac000 00:00 0 fffbc62e000-fffbc62f000 rw-p fffbc62e000 00:00 0 Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 13a2cb3694d7237e6cc3e94fcb311b81908ccd06 Author: Anton Blanchard Date: Sun Feb 22 01:50:00 2009 +0000 powerpc: Rearrange mmap.c Rearrange mmap.c to better match the x86 version. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit a465f9b694bcfa4957d06751c0274ded49421c82 Author: Anton Blanchard Date: Sun Feb 22 01:49:58 2009 +0000 powerpc: Move is_32bit_task Move is_32bit_task into asm/thread_info.h, that allows us to test for 32/64bit tasks without an ugly CONFIG_PPC64 ifdef. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 4c4ece3cf8391e842f2c67a4760885e0acb3a461 Author: Giuliano Pochini Date: Sat Feb 21 12:21:25 2009 +0000 powerpc/powermac: Hotplug /sys entries are missing On Wed, 18 Feb 2009 22:18:21 +0100 Giuliano Pochini wrote: Since 2.6.28, /sys/devices/system/cpu/cpu*/online don't exist anymore on 32-bit PowerMacs due to change in the generic powerpc code. Signed-off-by: Giuliano Pochini Signed-off-by: Benjamin Herrenschmidt commit 41fd81cc568156af90913c248c40788b6f57c887 Author: Benjamin Krill Date: Fri Feb 20 03:09:39 2009 +0000 powerpc/cell: Add rtas rtc calls for the QPACE platform The new firmware release exports further RTC calls. This patch adds these calls to the QPACE platform setup file. Signed-off-by: Benjamin Krill Signed-off-by: Benjamin Herrenschmidt commit 553631e25f238de3a8085d2daf9cd4dcd96f8573 Author: Michael Neuling Date: Thu Feb 19 18:52:20 2009 +0000 powerpc: Fix load/store float double alignment handler When we introduced VSX, we changed the way FPRs are stored in the thread_struct. Unfortunately we missed the load/store float double alignment handler code when updating how we access FPRs in the thread_struct. Below fixes this and merges the little/big endian case. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 545bba18247067bb63c94e042bed90599d08151b Author: Michael Neuling Date: Thu Feb 19 18:51:37 2009 +0000 powerpc: Add alignment handler for new lfiwzx instruction lfiwzx is a new floating point load instruction in 2.06 that needs an alignment handler for Linux. Turns out to be the worlds easiest handler to add. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 0f16ef7fd3880575b59d0b0f0c9a2ef96e057522 Author: Nathan Fontenot Date: Tue Feb 17 08:08:30 2009 +0000 powerpc/numa: Cleanup hot_add_scn_to_nid This patch reworks the hot_add_scn_to_nid and its supporting functions to make them easier to understand. There are no functional changes in this patch and has been tested on machine with memory represented in the device tree as memory nodes and in the ibm,dynamic-memory property. My previous patch that introduced support for hotplug memory add on systems whose memory was represented by the ibm,dynamic-memory property of the device tree only left the code more unintelligible. This will hopefully makes things easier to understand. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit f52862f4070fb930e407d466aa82d8efcc98c9ed Author: Brian King Date: Tue Feb 17 06:49:50 2009 +0000 powerpc/pseries: Fix partition migration hang under load While testing partition migration with heavy CPU load using shared processors, it was observed that sometimes the migration would never complete and would appear to hang. Currently, the migration code assumes that if H_SUCCESS is returned from the H_JOIN then the migration is complete and the processor is waking up on the target system. If there was an outstanding PROD to the processor when the H_JOIN is called, however, it will return H_SUCCESS on the source system, causing the migration to hang, or in some scenarios cause the kernel to crash on the complete call waking the caller of rtas_percpu_suspend_me. Fix this by calling H_JOIN multiple times if necessary during the migration. Signed-off-by: Brian King Signed-off-by: Benjamin Herrenschmidt commit 448e2ca0e32a5c437650d634b6032ab732662338 Author: Michael Ellerman Date: Tue Feb 17 00:21:56 2009 +0000 powerpc/pseries: Implement a quota system for MSIs There are hardware limitations on the number of available MSIs, which firmware expresses using a property named "ibm,pe-total-#msi". This property tells us how many MSIs are available for devices below the point in the PCI tree where we find the property. For old firmwares which don't have the property, we assume there are 8 MSIs available per "partitionable endpoint" (PE). The PE can be found using existing EEH code, which uses the methods described in PAPR. For our purposes we want the parent of the node that's identified using this method. When a driver requests n MSIs for a device, we first establish where the "ibm,pe-total-#msi" property above that device is, or we find the PE if the property is not found. In both cases we call this node the "pe_dn". We then count all non-bridge devices below the pe_dn, to establish how many devices in total may need MSIs. The quota is then simply the total available divided by the number of devices, if the request is less than or equal to the quota, the request is fine and we're done. If the request is greater than the quota, we try to determine if there are any "spare" MSIs which we can give to this device. Spare MSIs are found by looking for other devices which can never use their full quota, because their "req#msi(-x)" property is less than the quota. If we find any spare, we divide the spares by the number of devices that could request more than their quota. This ensures the spare MSIs are spread evenly amongst all over-quota requestors. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit d523cc379da57f1c39f5db9c47bdaa94f74727ff Author: Michael Ellerman Date: Tue Feb 17 00:18:49 2009 +0000 powerpc/pseries: Return req#msi(-x) if request is larger If a driver asks for more MSIs than the devices "req#msi(-x)" property, we currently return -ENOSPC. This doesn't give the driver any chance to make a new request with a number that might work. So if "req#msi(-x)" is less than the request, return its value. To be 100% safe, make sure we return an error if req_msi == 0. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 620165f971753c2c451c880796bac7cd66f3534a Author: Kumar Gala Date: Thu Feb 12 13:54:53 2009 +0000 powerpc: Add support for using doorbells for SMP IPI The e500mc supports the new msgsnd/doorbell mechanisms that were added in the Power ISA 2.05 architecture. We use the normal level doorbell for doing SMP IPIs at this point. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 6ed8d12849d651c646c108807754a544d2e506f1 Author: Arnd Bergmann Date: Tue Feb 10 05:55:16 2009 +0000 powerpc/cell: Fix dependency in cpufreq cbe_cpufreq has a partial dependency on cbe_cpufreq_pmi, which cannot be easily expressed in Kconfig. This fixes it by introducing an extra Kconfig symbol CBE_CPUFREQ_PMI_ENABLE. To make the dependency clearer, turn PPC_PMI into an automatic symbol. Reported-by: Michael Neuling Signed-off-by: Arnd Bergmann Acked-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit e538052746d570c874650a24eed89fca6e4c93dc Author: Roland Dreier Date: Sun Feb 22 20:14:37 2009 -0800 IB/ipath: Really run work in ipath_release_user_pages_on_close() ipath_release_user_pages_on_close() just allocated a structure to schedule work with but just returned (leaking the structure) rather than actually doing schedule_work(). Fix the logic to what was intended. This was spotted by the Coverity checker (CID 2700). Signed-off-by: Roland Dreier commit 71c4512201575c7cc008b364e2e2c75cc7085c26 Author: Roland Dreier Date: Sun Feb 22 20:04:34 2009 -0800 IB/ipath: Fix memory leak in init_shadow_tids() error path If the second vmalloc() fails, the wrong pointer is pased to vfree(), so the first vmalloc() ends up getting leaked. This was spotted by the Coverity checker (CID 2709). Signed-off-by: Roland Dreier commit ce16c5337ab0d165f95c88aa857207efd7c01139 Author: Eric W. Biederman Date: Sun Feb 22 00:11:09 2009 -0800 netns: Remove net_alive It turns out that net_alive is unnecessary, and the original problem that led to it being added was simply that the icmp code thought it was a network device and wound up being unable to handle packets while there were still packets in the network namespace. Now that icmp and tcp have been fixed to properly register themselves this problem is no longer present and we have a stronger guarantee that packets will not arrive in a network namespace then that provided by net_alive in netif_receive_skb. So remove net_alive allowing packet reception run a little faster. Additionally document the strong reason why network namespace cleanup is safe so that if something happens again someone else will have a chance of figuring it out. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 6a1b3054d9fd98001a6631501caf1969138ee00d Author: Eric W. Biederman Date: Sun Feb 22 00:10:18 2009 -0800 tcp: Like icmp use register_pernet_subsys To remove the possibility of packets flying around when network devices are being cleaned up use reisger_pernet_subsys instead of register_pernet_device. Signed-off-by: Eric W. Biederman Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit 959d2726499175c6b724d87fed1dafca7582efe2 Author: Eric W. Biederman Date: Sun Feb 22 00:09:14 2009 -0800 netns: Fix icmp shutdown. Recently I had a kernel panic in icmp_send during a network namespace cleanup. There were packets in the arp queue that failed to be sent and we attempted to generate an ICMP host unreachable message, but failed because icmp_sk_exit had already been called. The network devices are removed from a network namespace and their arp queues are flushed before we do attempt to shutdown subsystems so this error should have been impossible. It turns out icmp_init is using register_pernet_device instead of register_pernet_subsys. Which resulted in icmp being shut down while we still had the possibility of packets in flight, making a nasty NULL pointer deference in interrupt context possible. Changing this to register_pernet_subsys fixes the problem in my testing. Signed-off-by: Eric W. Biederman Acked-by: Denis V. Lunev Signed-off-by: David S. Miller commit a6e8f27f3c02b0c0d0c45d14b2f4a8810c9a7dc7 Author: Jesper Dangaard Brouer Date: Sun Feb 22 00:07:13 2009 -0800 ipv4: Clean whitespaces in net/ipv4/Kconfig. While going through net/ipv4/Kconfig cleanup whitespaces. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit b2cc46a8ee905d1d642e01761939879c495e3e3a Author: Jesper Dangaard Brouer Date: Sun Feb 22 00:06:20 2009 -0800 ipv4: Fix rp_filter description in net/ipv4/Kconfig. The reverse path filter (rp_filter) will NOT get enabled when enabling forwarding. Read the code and tested in in practice. Most distributions do enable it in startup scripts. Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 0117cfabe3ba9b430c6ff6eecd4fdc569977f24f Author: Stephen Hemminger Date: Sun Feb 22 00:03:19 2009 -0800 snap: handle registration error and compile warning If this module can't load, it is almost certainly because something else is already bound to that SAP. So in that case, return the same error code as other SAP usage, and fail the module load. Also fixes a compiler warning about printk of non const. Signed-off-by: Stephen Hemminger Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 01af4a0e3cce86212f6bf54ebe8f84d7219c862a Author: Stephen Hemminger Date: Sun Feb 22 00:02:44 2009 -0800 llc: fix non-const printk warning Mark some strings as const. Signed-off-by: Stephen Hemminger Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5747a1aacde268017784a6a56df06c3b40194381 Author: Stephen Hemminger Date: Sun Feb 22 00:02:08 2009 -0800 ip: ipip compile warning Get rid of compile warning about non-const format Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c1cf8422f0512c2b14f0d66bce34abb0645c888a Author: Stephen Hemminger Date: Fri Feb 20 08:25:36 2009 +0000 ip: add loose reverse path filtering Extend existing reverse path filter option to allow strict or loose filtering. (See http://en.wikipedia.org/wiki/Reverse_path_filtering). For compatibility with existing usage, the value 1 is chosen for strict mode and 2 for loose mode. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6dac62d3888a34f5bccbe14222ba77e8877a2e54 Author: David S. Miller Date: Sun Feb 22 19:54:16 2009 -0800 Revert "etherh: Get working again." This reverts commit 7d3d5ec168f1f40e8547d2a1659670ef222a053b. Russell is going to merge this in via the ARM tree. Signed-off-by: David S. Miller commit e6f009b0b45220c004672d41a58865e94946104d Author: Bryan Donlan Date: Sun Feb 22 21:20:25 2009 -0500 ext4: return -EIO not -ESTALE on directory traversal through deleted inode ext4_iget() returns -ESTALE if invoked on a deleted inode, in order to report errors to NFS properly. However, in ext4_lookup(), this -ESTALE can be propagated to userspace if the filesystem is corrupted such that a directory entry references a deleted inode. This leads to a misleading error message - "Stale NFS file handle" - and confusion on the part of the admin. The bug can be easily reproduced by creating a new filesystem, making a link to an unused inode using debugfs, then mounting and attempting to ls -l said link. This patch thus changes ext4_lookup to return -EIO if it receives -ESTALE from ext4_iget(), as ext4 does for other filesystem metadata corruption; and also invokes the appropriate ext*_error functions when this case is detected. Signed-off-by: Bryan Donlan Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit a4912123b688e057084e6557cef8924f7ae5bbde Author: Theodore Ts'o Date: Thu Mar 12 12:18:34 2009 -0400 ext4: New inode/block allocation algorithms for flex_bg filesystems The find_group_flex() inode allocator is now only used if the filesystem is mounted using the "oldalloc" mount option. It is replaced with the original Orlov allocator that has been updated for flex_bg filesystems (it should behave the same way if flex_bg is disabled). The inode allocator now functions by taking into account each flex_bg group, instead of each block group, when deciding whether or not it's time to allocate a new directory into a fresh flex_bg. The block allocator has also been changed so that the first block group in each flex_bg is preferred for use for storing directory blocks. This keeps directory blocks close together, which is good for speeding up e2fsck since large directories are more likely to look like this: debugfs: stat /home/tytso/Maildir/cur Inode: 1844562 Type: directory Mode: 0700 Flags: 0x81000 Generation: 1132745781 Version: 0x00000000:0000ad71 User: 15806 Group: 15806 Size: 1060864 File ACL: 0 Directory ACL: 0 Links: 2 Blockcount: 2072 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x499c0ff4:164961f4 -- Wed Feb 18 08:41:08 2009 atime: 0x499c0ff4:00000000 -- Wed Feb 18 08:41:08 2009 mtime: 0x49957f51:00000000 -- Fri Feb 13 09:10:25 2009 crtime: 0x499c0f57:00d51440 -- Wed Feb 18 08:38:31 2009 Size of extra inode fields: 28 BLOCKS: (0):7348651, (1-258):7348654-7348911 TOTAL: 259 Signed-off-by: "Theodore Ts'o" commit 74254647e06452faff3675f9cd347ef2a5d63d90 Author: Jeremy Kerr Date: Tue Feb 17 11:44:14 2009 +1100 powerpc/spufs: Constify context contents and coredump callback constants The spufs context directory contents definitions are not changed after initialisation, so we can declare them as const. We can do the same with the spu coredump reader callbacks too. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 3688b46b89a1a64d5eeb0df5f9d82e109712fffe Author: Jeremy Kerr Date: Tue Feb 17 11:44:14 2009 +1100 powerpc/spufs: Clear purge status before setting up isolated mode Currently, we may setup the MFC for isolated mode initilaisation with the purge still active. This means that DMAs required to perform the init do not happen. This change clears the purge status after doing the purge, so that the isolated init can proceed. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 60ee031940c1b09c137b617a8829e2f081961fe0 Author: Jeremy Kerr Date: Tue Feb 17 11:44:14 2009 +1100 powerpc/spufs: Use correct return value for spu_handle_mm_fault Currently, spu_handle_mm_fault disregards the 'ret' variable and always returns -EFAULT on error. This change refactos spu_handle_mm_fault a little, to return the ret variable as appropriate. This allows us to combine the error and sucess paths. Also, remove the #if-0-ed IS_VALID_EA() check, it has never been used. Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 13870b657578bcce167978ee93dc02bf54e3beb0 Author: Anton Blanchard Date: Fri Feb 13 11:57:30 2009 +0000 powerpc/mm: Reduce hashtable size when using 64kB pages At the moment we size the hashtable based on 4kB pages / 2, even on a 64kB kernel. This results in a hashtable that is much larger than it needs to be. Grab the real page size and size the hashtable based on that Note: This only has effect on non hypervisor machines. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 33f00dcedb0e22cdb156a23632814fc580fcfcf8 Author: Ilya Yanok Date: Thu Feb 12 13:20:53 2009 +0000 powerpc: Rework dma-noncoherent to use generic vmalloc layer This patch rewrites consistent dma allocations support to use vmalloc layer to allocate virtual memory space from vmalloc pool and get rid of CONFIG_CONSISTENT_{START,SIZE}. This greatly simplifies the code by effectively removing a custom allocator we had for virtual space. Signed-off-by: Ilya Yanok Signed-off-by: Benjamin Herrenschmidt commit 812d904e3975450cbf96aea5c1fec4d0a176ab50 Author: Kumar Gala Date: Wed Feb 11 19:09:56 2009 +0000 powerpc: Fix warnings from make headers_check include/asm/bootx.h:12: include of is preferred over include/asm/bootx.h:57: found __[us]{8,16,32,64} type without #include include/asm/elf.h:5: include of is preferred over include/asm/kvm.h:23: include of is preferred over include/asm/kvm.h:26: found __[us]{8,16,32,64} type without #include include/asm/ps3fb.h:33: found __[us]{8,16,32,64} type without #include include/asm/spu_info.h:27: found __[us]{8,16,32,64} type without #include include/asm/swab.h:11: include of is preferred over Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit f81786913aa0ca27a3230f30d099e9613d0d7973 Author: Tom Arbuckle Date: Wed Feb 11 10:41:48 2009 +0000 powerpc/pci: Fix PCI<->OF matching of old style multifunc devices Old OF variants used to create a 'dummy' parent node "multifunc-device" for devices with more than one PCI function. Our code that matches OF nodes to PCI devices dealt with that in one place but not in another, this fixes it. This has the practical effect of fixing interrupt routing of multifunction PCI cards on some older PowerMac machines. Signed-off-by: Tom Arbuckle Signed-off-by: Benjamin Herrenschmidt commit 16c57b3620d77e0bc981da5ef32beae730512684 Author: Kumar Gala Date: Tue Feb 10 20:10:44 2009 +0000 powerpc: Unify opcode definitions and support Create a new header that becomes a single location for defining PowerPC opcodes used by code that is either generationg instructions at runtime (fixups, debug, etc.), emulating instructions, or just compiling instructions old assemblers don't know about. We currently don't handle the floating point emulation or alignment decode as both are better handled by the specific decode support they already have. Added support for the new dcbzl, dcbal, msgsnd, tlbilx, & wait instructions since older assemblers don't know about them. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit bb9b903527eb16c8fdad59a562c29e89f5dcf233 Author: Steven Rostedt Date: Fri Feb 13 06:45:27 2009 -0800 powerpc, ftrace: use create_branch lib function Impact: clean up, remove duplicate code When ftrace was first ported to PowerPC, there existed a create_function_call that would create the instruction to make a call to a given address. Unfortunately, this call expected to write to the address it was given, and since it used the address to calculate the offset, it could not be faked. ftrace needed a way to create the instruction without actually writing that instruction to the text section. So ftrace had to implement its own code. Now we have create_branch in the code patching library, which does exactly what ftrace needs. This patch replaces ftrace's implementation with the library function. Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit b54dcfe108b1b72c9d891dce1034aa5679c0d7db Author: Steven Rostedt Date: Fri Feb 13 06:31:39 2009 -0800 powerpc, ftrace: use unsigned int for instruction manipulation The original port of ftrace to PowerPC kept a lot of the code used by x86. Some of this code was to handle x86's 5 byte instruction. This was handled by using character arrays to manipulate the code. PowerPC has a consistent 4 byte instruction. Using unsigned ints makes the code more efficient as well as more readable. By converting to use unsigned ints to represent instructions, I was able to remove the side effects that were needed for manipulating character strings. i.e. memcpy and memcmp Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit 60ce8f7260d9ae4ff17548f5a275edfbc200187a Author: Steven Rostedt Date: Wed Feb 11 20:06:43 2009 -0500 powerpc32, ftrace: dynamic function graph tracer This patch gets function graph tracing working with dynamic function tracer on PowerPC32. Acked-by: Benjamin Herrenschmidt Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit fad4f47cc8b2b8f7e7d062c40c66188cdf783137 Author: Steven Rostedt Date: Wed Feb 11 19:10:57 2009 -0500 powerpc32, ftrace: port function graph tracer to ppc32, static only This patch ports the function graph tracer for PowerPC, but only for static function tracing. Acked-by: Benjamin Herrenschmidt Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit bf528a3a9bd11b6ae39684b18c9c0678f23924fd Author: Steven Rostedt Date: Wed Feb 11 15:01:18 2009 -0500 powerpc32, ftrace: save and restore mcount regs with macro Impact: clean up Use a macro to save and restore the registers for PowerPC32, since that code is duplicated. This is similar to the work done by Cyrill Gorcunov for the mcount code in x86_64. Acked-by: Benjamin Herrenschmidt Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit bb7253403f7a4670a128e4c080fd8ea1bd4d5029 Author: Steven Rostedt Date: Wed Feb 11 12:45:49 2009 -0800 powerpc64, ftrace: save toc only on modules for function graph The TOCS used by modules are different than the one used by the core kernel code. The function graph tracer must save and restore the TOC whenever it traces a module call. But this is an added overhead to burden the majority of core kernel code being traced. Benjamin Herrenschmidt suggested in testing the entry of the call to tell if it is a core kernel function or a module. He recommended using the REGION_ID() macro to perform this test. This patch implements Benjamin's idea, and uses a different return_to_handler routine dependent on if the entry is a core kernel function or not. The module version saves the TOC, where as the core kernel version does not. Geoff Lavand tested on PS3. Tested-by: Geoff Levand Acked-by: Benjamin Herrenschmidt Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit 465428884765b43d642a967915e16c6c7cacbe8e Author: Steven Rostedt Date: Tue Feb 10 22:19:54 2009 -0800 powerpc64, tracing: add function graph tracer with dynamic tracing This is the port of the function graph tracer to PowerPC with dynamic tracing. Geoff Lavand tested on PS3. Tested-by: Geoff Levand Acked-by: Benjamin Herrenschmidt Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit 6794c78243bfda020ab184d6d578944f8e90d26c Author: Steven Rostedt Date: Mon Feb 9 21:10:27 2009 -0800 powerpc64: port of the function graph tracer This is a port of the function graph tracer that was written by Frederic Weisbecker for the x86. This only works for PPC64 at the moment and only for static tracing. PPC32 and dynamic function graph tracing support will come later. The trace produces a visual calling of functions: # tracer: function_graph # # CPU DURATION FUNCTION CALLS # | | | | | | | 0) 2.224 us | } 0) ! 271.024 us | } 0) ! 320.080 us | } 0) ! 324.656 us | } 0) ! 329.136 us | } 0) | .put_prev_task_fair() { 0) | .update_curr() { 0) 2.240 us | .update_min_vruntime(); 0) 6.512 us | } 0) 2.528 us | .__enqueue_entity(); 0) + 15.536 us | } 0) | .pick_next_task_fair() { 0) 2.032 us | .__pick_next_entity(); 0) 2.064 us | .__clear_buddies(); 0) | .set_next_entity() { 0) 2.672 us | .__dequeue_entity(); 0) 6.864 us | } Geoff Lavand tested on PS3. Tested-by: Geoff Levand Acked-by: Benjamin Herrenschmidt Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit 17be5b3ddf71d980f67fc826e49b00cd2afd724d Author: Steven Rostedt Date: Thu Feb 5 21:33:09 2009 -0800 powerpc, ftrace: fix compile error when modules not configured Michael Neuling reported a compile bug when dynamic ftrace was configured in and modules were not. This was due to the ftrace code referencing module specific structures. Reported-by: Michael Neuling Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit 44e1d064b919cb3a56ef67e0f7e244927be8369a Author: Steven Rostedt Date: Wed Feb 4 18:29:03 2009 -0800 ftrace, powerpc: replace debug macro with proper pr_deug Impact: cleanup The PowerPC ftrace code uses a hacked up DEBUGP macro for prints. This patch converts it to the standard pr_debug. Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit 35f88e6b06d024ed25e8ed5420c5c8844b54e1a1 Merge: 3b7faeb... 712406a... Author: Benjamin Herrenschmidt Date: Mon Feb 23 10:47:23 2009 +1100 Merge commit 'ftrace/function-graph' into next commit 0d3a9cf5ab041c15691fd03dab3af0841af63606 Author: Jeremy Fitzhardinge Date: Sun Feb 22 14:58:56 2009 -0800 acpi: add some missing section markers early_acpi_os_unmap_memory() is an __init function, and acpi_os_unmap_memory() is allowed to access an __init function until acpi_gbl_permanent_mmap is set up. Signed-off-by: Jeremy Fitzhardinge Cc: Len Brown Signed-off-by: Ingo Molnar commit 8e6dafd6c741cd4679b4de3c5d9698851e4fa59c Author: Ingo Molnar Date: Mon Feb 23 00:34:39 2009 +0100 x86: refactor x86_quirks support Impact: cleanup Make x86_quirks support more transparent. The highlevel methods are now named: extern void x86_quirk_pre_intr_init(void); extern void x86_quirk_intr_init(void); extern void x86_quirk_trap_init(void); extern void x86_quirk_pre_time_init(void); extern void x86_quirk_time_init(void); This makes it clear that if some platform extension has to do something here that it is considered ... weird, and is discouraged. Also remove arch_hooks.h and move it into setup.h (and other header files where appropriate). Signed-off-by: Ingo Molnar commit d85a881d780cc7aaebe1b7aefcddbcb939acbe2d Author: Ingo Molnar Date: Mon Feb 23 00:29:45 2009 +0100 x86: remove various unused subarch hooks Impact: remove dead code Remove: - pre_setup_arch_hook() - mca_nmi_hook() If needed they can be added back via an x86_quirk handler. Signed-off-by: Ingo Molnar commit 965c7ecaf2e2b083d711a01ab33735a4bdeee1a4 Author: Ingo Molnar Date: Sun Feb 22 23:19:12 2009 +0100 x86: remove the Voyager 32-bit subarch Impact: remove unused/broken code The Voyager subarch last built successfully on the v2.6.26 kernel and has been stale since then and does not build on the v2.6.27, v2.6.28 and v2.6.29-rc5 kernels. No actual users beyond the maintainer reported this breakage. Patches were sent and most of the fixes were accepted but the discussion around how to do a few remaining issues cleanly fizzled out with no resolution and the code remained broken. In the v2.6.30 x86 tree development cycle 32-bit subarch support has been reworked and removed - and the Voyager code, beyond the build problems already known, needs serious and significant changes and probably a rewrite to support it. CONFIG_X86_VOYAGER has been marked BROKEN then. The maintainer has been notified but no patches have been sent so far to fix it. While all other subarchs have been converted to the new scheme, voyager is still broken. We'd prefer to receive patches which clean up the current situation in a constructive way, but even in case of removal there is no obstacle to add that support back after the issues have been sorted out in a mutually acceptable fashion. So remove this inactive code for now. Signed-off-by: Ingo Molnar commit be38e0fd5f90a91d09e0a85ffb294b70a7be6259 Author: Mimi Zohar Date: Fri Feb 20 14:28:29 2009 -0800 integrity: ima iint radix_tree_lookup locking fix Based on Andrew Morton's comments: - add missing locks around radix_tree_lookup in ima_iint_insert() Signed-off-by: Mimi Zohar Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 1581e7ddbdd97443a134e1a0cc9d81256baf77a4 Author: Tetsuo Handa Date: Sat Feb 21 20:40:50 2009 +0900 TOMOYO: Do not call tomoyo_realpath_init unless registered. tomoyo_realpath_init() is unconditionally called by security_initcall(). But nobody will use realpath related functions if TOMOYO is not registered. So, let tomoyo_init() call tomoyo_realpath_init(). This patch saves 4KB of memory allocation if TOMOYO is not registered. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 8425091ff8af2addae118fc510a523b84ce51115 Author: Ravikiran G Thirumalai Date: Fri Feb 20 16:59:11 2009 -0800 x86: improve the help text of X86_EXTENDED_PLATFORM Change the CONFIG_X86_EXTENDED_PLATFORM help text to display the 32bit/64bit extended platform list. This is as suggested by Ingo. Signed-off-by: Ravikiran Thirumalai Cc: shai@scalex86.org Cc: "Benzi Galili (Benzi@ScaleMP.com)" Signed-off-by: Ingo Molnar commit fc6fc7f1b1095b92d4834e69b385b91e412a7ce5 Merge: ef1f87a... 770824b... Author: Ingo Molnar Date: Sun Feb 22 20:05:19 2009 +0100 Merge branch 'linus' into x86/apic Conflicts: arch/x86/mach-default/setup.c Semantic conflict resolution: arch/x86/kernel/setup.c Signed-off-by: Ingo Molnar commit ef1f87aa7ba6224bef1b750b3272ba281d8f43ed Author: Suresh Siddha Date: Sat Feb 21 14:23:21 2009 -0800 x86: select x2apic ops in early apic probe only if x2apic mode is enabled If BIOS hands over the control to OS in legacy xapic mode, select legacy xapic related ops in the early apic probe and shift to x2apic ops later in the boot sequence, only after enabling x2apic mode. If BIOS hands over the control in x2apic mode, select x2apic related ops in the early apic probe. This fixes the early boot panic, where we were selecting x2apic ops, while the cpu is still in legacy xapic mode. Signed-off-by: Suresh Siddha Cc: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit c478f8786973d6d7552c652ddad3f6fd86b5af28 Merge: 843adf2... 4377245... Author: Ingo Molnar Date: Sun Feb 22 18:12:01 2009 +0100 Merge branch 'tip/x86/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace Conflicts: include/linux/ftrace.h kernel/trace/ftrace.c commit 843adf2379c18ed9a1b7493ee208bfd5512732e0 Merge: f9349a8... 057685c... 91f73f9... Author: Ingo Molnar Date: Sun Feb 22 18:09:35 2009 +0100 Merge branches 'tracing/function-graph-tracer', 'tracing/kmemtrace' and 'tracing/markers' into tracing/core commit c23e253e67c9d8a91a0ffa33c1f571a17f0a2403 Author: Andreas Herrmann Date: Sat Feb 21 00:16:35 2009 +0100 x86: hpet: stop HPET_COUNTER when programming periodic mode Impact: fix system hang on some systems operating with HZ_1000 On a system that stalled with HZ_1000, the first value written to T0_CMP (when the main counter was not stopped) did not trigger an interrupt. Instead after the main counter wrapped around (after several minutes) an interrupt was triggered and afterwards the periodic interrupt took effect. This can be fixed by implementing HPET spec recommendation for programming the periodic mode (i.e. stopping the main counter). Signed-off-by: Andreas Herrmann Cc: Mark Hounschell Cc: Borislav Petkov Signed-off-by: Ingo Molnar commit 8d6f0c8214928f7c5083dd54ecb69c5d615b516e Author: Andreas Herrmann Date: Sat Feb 21 00:10:44 2009 +0100 x86: hpet: provide separate functions to stop and start the counter By splitting up existing hpet_start_counter function. Signed-off-by: Andreas Herrmann Cc: Mark Hounschell Cc: Borislav Petkov Signed-off-by: Ingo Molnar commit b98103a5597b87211a1c74077b06faeac554bedc Author: Andreas Herrmann Date: Sat Feb 21 00:09:47 2009 +0100 x86: hpet: print HPET registers during setup (if hpet=verbose is used) Signed-off-by: Andreas Herrmann Cc: Mark Hounschell Cc: Borislav Petkov Signed-off-by: Ingo Molnar commit 2702e0a46c2d28da92b32c9b068ee1291fc0de35 Merge: 42bb8cc... adfafef... Author: Ingo Molnar Date: Sun Feb 22 17:59:49 2009 +0100 Merge branch 'linus' into timers/hpet commit a967bb3fbe640056bacb0357722f51676bb06e3c Author: Hiroshi Shimamoto Date: Fri Feb 20 19:00:54 2009 -0800 x86: ia32_signal: introduce {get|set}_user_seg() Impact: cleanup Introduce {get|set}_user_seg() and loadsegment_xx() macros to make code clean. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 8801ead40caa8ba9c7d47a06ff1247c166cbfd5a Author: Hiroshi Shimamoto Date: Fri Feb 20 19:00:13 2009 -0800 x86: ia32_signal: introduce GET_SEG() macro Impact: cleanup introduce GET_SEG() macro like arch/x86/kernel/signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a47e3ec197f515e25c77805f02d26f9e86456f65 Author: Hiroshi Shimamoto Date: Fri Feb 20 18:57:58 2009 -0800 x86: ia32_signal: remove unused debug code Impact: cleanup DEBUG_SIG will not be used. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 93e051d2771e6bf70e86b8265bfbf296a457d044 Author: Mark Brown Date: Sun Feb 22 14:24:00 2009 +0000 ASoC: Only unregister drivers we registered for WM8753 Signed-off-by: Mark Brown commit eeb1080b29a0fa00e426ba77eb96f3a157b335ab Author: Mark Brown Date: Sun Feb 22 14:19:23 2009 +0000 ASoC: Report I/O errors from WM8753 reset Signed-off-by: Mark Brown commit b319eed0aa0a6d710887350a3cb734c572aa64c4 Author: Ingo Molnar Date: Sun Feb 22 10:24:18 2009 +0100 x86, mm: fault.c, simplify kmmio_fault(), cleanup Clarify the kmmio_fault() comment. Acked-by: Pekka Paalanen Signed-off-by: Ingo Molnar commit 2366c298b5afe52e635afd5604b69ce9fd4471fc Author: Hannes Eder Date: Sun Feb 22 01:01:13 2009 +0100 x86: numa_32.c: fix sparse warning: Using plain integer as NULL pointer Fix this sparse warning: arch/x86/mm/numa_32.c:197:24: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Cc: trivial@kernel.org Signed-off-by: Ingo Molnar commit fc6fcdfbb8f1b2553255170f221cd57a4108591f Author: Hannes Eder Date: Sun Feb 22 01:00:57 2009 +0100 x86: kexec/i386: fix sparse warnings: Using plain integer as NULL pointer Fix these sparse warnings: arch/x86/kernel/machine_kexec_32.c:124:22: warning: Using plain integer as NULL pointer arch/x86/kernel/traps.c:950:24: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Cc: trivial@kernel.org Signed-off-by: Ingo Molnar commit 7691367d71fd77ab668ff3b6edb4340cecddc805 Author: Herbert Xu Date: Sat Feb 21 23:52:29 2009 -0800 tcp: Always set urgent pointer if it's beyond snd_nxt Our TCP stack does not set the urgent flag if the urgent pointer does not fit in 16 bits, i.e., if it is more than 64K from the sequence number of a packet. This behaviour is different from the BSDs, and clearly contradicts the purpose of urgent mode, which is to send the notification (though not necessarily the associated data) as soon as possible. Our current behaviour may in fact delay the urgent notification indefinitely if the receiver window does not open up. Simply matching BSD however may break legacy applications which incorrectly rely on the out-of-band delivery of urgent data, and conversely the in-band delivery of non-urgent data. Alexey Kuznetsov suggested a safe solution of following BSD only if the urgent pointer itself has not yet been transmitted. This way we guarantee that when the remote end sees the packet with non-urgent data marked as urgent due to wrap-around we would have advanced the urgent pointer beyond, either to the actual urgent data or to an as-yet untransmitted packet. The only potential downside is that applications on the remote end may see multiple SIGURG notifications. However, this would occur anyway with other TCP stacks. More importantly, the outcome of such a duplicate notification is likely to be harmless since the signal itself does not carry any information other than the fact that we're in urgent mode. Thanks to Ilpo Järvinen for fixing a critical bug in this and Jeff Chua for reporting that bug. Signed-off-by: Herbert Xu Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7d3d5ec168f1f40e8547d2a1659670ef222a053b Author: Russell King Date: Sat Feb 21 23:41:57 2009 -0800 etherh: Get working again. Further to a71558d, this is round five of fixes to make etherh work again. As mainline kernels stand, the fixes in b9a9b4b were the wrong approach. The 8390 driver was structured by Al Viro to allow the flexibility required by platforms. lib8390.c contains the core code which drivers explicitly include: - 8390.c includes lib8390.c to provide the standard ISA based driver. - etherh.c includes it with the accessors defined for RiscPC platforms, where it is addressed via the MMIO accessors with a device dependent register spacing. Other platform drivers do something similar. However, b9a9b4b caused the kernel to contain not only the etherh private build of lib8390 (included in etherh.c) but also lib8390.c itself, and referred the new net_device_ops methods to the ISA version. The result of this is is not pretty: Unable to handle kernel paging request at virtual address 12032030 pgd = c8330000 [12032030] *pgd=00000000 Internal error: Oops: 18331805 [#1] Modules linked in: ipv6 CPU: 0 Not tainted (2.6.29-rc3 #167) PC is at do_set_multicast_list+0xd0/0x190 LR is at bitrev32+0x28/0x34 pc : [] lr : [] psr: a0000093 sp : c8321d9c ip : c8321d84 fp : c8321dbc r10: c80c6800 r9 : 00000000 r8 : c80c6b60 r7 : c80c6b80 r6 : cc80c800 r5 : c80c6800 r4 : 00000000 r3 : cc80c80c r2 : 00000004 r1 : 00000007 r0 : e0000000 Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user ... Fix up b9a9b4b by making etherh's net_device_ops refer to the internal lib8390 functions, and remove the build of the ISA 8390.c driver. Signed-off-by: Russell King Signed-off-by: David S. Miller commit 66da8c529ad4d330a268ac08aa101b87c5c911ff Author: Hannes Eder Date: Sat Feb 21 23:37:10 2009 -0800 ipv6: fix sparse warning: Using plain integer as NULL pointer Fix this sparse warning: net/ipv6/xfrm6_state.c:72:26: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 9c3c133b1ed6e6d01bfabb6de29bf3d0f0886354 Author: Alexander Clouter Date: Sun Feb 22 12:03:56 2009 +0800 hwrng: timeriomem - New driver Some hardware platforms, the TS-7800[1] is one for example, can supply the kernel with an entropy source, albeit a slow one for TS-7800 users, by just reading a particular IO address. This source must not be read above a certain rate otherwise the quality suffers. The driver is then hooked into by calling platform_device_(register|add|del) passing a structure similar to: ------ static struct timeriomem_rng_data ts78xx_ts_rng_data = { .address = (u32 *__iomem) TS_RNG, .period = 1000000, /* one second */ }; static struct platform_device ts78xx_ts_rng_device = { .name = "timeriomem_rng", .id = -1, .dev = { .platform_data = &ts78xx_ts_rng_data, }, .num_resources = 0, }; ------ [1] http://www.embeddedarm.com/products/board-detail.php?product=TS-7800 Signed-off-by: Alexander Clouter Signed-off-by: Herbert Xu commit 54037505a5278ce85df66531f384109ad94947e3 Author: Don Skidmore Date: Sat Feb 21 15:42:56 2009 -0800 ixgbe: fix for 82598 Si errata causing buffer overflow The failure happens when an interrupt occurs and the driver is reading EICR. This read will cause a clear-by-read which leads to two TLP being inserted in the PCIe retry buffer leading to an overflow of the buffer and corruption of TLPs. The solution is different depending where the reading of EICR takes place. For ixgbe_msix_lsc() since we are in MSIX mode and know OCD is enabled a clear-by-write is done instead of the normal clear-by-read. For ixgbe_intr() 0xffffffff is written to EIMC before the read, masking the interrupts. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 22b61a11fd4e6d7a48d694ce350331bebc0394ed Merge: 423145a... fa4e998... Author: Russell King Date: Sat Feb 21 21:42:50 2009 +0000 Merge branch 'dma' into devel Conflicts: arch/arm/plat-mxc/dma-mx1-mx2.c commit fa4e998999322bc1b11d2c8b19b9fa2016fd1548 Author: Russell King Date: Sat Feb 21 21:38:56 2009 +0000 [ARM] dma: RiscPC: don't modify DMA SG entries We should not be modifying the scatterlist passed to us from the driver code; doing so breaks assumptions made by the DMA API code, and could cause problems if the driver retries a transfer using an old scatterlist. Signed-off-by: Russell King commit 308d333ad6cc12e39adaed22dc10bac48e17742a Author: Russell King Date: Sat Feb 21 21:36:22 2009 +0000 [ARM] dma: move IOMD and floppy DMA structures to RiscPC DMA code There's no point these being in a generic include file when they're only used in arch/arm/mach-rpc/dma.c. Signed-off-by: Russell King commit 423145a5d4def58cff760809d48cfb21316d59a9 Author: Mark Brown Date: Mon Feb 16 20:39:19 2009 +0100 [ARM] 5399/1: [AT91] Configure MCLK and SSC for AT91SAMG20-EK The AT91SAM20-EK has a WM8731 attached to it with MCLK supplied from PCLK0 and the digital audio interface supplied by SSC0. Signed-off-by: Mark Brown Acked-by: Andrew Victor Signed-off-by: Russell King commit d92c60f802f3af56d15f14f7cb83e630586c87f9 Author: Dmitry Artamonow Date: Fri Feb 20 10:18:08 2009 +0100 [ARM] 5408/1: SA1100: update defconfigs after h3800 removal Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 7bc35b56f3e1548d039964d44e181c29398432b4 Author: Dmitry Artamonow Date: Fri Feb 20 10:16:01 2009 +0100 [ARM] 5407/1: SA1100: drop broken for ages iPAQ h3800 support Code has never been in buildable state since initial merge. Signed-off-by: Dmitry Artamonow Signed-off-by: Russell King commit 1c7880dffceef58fad446e2157164ccb3d468159 Author: Hartley Sweeten Date: Thu Feb 19 17:13:45 2009 +0100 [ARM] 5406/1: ep93xx: remove unneeded header in ohci-ep93xx.c Remove the unneeded #include Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit cd4d8fdad1f13205c769266dfa99015e226b6e07 Author: Patrick Ohly Date: Sat Feb 21 02:42:18 2009 -0800 net: kernel panic in dev_hard_start_xmit: remove faulty software TX time stamping The current implementation of the TX software time stamping fallback is faulty because it accesses the skb after ndo_start_xmit() returns successfully. This patch removes the fallback, which fixes kernel panics seen during stress tests. Hardware time stamping is not affected by this removal. Signed-off-by: Patrick Ohly Signed-off-by: Emil Tantilov Signed-off-by: David S. Miller commit cae3aeb83fef5a7c9c8ac40e653e59dd9a35469c Author: Tejun Heo Date: Sat Feb 21 16:56:23 2009 +0900 percpu: clean up size usage Andrew was concerned about the unit of variables named or have suffix size. Every usage in percpu allocator is in bytes but make it super clear by adding comments. While at it, make pcpu_depopulate_chunk() take int @off and @size like everyone else. Signed-off-by: Tejun Heo Cc: Andrew Morton commit b1569e99c795bf83b4ddf41c4f1c42761ab7f75e Author: Matthew Garrett Date: Wed Dec 3 17:55:32 2008 +0000 ACPI: move thermal trip handling to generic thermal layer The ACPI code currently carries its own thermal trip handling, meaning that any other thermal implementation will need to reimplement it. Move the code to the generic thermal layer. Signed-off-by: Matthew Garrett Signed-off-by: Len Brown commit f8eeb2e6be367d79be3617f0a12646bced8b2fe6 Author: Ingo Molnar Date: Fri Feb 20 23:13:36 2009 +0100 x86, mm: fault.c, update copyrights Signed-off-by: Ingo Molnar commit cd1b68f08f6328737928e5b8ba8ef80394680ff0 Author: Ingo Molnar Date: Fri Feb 20 23:39:02 2009 +0100 x86, mm: fault.c, give another attempt at prefetch handing before SIGBUS Impact: extend prefetch handling on 64-bit Currently there's an extra is_prefetch() check done in do_sigbus(), which we only do on 32 bits. This is a last-ditch check before we terminate a task, so it's worth giving prefetch instructions another chance - should none of our existing quirks have caught a prefetch instruction related spurious fault. The only risk is if a prefetch causes a real sigbus, in that case we'll not OOM but try another fault. But this code has been on 32-bit for a long time, so it should be fine in practice. So do this on 64-bit too - and thus remove one more #ifdef. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 7c178a26d3e753d2a4346d3e4b8aa549d387f698 Author: Ingo Molnar Date: Fri Feb 20 23:27:29 2009 +0100 x86, mm: fault.c, remove #ifdef from fault_in_kernel_space() Impact: cleanup Removal of an #ifdef in fault_in_kernel_space(), by making use of the new TASK_SIZE_MAX symbol which is now available on 32-bit too. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit d951734654f76a370a89b4e531af9b765bd13541 Author: Ingo Molnar Date: Fri Feb 20 23:32:28 2009 +0100 x86, mm: rename TASK_SIZE64 => TASK_SIZE_MAX Impact: cleanup Rename TASK_SIZE64 to TASK_SIZE_MAX, and provide the define on 32-bit too. (mapped to TASK_SIZE) This allows 32-bit code to make use of the (former-) TASK_SIZE64 symbol as well, in a clean way. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit c3731c68668325abddee8665018c74c7156a57be Author: Ingo Molnar Date: Fri Feb 20 23:22:34 2009 +0100 x86, mm: fault.c, remove #ifdef from do_page_fault() Impact: cleanup do_page_fault() has this ugly #ifdef in its prototype: #ifdef CONFIG_X86_64 asmlinkage #endif void __kprobes do_page_fault(struct pt_regs *regs, unsigned long error_code) Replace it with 'dotraplinkage' which maps to exactly the above construct: nothing on 32-bit and asmlinkage on 64-bit. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 1cc99544dde9e48602979f16b9309fade6e93051 Author: Ingo Molnar Date: Fri Feb 20 23:07:48 2009 +0100 x86, mm: fault.c, unify oops handling Impact: add oops-recursion check to 32-bit Unify the oops state-machine, to the 64-bit version. It is slightly more careful in that it does a recursion check in oops_begin(), and is thus more likely to show the relevant oops. It also means that 32-bit will print one more line at the end of pagefault triggered oopses: printk(KERN_EMERG "CR2: %016lx\n", address); Which is generally good information to be seen in partial-dump digital-camera jpegs ;-) The downside is the somewhat more complex critical path. Both variants have been tested well meanwhile by kernel developers crashing their boxes so i dont think this is a practical worry. This removes 3 ugly #ifdefs from no_context() and makes the function a lot nicer read. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 8f7661496cece8320137d5e26808825498fd2b26 Author: Ingo Molnar Date: Fri Feb 20 23:00:29 2009 +0100 x86, mm: fault.c, unify oops printing Impact: refine/extend page fault related oops printing on 64-bit - honor the pause_on_oops logic on 64-bit too - print out NX fault warnings on 64-bit as well - factor out the NX fault message to make it git-greppable and readable Note that this means that we do the PF_INSTR check on 32-bit non-PAE as well where it should not occur ... normally. Cannot hurt. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit f2f13a8535174dbb813a0607a9d4737cfba98f6c Author: Ingo Molnar Date: Fri Feb 20 22:50:24 2009 +0100 x86, mm: fault.c, reorder functions Impact: cleanup Avoid a couple more #ifdefs by moving fundamentally non-unifiable functions into a single #ifdef 32-bit / #else / #endif block in fault.c: vmalloc*(), dump_pagetable(), check_vm8086_mode(). No code changed: text data bss dec hex filename 4618 32 24 4674 1242 fault.o.before 4618 32 24 4674 1242 fault.o.after Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit b18018126f422f5b706fd750373425e10e84b486 Author: Ingo Molnar Date: Fri Feb 20 22:42:57 2009 +0100 x86, mm, kprobes: fault.c, simplify notify_page_fault() Impact: cleanup Remove an #ifdef from notify_page_fault(). The function still compiles to nothing in the !CONFIG_KPROBES case. Introduce kprobes_built_in() and kprobe_fault_handler() helpers to allow this - they returns 0 if !CONFIG_KPROBES. No code changed: text data bss dec hex filename 4618 32 24 4674 1242 fault.o.before 4618 32 24 4674 1242 fault.o.after Cc: Masami Hiramatsu Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit b814d41f0987c7648d7ed07471258101c95c026b Author: Ingo Molnar Date: Fri Feb 20 22:32:10 2009 +0100 x86, mm: fault.c, simplify kmmio_fault() Impact: cleanup Remove an #ifdef from kmmio_fault() - we can do this by providing default implementations for is_kmmio_active() and kmmio_handler(). The compiler optimizes it all away in the !CONFIG_MMIOTRACE case. Also, while at it, clean up mmiotrace.h a bit: - standard header guards - standard vertical spaces for structure definitions No code changed (both with mmiotrace on and off in the config): text data bss dec hex filename 2947 12 12 2971 b9b fault.o.before 2947 12 12 2971 b9b fault.o.after Cc: Pekka Paalanen Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 121d5d0a7e5808fbcfda484efd7ba840ac93450f Author: Ingo Molnar Date: Fri Feb 20 22:18:08 2009 +0100 x86, mm: fault.c, enable PF_RSVD checks on 32-bit too Impact: improve page fault handling robustness The 'PF_RSVD' flag (bit 3) of the page-fault error_code is a relatively recent addition to x86 CPUs, so the 32-bit do_fault() implementation never had it. This flag gets set when the CPU detects nonzero values in any reserved bits of the page directory entries. Extend the existing 64-bit check for PF_RSVD in do_page_fault() to 32-bit too. If we detect such a fault then we print a more informative oops and the pagetables. This unifies the code some more, removes an ugly #ifdef and improves the 32-bit page fault code robustness a bit. It slightly increases the 32-bit kernel text size. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 8c938f9fae887f6e180bf802aa1c33cf74712aff Author: Ingo Molnar Date: Fri Feb 20 22:12:18 2009 +0100 x86, mm: fault.c, factor out the vm86 fault check Impact: cleanup Instead of an ugly, open-coded, #ifdef-ed vm86 related legacy check in do_page_fault(), put it into the check_v8086_mode() helper function and merge it with an existing #ifdef. Also, simplify the code flow a tiny bit in the helper. No code changed: arch/x86/mm/fault.o: text data bss dec hex filename 2711 12 12 2735 aaf fault.o.before 2711 12 12 2735 aaf fault.o.after Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 107a03678cac0dd6cf7095f81442a4fa477e4700 Author: Ingo Molnar Date: Fri Feb 20 20:37:05 2009 +0100 x86, mm: fault.c, refactor/simplify the is_prefetch() code Impact: no functionality changed Factor out the opcode checker into a helper inline. The code got a tiny bit smaller: text data bss dec hex filename 4632 32 24 4688 1250 fault.o.before 4618 32 24 4674 1242 fault.o.after And it got cleaner / easier to review as well. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 2d4a71676f4d89418a0d53e60b89e8b804b390b2 Author: Ingo Molnar Date: Fri Feb 20 19:56:40 2009 +0100 x86, mm: fault.c cleanup Impact: cleanup, no code changed Clean up various small details, which can be correctness checked automatically: - tidy up the include file section - eliminate unnecessary includes - introduce show_signal_msg() to clean up code flow - standardize the code flow - standardize comments and other style details - more cleanups, pointed out by checkpatch No code changed on either 32-bit nor 64-bit: arch/x86/mm/fault.o: text data bss dec hex filename 4632 32 24 4688 1250 fault.o.before 4632 32 24 4688 1250 fault.o.after the md5 changed due to a change in a single instruction: 2e8a8241e7f0d69706776a5a26c90bc0 fault.o.before.asm c5c3d36e725586eb74f0e10692f0193e fault.o.after.asm Because a __LINE__ reference in a WARN_ONCE() has changed. On 32-bit a few stack offsets changed - no code size difference nor any functionality difference. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 4377245aa93b65b6597e4b7bb460fb9abc48b56b Author: Steven Rostedt Date: Thu Feb 19 13:41:27 2009 -0500 ftrace: break out modify loop immediately on detection of error Impact: added precaution on failure detection Break out of the modifying loop as soon as a failure is detected. This is just an added precaution found by code review and was not found by any bug chasing. Signed-off-by: Steven Rostedt commit 90c7ac49aa819feb9433b5310089fca6399881c0 Author: Steven Rostedt Date: Thu Feb 19 13:32:57 2009 -0500 ftrace: immediately stop code modification if failure is detected Impact: fix to prevent NMI lockup If the page fault handler produces a WARN_ON in the modifying of text, and the system is setup to have a high frequency of NMIs, we can lock up the system on a failure to modify code. The modifying of code with NMIs allows all NMIs to modify the code if it is about to run. This prevents a modifier on one CPU from modifying code running in NMI context on another CPU. The modifying is done through stop_machine, so only NMIs must be considered. But if the write causes the page fault handler to produce a warning, the print can slow it down enough that as soon as it is done it will take another NMI before going back to the process context. The new NMI will perform the write again causing another print and this will hang the box. This patch turns off the writing as soon as a failure is detected and does not wait for it to be turned off by the process context. This will keep NMIs from getting stuck in this back and forth of print outs. Signed-off-by: Steven Rostedt commit 16239630974516a8879a3695ee9b4dc661f79f96 Author: Steven Rostedt Date: Tue Feb 17 17:57:30 2009 -0500 ftrace, x86: make kernel text writable only for conversions Impact: keep kernel text read only Because dynamic ftrace converts the calls to mcount into and out of nops at run time, we needed to always keep the kernel text writable. But this defeats the point of CONFIG_DEBUG_RODATA. This patch converts the kernel code to writable before ftrace modifies the text, and converts it back to read only afterward. The kernel text is converted to read/write, stop_machine is called to modify the code, then the kernel text is converted back to read only. The original version used SYSTEM_STATE to determine when it was OK or not to change the code to rw or ro. Andrew Morton pointed out that using SYSTEM_STATE is a bad idea since there is no guarantee to what its state will actually be. Instead, I moved the check into the set_kernel_text_* functions themselves, and use a local variable to determine when it is OK to change the kernel text RW permissions. [ Update: Ingo Molnar suggested moving the prototypes to cacheflush.h ] Reviewed-by: Andrew Morton Signed-off-by: Steven Rostedt commit fdb17aeb28aaad3eae5ef57e70cb287d34d1049d Author: Alok Kataria Date: Fri Feb 20 10:23:18 2009 -0800 x86, vmi: TSC going backwards check in vmi clocksource, cleanup clean up vmi_read_cycles to use max() Reported-b: Andrew Morton Signed-off-by: Alok N Kataria Cc: Zach Amsden Signed-off-by: Ingo Molnar commit 91f73f90d97fa67effbb49e0a79c50cf26dfe324 Author: Frederic Weisbecker Date: Fri Feb 20 17:34:06 2009 +0100 tracing/markers: make markers select tracepoints Sometimes it happens that KConfig dependencies are not handled like in the following scenario: - config A bool - config B bool depends on A - config C bool select B If one selects C, then it will select B without checking its dependency to A, if A hasn't been selected elsewhere, it will result in a build failure. This is what happens on the following build error: kernel/built-in.o: In function `marker_update_probe_range': (.text+0x52f64): undefined reference to `tracepoint_probe_register_noupdate' kernel/built-in.o: In function `marker_update_probe_range': (.text+0x52f74): undefined reference to `tracepoint_probe_unregister_noupdate' kernel/built-in.o: In function `marker_update_probe_range': (.text+0x52fb9): undefined reference to `tracepoint_probe_unregister_noupdate' kernel/built-in.o: In function `marker_update_probes': marker.c:(.text+0x530ba): undefined reference to `tracepoint_probe_update_all' CONFIG_KVM_TRACE will select CONFIG_MARKER, but the latter depends on CONFIG_TRACEPOINTS which will not be selected. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 000ab691172db3921efa3cb7f17fc79235a1de7f Author: Steven Rostedt Date: Tue Feb 17 13:35:06 2009 -0500 ftrace: allow archs to preform pre and post process for code modification This patch creates the weak functions: ftrace_arch_code_modify_prepare and ftrace_arch_code_modify_post_process that are called before and after the stop machine is called to modify the kernel text. If the arch needs to do pre or post processing, it only needs to define these functions. [ Update: Ingo Molnar suggested using the name ftrace_arch_code_modify_* over using ftrace_arch_modify_* ] Signed-off-by: Steven Rostedt commit c9e1585b1b7e36a72181f2c59c2abfd476512e93 Merge: 7a5714e... 3c3e569... Author: Ingo Molnar Date: Fri Feb 20 18:51:43 2009 +0100 Merge branch 'tip/x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into x86/mm commit 7a5714e0186030676d79a7b4b9830c8e45c3b0a1 Author: Ingo Molnar Date: Fri Feb 20 17:44:21 2009 +0100 x86, pat: add large-PAT check to split_large_page() Impact: future-proof the split_large_page() function Linus noticed that split_large_page() is not safe wrt. the PAT bit: it is bit 12 on the 1GB and 2MB page table level (_PAGE_BIT_PAT_LARGE), and it is bit 7 on the 4K page table level (_PAGE_BIT_PAT). Currently it is not a problem because we never set _PAGE_BIT_PAT_LARGE on any of the large-page mappings - but should this happen in the future the split_large_page() would silently lift bit 12 into the lowlevel 4K pte and would start corrupting the physical page frame offset. Not fun. So add a debug warning, to make sure if something ever sets the PAT bit then this function gets updated too. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 3c3e5694add02e665bbbd0fecfbbdcc0b903097a Author: Steven Rostedt Date: Thu Feb 19 11:46:36 2009 -0500 x86: check PMD in spurious_fault handler Impact: fix to prevent hard lockup on bad PMD permissions If the PMD does not have the correct permissions for a page access, but the PTE does, the spurious fault handler will mistake the fault as a lazy TLB transaction. This will result in an infinite loop of: fault -> spurious_fault check (pass) -> return to code -> fault This patch adds a check and a warn on if the PTE passes the permissions but the PMD does not. [ Updated: Ingo Molnar suggested using WARN_ONCE with some text ] Signed-off-by: Steven Rostedt commit 609162850db11dfe3b23f43b36888aa8b3ad7685 Merge: 3b6f7b9... cb425af... ecab22a... e9ce0c3... Author: Ingo Molnar Date: Fri Feb 20 17:40:50 2009 +0100 Merge branches 'x86/asm', 'x86/cleanups' and 'x86/headers' into x86/core commit 3b6f7b9beb553ea71a6d4d76ba82cf32eb6dadd2 Merge: 9be1b56... 07a66d7... Author: Ingo Molnar Date: Fri Feb 20 17:40:43 2009 +0100 Merge branch 'x86/urgent' into x86/core commit 6503e5df08008b9a47022b5e9ebba658c8fa69af Author: Matthew Garrett Date: Thu Nov 27 17:48:13 2008 +0000 thermal: use integers rather than strings for thermal values The thermal API currently uses strings to pass values to userspace. This makes it difficult to use from within the kernel. Change the interface to use integers and fix up the consumers. Signed-off-by: Matthew Garrett Acked-by: Zhang Rui Acked-by: Thomas Renninger Signed-off-by: Len Brown commit f1085c4f319f1e43c95718045a235f276cc4b615 Author: Takashi Iwai Date: Fri Feb 20 14:50:35 2009 +0100 ALSA: hda - Update documentation for pincfg sysfs entries Added the brief descriptions of new sysfs entries for pint default config values. Signed-off-by: Takashi Iwai commit 2f334f92cfb44d17b9f24a43f8998cca03f9a3dd Author: Takashi Iwai Date: Fri Feb 20 14:37:42 2009 +0100 ALSA: hda - Remove codec-specific pin save/restore functions Replace the accessor to pin defaults with the common code for caching. Signed-off-by: Takashi Iwai commit 330ee9957910826a072c2ad5d4045182335f9963 Author: Takashi Iwai Date: Fri Feb 20 14:33:36 2009 +0100 ALSA: hda - Remove IDT codec-specific pin save/restore functions Removed its own save/restore functions and replaced with the common code. Signed-off-by: Takashi Iwai commit 0e8a21b59d48a63f45b3e6d2aca7fb91c5aec882 Author: Takashi Iwai Date: Fri Feb 20 14:13:06 2009 +0100 ALSA: hda - Remove realtek codec-specific pin save/restore functions Now it's done in the common code. Also use the common access functions for pin defaults. Signed-off-by: Takashi Iwai commit 3be141494a080a9189b51fa78154c975ad8d9806 Author: Takashi Iwai Date: Fri Feb 20 14:11:16 2009 +0100 ALSA: hda - Add generic pincfg initialization Added the generic pincfg cache and save/restore functions. Also introduced the pin-overriding via hwdep sysfs. Signed-off-by: Takashi Iwai commit d2f57cd54a602c979e571aa337b206c88609876d Merge: 7e0e44d... 55290e1... Author: Takashi Iwai Date: Fri Feb 20 16:06:47 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 0da0a420bb542b13ebae142109a9d2045ade0cb1 Author: Mimi Zohar Date: Thu Feb 19 21:23:50 2009 -0500 integrity: ima scatterlist bug fix Based on Alexander Beregalov's post http://lkml.org/lkml/2009/2/19/198 - replaced sg_set_buf() with sg_init_one() kernel BUG at include/linux/scatterlist.h:65! invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC last sysfs file: CPU 2 Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.29-rc5-next-20090219 #5 PowerEdge 1950 RIP: 0010:[] [] ima_calc_hash+0xc0/0x160 RSP: 0018:ffff88007f46bc40 EFLAGS: 00010286 RAX: ffffe200032c45e8 RBX: 00000000fffffff4 RCX: 0000000087654321 RDX: 0000000000000002 RSI: 0000000000000001 RDI: ffff88007cf71048 RBP: ffff88007f46bcd0 R08: 0000000000000000 R09: 0000000000000163 R10: ffff88007f4707a8 R11: 0000000000000000 R12: ffff88007cf71048 R13: 0000000000001000 R14: 0000000000000000 R15: 0000000000009d98 FS: 0000000000000000(0000) GS:ffff8800051ac000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000000000000000 CR3: 0000000000201000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Signed-off-by: Mimi Zohar Tested-by: Alexander Beregalov Signed-off-by: James Morris commit 1b24bc3aaba899f4e7f681cbbc3b93cadcf4d770 Author: Corentin Chary Date: Thu Feb 5 22:25:52 2009 +0100 UBI: add fsync capability Now, we can call fsync() on an UBI volume. Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit 057685cf57066bc8aaed68de1b1970e12f0075d2 Merge: 64b36ca... fe1200b... Author: Ingo Molnar Date: Fri Feb 20 12:15:30 2009 +0100 Merge branch 'for-ingo' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 into tracing/kmemtrace Conflicts: mm/slub.c commit ecab22aa6dc9d42ca52de2cad0854b4c6bd85ac9 Author: Vegard Nossum Date: Fri Feb 20 11:56:38 2009 +0100 x86: use symbolic constants for MSR_IA32_MISC_ENABLE bits Impact: Cleanup. No functional changes. Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar commit f9349a8f978929a0c71d2c42ae299f7d462c239d Author: Frederic Weisbecker Date: Thu Feb 19 21:13:12 2009 +0100 tracing/function-graph-tracer: make set_graph_function file support ftrace regex Impact: trace only functions matching a pattern The set_graph_function file let one to trace only one or several chosen functions and follow all their code flow. Currently, only a constant function name is allowed so this patch allows the ftrace_regex functions: - matches all functions that end with "name": echo *name > set_graph_function - matches all functions that begin with "name": echo name* > set_graph_function - matches all functions that contains "name": echo *name* > set_graph_function Example: echo mutex* > set_graph_function 0) | mutex_lock_nested() { 0) 0.563 us | __might_sleep(); 0) 2.072 us | } 0) | mutex_unlock() { 0) 1.036 us | __mutex_unlock_slowpath(); 0) 2.433 us | } 0) | mutex_unlock() { 0) 0.691 us | __mutex_unlock_slowpath(); 0) 1.787 us | } 0) | mutex_lock_interruptible_nested() { 0) 0.548 us | __might_sleep(); 0) 1.945 us | } Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 64b36ca7f408e0bd45487c8c28f168f11f3b6dcd Merge: 00a8bf8... 402a917... Author: Ingo Molnar Date: Fri Feb 20 11:35:57 2009 +0100 Merge branches 'tracing/function-graph-tracer' and 'linus' into tracing/core commit fe1200b63d158b28eef6d4de1e5b5f99c681ba2f Author: Christoph Lameter Date: Tue Feb 17 12:05:07 2009 -0500 SLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants As a preparational patch to bump up page allocator pass-through threshold, introduce two new constants SLUB_MAX_SIZE and SLUB_PAGE_SHIFT and convert mm/slub.c to use them. Reported-by: "Zhang, Yanmin" Tested-by: "Zhang, Yanmin" Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit e8120ff1ffc51102ead1f4c98a3fd5d26fefc722 Author: Zhang Yanmin Date: Thu Feb 12 18:00:17 2009 +0200 SLUB: Fix default slab order for big object sizes The default order of kmalloc-8192 on 2*4 stoakley is an issue of calculate_order. slab_size order name ------------------------------------------------- 4096 3 sgpool-128 8192 2 kmalloc-8192 16384 3 kmalloc-16384 kmalloc-8192's default order is smaller than sgpool-128's. On 4*4 tigerton machine, a similiar issue appears on another kmem_cache. Function calculate_order uses 'min_objects /= 2;' to shrink. Plus size calculation/checking in slab_order, sometimes above issue appear. Below patch against 2.6.29-rc2 fixes it. I checked the default orders of all kmem_cache and they don't become smaller than before. So the patch wouldn't hurt performance. Signed-off-by Zhang Yanmin Signed-off-by: Pekka Enberg commit 51735a7ca67531267a27b57e5fe20f7815192f9c Author: Pekka Enberg Date: Fri Feb 20 12:21:33 2009 +0200 SLUB: Do not pass 8k objects through to the page allocator Increase the maximum object size in SLUB so that 8k objects are not passed through to the page allocator anymore. The network stack uses 8k objects for performance critical operations. The patch is motivated by a SLAB vs. SLUB regression in the netperf benchmark. The problem is that the kfree(skb->head) call in skb_release_data() that is subject to page allocator pass-through as the size passed to __alloc_skb() is larger than 4 KB in this test. As explained by Yanmin Zhang: I use 2.6.29-rc2 kernel to run netperf UDP-U-4k CPU_NUM client/server pair loopback testing on x86-64 machines. Comparing with SLUB, SLAB's result is about 2.3 times of SLUB's. After applying the reverting patch, the result difference between SLUB and SLAB becomes 1% which we might consider as fluctuation. [ penberg@cs.helsinki.fi: fix oops in kmalloc() ] Reported-by: "Zhang, Yanmin" Tested-by: "Zhang, Yanmin" Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit ffadd4d0feb5376c82dc3a4104731b7ce2794edc Author: Christoph Lameter Date: Tue Feb 17 12:05:07 2009 -0500 SLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants As a preparational patch to bump up page allocator pass-through threshold, introduce two new constants SLUB_MAX_SIZE and SLUB_PAGE_SHIFT and convert mm/slub.c to use them. Reported-by: "Zhang, Yanmin" Tested-by: "Zhang, Yanmin" Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit f3990e610a157e9c36af85a75bc66260dff31f40 Author: Clemens Ladisch Date: Fri Feb 20 09:32:40 2009 +0100 sound: usb-audio: remove MIN_PACKS_URB Remove the MIN_PACKS_URB symbol because other limits can force the number of packets down to one, regardless of the value of this symbol, and nobody has ever changed it anyway. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit eacbb9dba6b4c982a0217ea2c7d15db88d4fda37 Author: Clemens Ladisch Date: Fri Feb 20 09:33:40 2009 +0100 sound: virtuoso: increase minimum volume to -60 dB Use -60 dB as the minimum value of the master volume mixer control. While the DACs would support ranges down to about -120 dB, such attenuations are not useful in practice. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit d91b424d6d7bda0773b6b6b606d48d089c4f5115 Author: Clemens Ladisch Date: Fri Feb 20 09:31:14 2009 +0100 sound: oxygen: handle AK5385 ADC on Claro halo cards The HT-Omega Claro halo's ADC is an AK5385 instead of a WM8785, so we should handle the ADC parameters as we do with the X-Meridian. Using the code for the wrong ADC does not seem to have any audible effects, and the Windows driver does it, but it is nonetheless a good idea to run the AK5385 with an oversampling ratio that is not outside the documented limits. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 08361aa807ae5e5007cd226ca9e34287512de737 Author: Eric Dumazet Date: Fri Feb 20 11:03:33 2009 +0100 netfilter: ip_tables: unfold two critical loops in ip_packet_match() While doing oprofile tests I noticed two loops are not properly unrolled by gcc Using a hand coded unrolled loop provides nice speedup : ipt_do_table credited of 2.52 % of cpu instead of 3.29 % in tbench. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 268cb38e1802db560c73167e643f14a3dcb4b07c Author: Adam Nielsen Date: Fri Feb 20 10:55:14 2009 +0100 netfilter: x_tables: add LED trigger target Kernel module providing implementation of LED netfilter target. Each instance of the target appears as a led-trigger device, which can be associated with one or more LEDs in /sys/class/leds/ Signed-off-by: Adam Nielsen Acked-by: Richard Purdie Signed-off-by: Patrick McHardy commit af07d241dc76f0a52c7ff04df3a3970020fe6157 Author: Hagen Paul Pfeifer Date: Fri Feb 20 10:48:06 2009 +0100 netfilter: fix hardcoded size assumptions get_random_bytes() is sometimes called with a hard coded size assumption of an integer. This could not be true for next centuries. This patch replace it with a compile time statement. Signed-off-by: Hagen Paul Pfeifer Signed-off-by: Patrick McHardy commit e478075c6f07a383c378fb400edc1a7407a941b0 Author: Hagen Paul Pfeifer Date: Fri Feb 20 10:47:09 2009 +0100 netfilter: nf_conntrack: table max size should hold at least table size Table size is defined as unsigned, wheres the table maximum size is defined as a signed integer. The calculation of max is 8 or 4, multiplied the table size. Therefore the max value is aligned to unsigned. Signed-off-by: Hagen Paul Pfeifer Signed-off-by: Patrick McHardy commit 784544739a25c30637397ace5489eeb6e15d7d49 Author: Stephen Hemminger Date: Fri Feb 20 10:35:32 2009 +0100 netfilter: iptables: lock free counters The reader/writer lock in ip_tables is acquired in the critical path of processing packets and is one of the reasons just loading iptables can cause a 20% performance loss. The rwlock serves two functions: 1) it prevents changes to table state (xt_replace) while table is in use. This is now handled by doing rcu on the xt_table. When table is replaced, the new table(s) are put in and the old one table(s) are freed after RCU period. 2) it provides synchronization when accesing the counter values. This is now handled by swapping in new table_info entries for each cpu then summing the old values, and putting the result back onto one cpu. On a busy system it may cause sampling to occur at different times on each cpu, but no packet/byte counts are lost in the process. Signed-off-by: Stephen Hemminger Sucessfully tested on my dual quad core machine too, but iptables only (no ipv6 here) BTW, my new "tbench 8" result is 2450 MB/s, (it was 2150 MB/s not so long ago) Acked-by: Eric Dumazet Signed-off-by: Patrick McHardy commit be0c22a46cfb79ab2342bb28fde99afa94ef868e Author: Pablo Neira Ayuso Date: Wed Feb 18 01:40:43 2009 +0000 netlink: add NETLINK_BROADCAST_ERROR socket option This patch adds NETLINK_BROADCAST_ERROR which is a netlink socket option that the listener can set to make netlink_broadcast() return errors in the delivery to the caller. This option is useful if the caller of netlink_broadcast() do something with the result of the message delivery, like in ctnetlink where it drops a network packet if the event delivery failed, this is used to enable reliable logging and state-synchronization. If this socket option is not set, netlink_broadcast() only reports ESRCH errors and silently ignore ENOBUFS errors, which is what most netlink_broadcast() callers should do. This socket option is based on a suggestion from Patrick McHardy. Patrick McHardy can exchange this patch for a beer from me ;). Signed-off-by: Pablo Neira Ayuso Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d96cf8cdfd625da51e5d237d564cd75d3147547 Author: Santwona Behera Date: Fri Feb 20 00:58:45 2009 -0800 niu: Add TCAM classification configuration Signed-off-by: Santwona Behera Signed-off-by: David S. Miller commit 59089d8d162ddcb5c434672e915331964d38a754 Author: Santwona Behera Date: Fri Feb 20 00:58:13 2009 -0800 ethtool: Add RX pkt classification interface Signed-off-by: Santwona Behera Signed-off-by: David S. Miller commit 3876732c12cd2b9896e8c3e86fad142112e93569 Author: Thomas Klein Date: Fri Feb 20 00:42:01 2009 -0800 ehea: Fix memory hotplug handling Added missing set_bit() to disable data transfer when a memchange notification is handled Signed-off-by: Thomas Klein Signed-off-by: David S. Miller commit 376801172ade1ab80efdd42dba859282400885ed Author: Alexander Duyck Date: Thu Feb 19 20:40:30 2009 -0800 igb: this patch addes the sr-iov enablement option via num_vfs parameter This code adds a module parameter called num_vfs which defines if the driver should attempt to use sr-iov and if so how many VFs should be enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4ae196dfd61d06b061c069edcdd7c73121e60a21 Author: Alexander Duyck Date: Thu Feb 19 20:40:07 2009 -0800 igb: Add support for enabling VFs to PF driver. This patch adds the support to handle requests from the VF to perform operations such as completing resets, setting/reading mac address, adding vlans, adding multicast addresses, setting rlpml, and general communications between the PF and all VFs. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e173952257d7a3d3c64de3039d9fc02d1fbf49c3 Author: Alexander Duyck Date: Thu Feb 19 20:39:44 2009 -0800 igb: add pf side of VMDq support Add the pf portion of vmdq support. This provides enough support so that VMDq is enabled, and the pf is functional without enabling vfs. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1bfaf07bb1d7201d3c6cb984bccd9c2416e19b6c Author: Alexander Duyck Date: Thu Feb 19 20:39:23 2009 -0800 igb: add vfs_allocated_count as placeholder for number of vfs This is the first step in supporting sr-iov. The vf_allocated_count value will be 0 until we actually have vfs present. In the meantime it represents an offset value for the start of the queues. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 46544258de71d7e32342ee71a25146ec6e2e6e47 Author: Alexander Duyck Date: Thu Feb 19 20:39:04 2009 -0800 igb: update napi polling to consolidate function and return correct values igb is currently not returning the correct values for napi. In addition it is doing more work than necessary since it will not exit polling until work_done is equal to zero. This patch makes the following changes: 1. Consolidates msi-x and non-msi polling routines. 2. Corrects return values for polling routines. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 11124411aa95827404d6bfdfc14c908e1b54513c Author: Tejun Heo Date: Fri Feb 20 16:29:09 2009 +0900 x86: convert to the new dynamic percpu allocator Impact: use new dynamic allocator, unified access to static/dynamic percpu memory Convert to the new dynamic percpu allocator. * implement populate_extra_pte() for both 32 and 64 * update setup_per_cpu_areas() to use pcpu_setup_static() * define __addr_to_pcpu_ptr() and __pcpu_ptr_to_addr() * define config HAVE_DYNAMIC_PER_CPU_AREA Signed-off-by: Tejun Heo commit fbf59bc9d74d1fb30b8e0630743aff2806eafcea Author: Tejun Heo Date: Fri Feb 20 16:29:08 2009 +0900 percpu: implement new dynamic percpu allocator Impact: new scalable dynamic percpu allocator which allows dynamic percpu areas to be accessed the same way as static ones Implement scalable dynamic percpu allocator which can be used for both static and dynamic percpu areas. This will allow static and dynamic areas to share faster direct access methods. This feature is optional and enabled only when CONFIG_HAVE_DYNAMIC_PER_CPU_AREA is defined by arch. Please read comment on top of mm/percpu.c for details. Signed-off-by: Tejun Heo Cc: Andrew Morton commit 8fc48985006da4ceba24508db64ec77fc0dfe3bb Author: Tejun Heo Date: Fri Feb 20 16:29:08 2009 +0900 vmalloc: add un/map_kernel_range_noflush() Impact: two more public map/unmap functions Implement map_kernel_range_noflush() and unmap_kernel_range_noflush(). These functions respectively map and unmap address range in kernel VM area but doesn't do any vcache or tlb flushing. These will be used by new percpu allocator. Signed-off-by: Tejun Heo Cc: Nick Piggin commit f0aa6617903648077dffe5cfcf7c4458f4610fa7 Author: Tejun Heo Date: Fri Feb 20 16:29:08 2009 +0900 vmalloc: implement vm_area_register_early() Impact: allow multiple early vm areas There are places where kernel VM area needs to be allocated before vmalloc is initialized. This is done by allocating static vm_struct, initializing several fields and linking it to vmlist and later vmalloc initialization picking up these from vmlist. This is currently done manually and if there's more than one such areas, there's no defined way to arbitrate who gets which address. This patch implements vm_area_register_early(), which takes vm_area struct with flags and size initialized, assigns address to it and puts it on the vmlist. This way, multiple early vm areas can determine which addresses they should use. The only current user - alpha mm init - is converted to use it. Signed-off-by: Tejun Heo commit f2a8205c4ef1af917d175c36a4097ae5587791c8 Author: Tejun Heo Date: Fri Feb 20 16:29:08 2009 +0900 percpu: kill percpu_alloc() and friends Impact: kill unused functions percpu_alloc() and its friends never saw much action. It was supposed to replace the cpu-mask unaware __alloc_percpu() but it never happened and in fact __percpu_alloc_mask() itself never really grew proper up/down handling interface either (no exported interface for populate/depopulate). percpu allocation is about to go through major reimplementation and there's no reason to carry this unused interface around. Replace it with __alloc_percpu() and free_percpu(). Signed-off-by: Tejun Heo commit 313e458f81ec3852106c5a83830fe0d4f405a71a Author: Rusty Russell Date: Fri Feb 20 16:29:08 2009 +0900 alloc_percpu: add align argument to __alloc_percpu. This prepares for a real __alloc_percpu, by adding an alignment argument. Only one place uses __alloc_percpu directly, and that's for a string. tj: af_inet also uses __alloc_percpu(), update it. Signed-off-by: Rusty Russell Cc: Christoph Lameter Cc: Jens Axboe commit b36128c830a8f5bd7d4981f5b0b69950f5928ee6 Author: Rusty Russell Date: Fri Feb 20 16:29:08 2009 +0900 alloc_percpu: change percpu_ptr to per_cpu_ptr Impact: cleanup There are two allocated per-cpu accessor macros with almost identical spelling. The original and far more popular is per_cpu_ptr (44 files), so change over the other 4 files. tj: kill percpu_ptr() and update UP too Signed-off-by: Rusty Russell Cc: mingo@redhat.com Cc: lenb@kernel.org Cc: cpufreq@vger.kernel.org Signed-off-by: Tejun Heo commit 6b588c18f8dacfa6d7957c33c5ff832096e752d3 Author: Tejun Heo Date: Fri Feb 20 16:29:07 2009 +0900 module: reorder module pcpu related functions Impact: cleanup Move percpu_modinit() upwards. This is to ease further changes. Signed-off-by: Tejun Heo commit 734269521e320ad14ed39ae9b64d482b9028dcd2 Author: Tejun Heo Date: Fri Feb 20 16:29:07 2009 +0900 vmalloc: call flush_cache_vunmap() from unmap_kernel_range() Impact: proper vcache flush on unmap_kernel_range() flush_cache_vunmap() should be called before pages are unmapped. Add a call to it in unmap_kernel_range(). Signed-off-by: Tejun Heo commit 42f8faecf7a88371de0f30aebb052d1ae51762c0 Author: Lai Jiangshan Date: Tue Feb 17 11:46:42 2009 +0800 x86: use percpu data for 4k hardirq and softirq stacks Impact: economize memory for large NR_CPUS percpu data is setup earlier than irq, we can use percpu data to economize memory. Signed-off-by: Lai Jiangshan Signed-off-by: Tejun Heo commit f1f5465782a96201798ef1e8167ed3ffaefdb30d Author: Lennert Buytenhek Date: Fri Feb 20 02:32:30 2009 +0100 [ARM] mv78xx0: enable eth2/eth3 on the mv78xx0 A0 development board The A0 revision of the mv78xx0 development board has four ethernet ports, with PHY IDs 8-11, whereas the Z0 version has two, with PHY addresses 8-9. This patch configures the third and fourth ethernet port to use the PHY addresses on the A0 board to enable use of those ports -- if we are running on a Z0 board, the ge10/11 setup code in common.c will force these back to PHYless mode. Signed-off-by: Lennert Buytenhek commit 712424fd95134bf88d27f3885389fe6ab13f34ac Author: Lennert Buytenhek Date: Fri Feb 20 02:31:58 2009 +0100 [ARM] mv78xx0: force eth2/eth3 to PHYless mode on pre-A0 silicon On pre-A0 revisions of the mv78xx0 SoC, the third and fourth ethernet interface are not brought out to pins, but are internally cross-connected, so if we run on pre-A0 silicon, we'll force eth2 and eth3 to PHYless mode. Signed-off-by: Lennert Buytenhek commit cfdeb6376e439c58c2d37de492d2a8c763621022 Author: Lennert Buytenhek Date: Fri Feb 20 02:31:35 2009 +0100 [ARM] mv78xx0: distinguish between different chip steppings During boot, identify which chip stepping we're running on (determined by looking at the first PCIe unit's device ID and revision registers), and print a message with the details about what we found. Signed-off-by: Lennert Buytenhek commit 12f4815b425b26a610e5dd9a5a5e02872f0f52c5 Author: Lennert Buytenhek Date: Tue Feb 10 02:11:43 2009 +0100 [ARM] Kirkwood: enable both XOR engines on the 6281 RD board Signed-off-by: Lennert Buytenhek commit 0100defd2803f6c3df6bfd400a10af0cf9b8536a Author: Nicolas Pitre Date: Fri Jan 30 22:44:20 2009 -0500 [ARM] Kirkwood: MPP initialization code This allows for board support code to set up their MPP config if the bootloader didn't do it all or did it wrong. This also allows to register usable GPIOs. Signed-off-by: Nicolas Pitre commit 28d27cf4ce8378180eda32aa7d8e778c9e72a54f Author: Nicolas Pitre Date: Mon Feb 2 15:27:55 2009 -0500 [ARM] Orion: make gpio /input/output validation separate Especially on Kirkwood, a couple GPIOs are actually only output capable. Let's separate the ability to configure a GPIO as input or output to accommodate this restriction. Signed-off-by: Nicolas Pitre commit 22fc1db12515e1b528570c547fd27e38df792f1f Merge: 402a917... 39008f9... Author: Nicolas Pitre Date: Thu Feb 19 22:16:36 2009 -0500 Merge branch 'for-np' of git://git.wormnet.eu/alex/ts78xx into orion/master commit f6d1826dfad0d15fd14a455facc80b91f2ee642f Author: H. Peter Anvin Date: Thu Feb 19 15:44:58 2009 -0800 x86, mce: use %ll instead of %L for 64-bit numbers Impact: Cleanup The standard spelling of a printf pattern for long long is "ll", not "L", which is for long double. Signed-off-by: H. Peter Anvin commit b79109c3bbcf52cac5103979b283b9e5df4e796c Author: Andi Kleen Date: Thu Feb 12 13:43:23 2009 +0100 x86, mce: separate correct machine check poller and fatal exception handler Impact: cleanup, performance enhancement The machine check poller is diverging more and more from the fatal exception handler. Instead of adding more special cases separate the code paths completely. The corrected poll path is actually quite simple, and this doesn't result in much code duplication. This makes both handlers much easier to read and results in cleaner code flow. The exception handler now only needs to care about uncorrected errors, which also simplifies the handling of multiple errors. The corrected poller also now always runs in standard interrupt context and does not need to do anything special to handle NMI context. Minor behaviour changes: - MCG status is now not cleared on polling. - Only the banks which had corrected errors get cleared on polling - The exception handler only clears banks with errors now v2: Forward port to new patch order. Add "uc" argument. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit b5f2fa4ea00a179ac1c2ff342ceeee261dd75e53 Author: Andi Kleen Date: Thu Feb 12 13:43:22 2009 +0100 x86, mce: factor out duplicated struct mce setup into one function Impact: cleanup This merely factors out duplicated code to set up the initial struct mce state into a single function. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 0d7482e3d76522157c9d741d79fce22c401fa0c5 Author: Andi Kleen Date: Tue Feb 17 23:07:13 2009 +0100 x86, mce: implement dynamic machine check banks support Impact: cleanup; making code future proof; memory saving on small systems This patch replaces the hardcoded max number of machine check banks with dynamic allocation depending on what the CPU reports. The sysfs data structures and the banks array are dynamically allocated. There is still a hard bank limit (128) because the mcelog protocol uses banks >= 128 as pseudo banks to escape other events. But we expect that 128 banks is beyond any reasonable CPU for now. This supersedes an earlier patch by Venki, but it solves the problem more completely by making the limit fully dynamic (up to the 128 boundary). This saves some memory on machines with less than 6 banks because they won't need sysdevs for unused ones and also allows to use sysfs to control these banks on possible future CPUs with more than 6 banks. This is an updated patch addressing Venki's comments. I also added in another patch from Thomas which fixed the error allocation path (that patch was previously separated) Cc: Venki Pallipadi Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit e35849e910a6543d37c0d13648ef166678d03565 Author: Andi Kleen Date: Thu Feb 12 13:43:20 2009 +0100 x86, mce: enable machine checks in 64-bit defconfig Impact: Low priority fix The 32-bit defconfig already had it enabled. And it's a pretty fundamental feature, so better enable it on 64 bits too. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 3c842138c0cf313e906538b89d88ba0d969ce747 Author: Breno Leitao Date: Thu Feb 19 14:38:52 2009 -0800 e1000: Removing the unused macro PAGE_USE_COUNT() Removing the unused macro PAGE_USE_COUNT(), since there is no more reference to it. The last reference was removed by Jesse's commit number 630b25cdf4e3f8c0a11eb04fc8436cc36653cd58. Signed-off-by: Breno Leitao Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit ab76f3d771590d5c89faa3219559c5d3fc0ce0c2 Author: Alain Knaff Date: Thu Feb 19 13:43:51 2009 -0800 bzip2/lzma: make internal initramfs compression configurable Impact: Avoids silent environment dependency Make builtin initramfs compression an explicit configurable. The previous version would pick a compression based on the binaries which were installed on the system, which could lead to unexpected results. It is now explicitly configured, and not having the appropriate binaries installed on the build host is simply an error. Signed-off-by: Alain Knaff Signed-off-by: H. Peter Anvin commit ab59d3b70f7a47987f80e153d828363faec643fe Author: Alain Knaff Date: Thu Feb 19 13:39:21 2009 -0800 bzip2/lzma: don't leave empty files around on failure Impact: Bugfix, silent build failures Fix a bug in gen_initramfs_list.sh: in case of failure, it left an empty output file behind, messing up the next make. Signed-off-by: Alain Knaff Signed-off-by: H. Peter Anvin commit e4aa7ca5a2e6d44f07ceb87d9448113f5b48a334 Author: Alain Knaff Date: Thu Feb 19 13:36:55 2009 -0800 bzip2/lzma: don't stop search at first unconfigured compression Impact: Bugfix, avoids kernels which build but panic on boot Fix a bug in decompress.c : only scanned until the first non-configured compressor (with disastrous result especially if that was gzip.) Signed-off-by: Alain Knaff Signed-off-by: H. Peter Anvin commit c0bf31320dea2cbcbab1f53ee15a8520f762409b Author: Russell King Date: Thu Feb 19 13:29:22 2009 +0000 [ARM] omap: add support for bypassing DPLLs This roughly corresponds with OMAP commits: 7d06c48, 3241b19, 88b5d9b, 18a5500, 9c909ac, 5c6497b, 8b1f0bd, 2ac1da8. For both OMAP2 and OMAP3, we note the reference and bypass clocks in the DPLL data structure. Whenever we modify the DPLL rate, we first ensure that both the reference and bypass clocks are enabled. Then, we decide whether to use the reference and DPLL, or the bypass clock if the desired rate is identical to the bypass rate, and program the DPLL appropriately. Finally, we update the clock's parent, and then disable the unused clocks. This keeps the parents correctly balanced, and more importantly ensures that the bypass clock is running whenever we reprogram the DPLL. This is especially important because the procedure for reprogramming the DPLL involves switching to the bypass clock. Signed-off-by: Russell King commit e9ce0c37c2cb203a4fa6a350108199da0cad5a17 Merge: a7eb518... 8960f8c... Author: Ingo Molnar Date: Thu Feb 19 18:15:01 2009 +0100 Merge branch 'x86/untangle2' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/headers commit cb425afd2183e90a481bb211ff49361a117a3ecc Author: Cyrill Gorcunov Date: Sat Feb 14 00:50:23 2009 +0300 x86: compressed head_32 - use ENTRY,ENDPROC macros Impact: clenaup Linker script will put startup_32 at predefined address so using startup_32 will not bloat the code size. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 2d4eeecb98ade6a736940d43311275b7d32dab21 Author: Cyrill Gorcunov Date: Sat Feb 14 00:50:22 2009 +0300 x86: compressed head_64 - use ENTRY,ENDPROC macros Impact: clenaup Linker script will put startup_32 at predefined address so using ENTRY will not bloat the code size. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 324bda9e47f53aebec1376ee89bba8128c8455e2 Author: Cyrill Gorcunov Date: Sat Feb 14 00:50:21 2009 +0300 x86: pmjump - use GLOBAL,ENDPROC macros Impact: cleanup We are in setup stage so we use GLOBAL instead of ENTRY and do not increase code size. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 2f7955509710fd378a1ac96e19d29d5a0e3301fd Author: Cyrill Gorcunov Date: Sat Feb 14 00:50:20 2009 +0300 x86: copy.S - use GLOBAL,ENDPROC macros Impact: cleanup Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 1b25f3b4e18d1acffeb41258a18f13db71da9a7a Author: Cyrill Gorcunov Date: Sat Feb 14 00:50:19 2009 +0300 x86: linkage - get rid of _X86 macros Impact: cleanup There was an attempt to bring build-time checking for missed ENTRY_X86/END_X86 and KPROBE... pairs. Using them will add messy in code. Get just rid of them. This commit could be easily restored if the need appear in future. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 95695547a7db44b88a7ee36cf5df188de267e99e Author: Cyrill Gorcunov Date: Sat Feb 14 00:50:18 2009 +0300 x86: asm linkage - introduce GLOBAL macro If the code is time critical and this entry is called from other places we use ENTRY to have it globally defined and especially aligned. Contrary we have some snippets which are size critical. So we use plane ".globl name; name:" directive. Introduce GLOBAL macro for this. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit ce3bdaa8710c10eec5a6dae67aaf73088d0ced4f Author: Mark Brown Date: Thu Feb 19 14:29:49 2009 +0000 ASoC: Disable WM8731 line bypass by default This avoids temporarily enabling the ouput stages during startup which can cause audible effets in the output stages. Reported-by: Fredrik Redgård Signed-off-by: Mark Brown commit 00a8bf859331e349713274825e6fbf20bf2ac15a Author: Ingo Molnar Date: Thu Feb 19 13:01:37 2009 +0100 tracing/function-graph-tracer: fix merge Merge artifact: pid got changed to ent->pid meanwhile. Signed-off-by: Ingo Molnar commit 5752674e140db5bce08c6bc60021a9bc3b960800 Author: Ingo Molnar Date: Thu Feb 19 12:54:10 2009 +0100 Documentation/ftrace.txt: update - fix typos/grammos and clarify the text - prettify the document some more Cc: Frederic Weisbecker Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit 985ec20ad531f2641ab9d5193e37891fe959fc7d Author: Frederic Weisbecker Date: Wed Feb 18 06:35:34 2009 +0100 tracing/function-graph-tracer: provide documentation for the function graph tracer Update documentation for the function graph tracer. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Signed-off-by: Ingo Molnar commit d1f9cbd78841f1a797c77e9117e4882f932c2ef6 Author: Frederic Weisbecker Date: Wed Feb 18 04:25:25 2009 +0100 tracing/function-graph-tracer: fix traces weirdness while absolute time printing Impact: trace output cleanup/reordering When an interrupt occurs and and the abstime option is selected: echo funcgraph-abstime > /debug/tracing/trace_options then we observe broken traces: 30581.025422 | 0) Xorg-4291 | 0.503 us | idle_cpu(); 30581.025424 | 0) Xorg-4291 | 2.576 us | } 30581.025424 | 0) Xorg-4291 | + 75.771 us | } 0) Xorg-4291 | <========== | 30581.025425 | 0) Xorg-4291 | | schedule() { 30581.025426 | 0) Xorg-4291 | | __schedule() { 30581.025426 | 0) Xorg-4291 | 0.705 us | _spin_lock_irq(); With this patch, the interrupts output better adapts to absolute time printing: 414.856543 | 1) Xorg-4279 | 8.816 us | } 414.856544 | 1) Xorg-4279 | 0.525 us | rcu_irq_exit(); 414.856545 | 1) Xorg-4279 | 0.526 us | idle_cpu(); 414.856546 | 1) Xorg-4279 | + 12.157 us | } 414.856549 | 1) Xorg-4279 | ! 104.114 us | } 414.856549 | 1) Xorg-4279 | <========== | 414.856549 | 1) Xorg-4279 | ! 107.944 us | } 414.856550 | 1) Xorg-4279 | ! 137.010 us | } 414.856551 | 1) Xorg-4279 | 0.624 us | _read_unlock(); 414.856552 | 1) Xorg-4279 | ! 140.930 us | } 414.856552 | 1) Xorg-4279 | ! 166.159 us | } Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 7db21712aeb7c9693f7bc554923b35c35303a067 Author: Catalin Marinas Date: Thu Feb 12 16:00:21 2009 +0100 [ARM] 5397/1: RealView: Add support for the ISP1761 USB chip This patch adds the platform_device and resource structures for the USB ISP1761 chip, usable with the in-kernel isp1760 driver. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 6be62ba215059258b68072d4553f765f9b34f3d1 Author: Catalin Marinas Date: Thu Feb 12 15:59:21 2009 +0100 [ARM] 5396/1: RealView: Use PATA_PLATFORM to access the CompactFlash This driver adds the platform_device definitions to allow the use of CompactFlash on the RealView PB11MPCore and PB-A8 platforms. Note that the CompactFlash controller is expected to be initialised by the Boot Monitor and support the True IDE mode. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 533ad5e60c0a5ff3cef7583b5b1b0eee84c2bda6 Author: Catalin Marinas Date: Thu Feb 12 15:58:20 2009 +0100 [ARM] 5395/1: RealView: Add support for the DS1338 RTC chip This chip is on the I2C bus on the RealView and Versatile boards. The patch adds the i2c_board_info definition for this device and registers it with the I2C subsystem. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 2514cca06be9dc7ae12908085ebaf0ef49e6d8ae Author: Catalin Marinas Date: Thu Feb 12 15:57:20 2009 +0100 [ARM] 5394/1: Add static bus numbering support to i2c-versatile If dev->id is not -1, the platform code may use static bus numbering rather than dynamic. The patch also changes the i2c_versatile_init to a subsys_initcall rather than module_init to make sure it is initialised before the I2C devices initialisation. Signed-off-by: Catalin Marinas Acked-by: Jean Delvare Signed-off-by: Russell King commit eab184c2362567f2b2e951b7bd0e0d353a7e5091 Author: Alexander Schulz Date: Thu Jan 8 18:05:58 2009 +0100 [ARM] 5363/1: Shark cleanup and new defconfig This includes a new defconfig for the Shark and some changes to the mach-shark directory to avoid namespace pollution and to switch the rtc to the newer driver. Signed-off-by: Alexander Schulz Signed-off-by: Russell King commit 60f793de891ea06fa870546336a88df543ec56ae Author: Daniel Silverstone Date: Tue Feb 10 13:40:38 2009 +0100 [ARM] 5377/1: S3C2410-Framebuffer: Fix resume path in S3C2410 framebuffer driver. Ensure that the LCD engine is correctly re-initialised and the correct parameters passed ot s3c2410fb_init_registers. Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1144d6535fdea5133875dab4a0be5515ae5cb681 Author: Daniel Silverstone Date: Tue Feb 10 13:39:52 2009 +0100 [ARM] 5376/1: S3C24XX: Fix sparse errors in platform uncompress.h Ensure __iomem attribute is __force 'd off in the minimal __raw_writel() implementation. Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks Signed-off-by: Russell King commit adf8b37bafc1495393201a2ae4235846371870d0 Author: Catalin Marinas Date: Thu Feb 12 13:56:34 2009 +0100 [ARM] 5386/2: unwind: Add Makefile and Kconfig entries for ARM stack unwinding This patch also makes the frame pointer default to y only if !ARM_UNWIND. LOCKDEP no longer selects FRAME_POINTER if ARM_UNWIND is enabled. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c4c5716e16c4ee971dec446a7e4801fbb8a1066b Author: Catalin Marinas Date: Mon Feb 16 11:42:09 2009 +0100 [ARM] 5385/2: unwind: Add unwinding information to exception entry points This is needed to allow or stop the unwinding at certain points in the kernel like exception entries. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 2e1926e7b5d39eb31880152d636e8d8d011888cb Author: Catalin Marinas Date: Wed Feb 11 13:09:54 2009 +0100 [ARM] 5384/1: unwind: Add stack unwinding support for loadable modules This patch adds ELF section parsing for the unwinding tables in loadable modules together with the PREL31 relocation symbol resolving. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit bff595c15c92b9c5c8f3d32edefcef6c3cbdd59f Author: Catalin Marinas Date: Mon Feb 16 11:41:36 2009 +0100 [ARM] 5383/2: unwind: Add core support for ARM stack unwinding This patch adds the main functionality for parsing the stack unwinding information generated by the ARM EABI toolchains. The unwinding information consists of an index with a pair of words per function and a table with unwinding instructions. For more information, see "Exception Handling ABI for the ARM Architecture" at: http://infocenter.arm.com/help/topic/com.arm.doc.subset.swdev.abi/index.html Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 71d8f9784a99991a7571dd20226f5f450dda7f34 Author: Hiroshi Shimamoto Date: Wed Feb 18 11:07:52 2009 -0800 x86: syscalls.h: remove asmlinkage from declaration of sys_rt_sigreturn() Impact: cleanup asmlinkage for sys_rt_sigreturn() no longer exists in arch/x86/kernel/signal.c. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 4cd0332db7e8f57cc082bab11d82c064a9721737 Merge: 4099909... 712406a... Author: Ingo Molnar Date: Thu Feb 19 12:13:33 2009 +0100 Merge branch 'mainline/function-graph' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/function-graph-tracer commit 323dbf96382f057d035afce0237f08e18571ac1d Author: Eric Dumazet Date: Thu Feb 19 11:18:23 2009 +0100 netfilter: ip6_tables: unfold two loops in ip6_packet_match() ip6_tables netfilter module can use an ifname_compare() helper so that two loops are unfolded. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit eacc17fb64f03b6c268aaf6cea320100d19d8af5 Author: Eric Dumazet Date: Thu Feb 19 11:17:17 2009 +0100 netfilter: xt_physdev: unfold two loops in physdev_mt() xt_physdev netfilter module can use an ifname_compare() helper so that two loops are unfolded. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 4323362e49bd10b8ff3fe5cf183fdd52662ff4a3 Author: Jan Engelhardt Date: Thu Feb 19 11:16:03 2009 +0100 netfilter: xtables: add backward-compat options Concern has been expressed about the changing Kconfig options. Provide the old options that forward-select. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit eca985d28e1a8092ba2686ec5485fd688df5cfb3 Author: Krzysztof Helt Date: Wed Feb 18 19:07:18 2009 +0100 sound: Remove documentation for OSS CS4232 driver There is no OSS cs4232 driver in the kernel any more and this documentation does not contain any info useful for ALSA driver. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 1275d6f608abda23d101ada17dc39940192d4bc4 Author: Clemens Ladisch Date: Thu Feb 19 08:44:12 2009 +0100 sound: oxygen: automatically restore overwritten EEPROM If the EEPROM was partially overwritten (which seems to happen before the OS is booted), restore its entire contents by deducing it from the remaining information. This does not have any effect on the Linux driver, which works even with incomplete information in the EEPROM, but it makes other drivers work again. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 30459d7b1843cbdea56ca120c8cac10dc5613e90 Author: Clemens Ladisch Date: Thu Feb 19 08:42:44 2009 +0100 sound: oxygen: handle cards with broken EEPROM Under as yet unknown circumstances, the first word of the sound card's EEPROM gets overwritten. When this has happened, we cannot rely on the subsystem IDs that the kernel reads from the PCI configuration registers. Instead, we read the IDs directly from the EEPROM and do the ID matching manually. Because the model-specific driver cannot determine the model before calling oxygen_pci_probe(), that function now gets a get_model() callback as parameter. The customizing of the model structure, which was formerly done by the probe() callback, also has moved into get_model(). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a69bb3c3fe0881d986ec78e253cb8a6bb9c28230 Author: Clemens Ladisch Date: Thu Feb 19 08:38:55 2009 +0100 sound: oxygen: use static driver name When allocating resources, use a fixed name instead of reading it from the model structure. This allows us to allocate the resources before the actual model is known. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 6ed91157093c60e26bf0215b752f07af52935afc Author: Clemens Ladisch Date: Thu Feb 19 08:38:25 2009 +0100 sound: oxygen: allocate model_data dynamically Allocate the model-specific data dynamically instead of including it in the memory block of the card structure. This will allow us to determine the actual model after the card creation. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit bb71858853a5c9616eea98512f4075d4f081154d Author: Clemens Ladisch Date: Thu Feb 19 08:37:13 2009 +0100 sound: oxygen: make the owner module a parameter of the probe function Move the owner field out of the oxygen_model structure and make it a parameter of oxygen_pci_probe(), because the actual owner module does not depend on the card model. Furthermore, moving it out of the model structure allows us to create the card structure before the actual model is known. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a5e0e970c06065a14844b406a0c2a59776a1ccc6 Merge: 6ce6c47... b1a0aac... Author: Takashi Iwai Date: Thu Feb 19 10:22:14 2009 +0100 Merge branch 'topic/snd_card_new-err' into topic/oxygen commit 40999096e8b9872199bf56ecd0c4d98397ccaf2f Merge: 72c26c9... fa7c7f6... ed4a2f3... Author: Ingo Molnar Date: Thu Feb 19 10:20:17 2009 +0100 Merge branches 'tracing/blktrace', 'tracing/ftrace' and 'tracing/urgent' into tracing/core commit de5483029b8f18e23395d8fd4f4ef6ae15beb809 Author: Jaswinder Singh Rajput Date: Thu Feb 19 12:20:17 2009 +0530 x86: include/asm/processor.h remove double declaration of print_cpu_info Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit fdcedf7b75808dd72c3cc0b931be11b04d75c60a Author: john stultz Date: Wed Feb 18 16:02:22 2009 -0800 time: apply NTP frequency/tick changes immediately Since the GENERIC_TIME changes landed, the adjtimex behavior changed for struct timex.tick and .freq changed. When the tick or freq value is set, we adjust the tick_length_base in ntp_update_frequency(). However, this new value doesn't get applied to tick_length until the next second (via second_overflow). This means some applications that do quick time tweaking do not see the requested change made as quickly as expected. I've run a few tests with this change, and ntpd still functions fine. Signed-off-by: John Stultz Signed-off-by: Ingo Molnar commit 72c26c9a26ea7f2f3d14f162c2ebb07805f724ea Merge: 37bd824... ba95fd4... Author: Ingo Molnar Date: Thu Feb 19 09:00:35 2009 +0100 Merge branch 'linus' into tracing/blktrace Conflicts: block/blktrace.c Semantic merge: kernel/trace/blktrace.c Signed-off-by: Ingo Molnar commit 7e0e44d430281d398769f1d7864e161203252760 Author: Takashi Iwai Date: Thu Feb 19 08:15:49 2009 +0100 ALSA: hda - Add digital-only mode for ALC268 ALC268 can be configured as digital-only, e.g. for HDMI, on some machines. Allow the parser to set up the digital-only mode. Signed-off-by: Takashi Iwai commit ab9fec099b796b002b6996c4c5845167d8fe6dbd Author: Takashi Iwai Date: Thu Feb 19 08:13:26 2009 +0100 ALSA: hda - Avoid doubly beep attachment in patch_alc268() Remove the doubly attachment in patch_alc268(). The input beep is attached conditionally only when needed. Signed-off-by: Takashi Iwai commit 07eba61dd68678e30b24b4776f59798f625e089d Author: Takashi Iwai Date: Thu Feb 19 08:06:35 2009 +0100 ALSA: hda - Don't enable beep for digital-only ALC262 When ALC262 codec is configured as digital-only, it's meaningless to add the digital beep input. Signed-off-by: Takashi Iwai commit 0a2e821d627ad5ced23cf31137625b81cc205e0f Author: Huang Ying Date: Thu Feb 19 14:44:02 2009 +0800 crypto: chainiv - Use kcrypto_wq instead of keventd_wq keventd_wq has potential starvation problem, so use dedicated kcrypto_wq instead. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 254eff771441f4ee7aa9cf770a6e4820492c9dab Author: Huang Ying Date: Thu Feb 19 14:42:19 2009 +0800 crypto: cryptd - Per-CPU thread implementation based on kcrypto_wq Original cryptd thread implementation has scalability issue, this patch solve the issue with a per-CPU thread implementation. struct cryptd_queue is defined to be a per-CPU queue, which holds one struct cryptd_cpu_queue for each CPU. In struct cryptd_cpu_queue, a struct crypto_queue holds all requests for the CPU, a struct work_struct is used to run all requests for the CPU. Testing based on dm-crypt on an Intel Core 2 E6400 (two cores) machine shows 19.2% performance gain. The testing script is as follow: -------------------- script begin --------------------------- #!/bin/sh dmc_create() { # Create a crypt device using dmsetup dmsetup create $2 --table "0 `blockdev --getsize $1` crypt cbc(aes-asm)?cryptd?plain:plain babebabebabebabebabebabebabebabe 0 $1 0" } dmsetup remove crypt0 dmsetup remove crypt1 dd if=/dev/zero of=/dev/ram0 bs=1M count=4 >& /dev/null dd if=/dev/zero of=/dev/ram1 bs=1M count=4 >& /dev/null dmc_create /dev/ram0 crypt0 dmc_create /dev/ram1 crypt1 cat >tr.sh <& /dev/null & dd if=/dev/dm-1 of=/dev/null >& /dev/null & done wait EOF for n in $(seq 10); do /usr/bin/time sh tr.sh done rm tr.sh -------------------- script end --------------------------- The separator of dm-crypt parameter is changed from "-" to "?", because "-" is used in some cipher driver name too, and cryptds need to specify cipher driver name instead of cipher name. The test result on an Intel Core2 E6400 (two cores) is as follow: without patch: -----------------wo begin -------------------------- 0.04user 0.38system 0:00.39elapsed 107%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6566minor)pagefaults 0swaps 0.07user 0.35system 0:00.35elapsed 121%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6567minor)pagefaults 0swaps 0.06user 0.34system 0:00.30elapsed 135%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6562minor)pagefaults 0swaps 0.05user 0.37system 0:00.36elapsed 119%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6607minor)pagefaults 0swaps 0.06user 0.36system 0:00.35elapsed 120%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6562minor)pagefaults 0swaps 0.05user 0.37system 0:00.31elapsed 136%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6594minor)pagefaults 0swaps 0.04user 0.34system 0:00.30elapsed 126%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6597minor)pagefaults 0swaps 0.06user 0.32system 0:00.31elapsed 125%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6571minor)pagefaults 0swaps 0.06user 0.34system 0:00.31elapsed 134%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6581minor)pagefaults 0swaps 0.05user 0.38system 0:00.31elapsed 138%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6600minor)pagefaults 0swaps -----------------wo end -------------------------- with patch: ------------------w begin -------------------------- 0.02user 0.31system 0:00.24elapsed 141%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6554minor)pagefaults 0swaps 0.05user 0.34system 0:00.31elapsed 127%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6606minor)pagefaults 0swaps 0.07user 0.33system 0:00.26elapsed 155%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6559minor)pagefaults 0swaps 0.07user 0.32system 0:00.26elapsed 151%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6562minor)pagefaults 0swaps 0.05user 0.34system 0:00.26elapsed 150%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6603minor)pagefaults 0swaps 0.03user 0.36system 0:00.31elapsed 124%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6562minor)pagefaults 0swaps 0.04user 0.35system 0:00.26elapsed 147%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6586minor)pagefaults 0swaps 0.03user 0.37system 0:00.27elapsed 146%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6562minor)pagefaults 0swaps 0.04user 0.36system 0:00.26elapsed 154%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6594minor)pagefaults 0swaps 0.04user 0.35system 0:00.26elapsed 154%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+6557minor)pagefaults 0swaps ------------------w end -------------------------- The middle value of elapsed time is: wo cryptwq: 0.31 w cryptwq: 0.26 The performance gain is about (0.31-0.26)/0.26 = 0.192. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 25c38d3fb92fc23af7730a1601bc20af8216ae44 Author: Huang Ying Date: Thu Feb 19 14:33:40 2009 +0800 crypto: api - Use dedicated workqueue for crypto subsystem Use dedicated workqueue for crypto subsystem A dedicated workqueue named kcrypto_wq is created to be used by crypto subsystem. The system shared keventd_wq is not suitable for encryption/decryption, because of potential starvation problem. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 251a2a958b0455d11b711aeeb57cabad66259461 Author: Randy Dunlap Date: Wed Feb 18 11:42:33 2009 -0800 smack: fix lots of kernel-doc notation Fix/add kernel-doc notation and fix typos in security/smack/. Signed-off-by: Randy Dunlap Acked-by: Casey Schaufler Signed-off-by: James Morris commit 9107584ecdda31981557034cccf5185afced3e0e Author: Hannes Eder Date: Wed Feb 18 19:36:04 2009 -0800 drivers/net/igb: fix sparse warning: symbol shadows an earlier one Impact: Move variable declaration as far inner as possible. Fix this sparse warning: drivers/net/igb/igb_main.c:1895:21: warning: symbol 'j' shadows an earlier one drivers/net/igb/igb_main.c:1855:16: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit ca1ada8861f22db37530594615b635d3dd1bde82 Author: Roel Kluin Date: Wed Feb 18 19:35:17 2009 -0800 atm: Add missing parentheses Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit fcf495b415c5b7611768f54ee931ca165289c8e3 Author: Jesse Brandeburg Date: Wed Feb 18 19:33:54 2009 -0800 e1000e: remove workaround for e1000 hardware During the move of support for PCIe devices from e1000 to e1000e, this workaround necessary only for older non-PCIe devices was mistakenly copied into e1000e. Remove it. Signed-off-by: Jesse Brandeburg Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5fbbcb79e5371d99565826a352c1003d0f1f0678 Author: Jeff Kirsher Date: Wed Feb 18 17:56:25 2009 -0800 igb: remove LRO Kconfig option To match ixgbe GRO functionality, we remove the LRO (which is now GRO) Kconfig option which enables GRO by default. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e88721f87d8caa679e62d6004a9a5661f1ac7b0e Author: Krishna Kumar Date: Wed Feb 18 17:55:02 2009 -0800 net: Optimize skb_tx_hash() by eliminating a comparison Optimize skb_tx_hash() by eliminating a comparison that executes for every packet. skb_tx_hashrnd initialization is moved to a later part of the startup sequence, namely after the "random" driver is initialized. Rebooted the system three times and verified that the code generates different random numbers each time. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 38bb045d493cc166920834087acd934dedc1b5d5 Author: Constantin Baranov Date: Wed Feb 18 17:53:20 2009 -0800 niu: improve ethtool support for gigabit copper cards Introduced support for link speed and duplex setting (ethtool -s), link advertising parameters and autonegotiation (ethtool -r): - struct niu_link_config: split advertising and autoneg fields into active and target values (similar to speed and duplex fields) - mii_init_common(): rewrite function to actually apply requested niu_link_config parameters instead of providing default initialization - link_status_1g(): move parsing of MII registers into new link_status_mii() function (link_status_1g_rgmii() could possibly use this new implementation too) - introduce simple nway_reset method - fix incorrect XMAC_CONFIG_MODE selection for 10Mbps case Signed-off-by: Constantin Baranov Signed-off-by: David S. Miller commit e0d8496a66de9eca13a88d93a5642db47e5a2b60 Author: Constantin Baranov Date: Wed Feb 18 17:52:41 2009 -0800 niu: fix PHY template choice for 10G copper Fixed a typo in niu_determine_phy_disposition() which resulted in phy_template_1g_copper being selected for 10G/copper configuration. Signed-off-by: Constantin Baranov Signed-off-by: David S. Miller commit ff2ef9021ea16188dbb355707fd31f6cf1a42ef7 Author: Hannes Eder Date: Wed Feb 18 17:49:50 2009 -0800 drivers/net/sfc: fix sparse warnings: Should it be static? Impact: Include the header file. If CONFIG_SFC_MTD is not defined then the functions 'efx_mtd_remove' and 'efx_mtd_rename' are defined 'static inline' with an empty function body in the header file, but the the whole file mtd.c is not built in this case. Fix this sparse warnings: drivers/net/sfc/mtd.c:204:6: warning: symbol 'efx_mtd_remove' was not declared. Should it be static? drivers/net/sfc/mtd.c:221:6: warning: symbol 'efx_mtd_rename' was not declared. Should it be static? drivers/net/sfc/mtd.c:230:5: warning: symbol 'efx_mtd_probe' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 3a011a171906a3a51a43bb860fb7c66a64cab140 Author: Felix Blyakher Date: Wed Feb 18 15:56:51 2009 -0600 Revert "[XFS] remove old vmap cache" This reverts commit d2859751cd0bf586941ffa7308635a293f943c17. This commit caused regression. We'll try to fix use of new vmap API for next release. Signed-off-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit cf7dab801796b9ee52a6dc99888a66bf476538ec Author: Felix Blyakher Date: Wed Feb 18 15:41:28 2009 -0600 Revert "[XFS] use scalable vmap API" This reverts commit 95f8e302c04c0b0c6de35ab399a5551605eeb006. This commit caused regression. We'll try to fix use of new vmap API for next release. Signed-off-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 01234f3c87fff1d83adef8a70fdc18f27d67d75c Merge: 8aa4349... 5955c7a... Author: Felix Blyakher Date: Wed Feb 18 15:35:05 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit c6f2981170272cce2c192087a16dd74dbde25ed2 Author: Mark Brown Date: Wed Feb 18 21:25:40 2009 +0000 ASoC: Add device init/exit annotations to new-style Wolfson CODEC drivers Signed-off-by: Mark Brown commit 519cf2df5fb50c6d24412b2421ce2d1ff0346163 Author: Mark Brown Date: Wed Feb 18 21:06:01 2009 +0000 ASoC: Check for errors when writing WM8731 reset register Signed-off-by: Mark Brown commit 712406a6bf59ebf4a00358bb59a4a2a1b2953d90 Author: Steven Rostedt Date: Mon Feb 9 10:54:03 2009 -0800 tracing/function-graph-tracer: make arch generic push pop functions There is nothing really arch specific of the push and pop functions used by the function graph tracer. This patch moves them to generic code. Acked-by: Frederic Weisbecker Acked-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 74019224ac34b044b44a31dd89a54e3477db4896 Author: Ingo Molnar Date: Wed Feb 18 12:23:29 2009 +0100 timers: add mod_timer_pending() Impact: new timer API Based on an idea from Martin Josefsson with the help of Patrick McHardy and Stephen Hemminger: introduce the mod_timer_pending() API which is a mod_timer() offspring that is an invariant on already removed timers. (regular mod_timer() re-activates non-pending timers.) This is useful for the networking code in that it can allow unserialized mod_timer_pending() timer-forwarding calls, but a single del_timer*() will stop the timer from being reactivated again. Also while at it: - optimize the regular mod_timer() path some more, the timer-stat and a debug check was needlessly duplicated in __mod_timer(). - make the exports come straight after the function, as most other exports in timer.c already did. - eliminate __mod_timer() as an external API, change the users to mod_timer(). The regular mod_timer() code path is not impacted significantly, due to inlining optimizations and due to the simplifications. Based-on-patch-from: Stephen Hemminger Acked-by: Stephen Hemminger Cc: "David S. Miller" Cc: Patrick McHardy Cc: netdev@vger.kernel.org Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 4f1c3b7e7ee4d841c8af3a074dc361d6a7a77803 Author: Eric Dumazet Date: Wed Feb 18 19:11:39 2009 +0100 netfilter: xt_physdev fixes 1) physdev_mt() incorrectly assumes nulldevname[] is aligned on an int 2) It also uses word comparisons, while it could use long word ones. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit cfac5ef7b92a2d504563989ecd0beb563920444b Author: Jan Engelhardt Date: Wed Feb 18 18:39:31 2009 +0100 netfilter: Combine ipt_ttl and ip6t_hl source Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 563d36eb3fb22dd04da9aa6f12e1b9ba0ac115f3 Author: Jan Engelhardt Date: Wed Feb 18 18:38:40 2009 +0100 netfilter: Combine ipt_TTL and ip6t_HL source Suggested by: James King Similarly to commit c9fd49680954714473d6cbd2546d6ff120f96840, merge TTL and HL. Since HL does not depend on any IPv6-specific function, no new module dependencies would arise. With slight adjustments to the Kconfig help text. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 6bab83fd886564e96abcff62862732159535f600 Author: Peter Ujfalusi Date: Wed Feb 18 14:39:05 2009 +0200 ASoC: TWL4030: Add digital loopback support This patch adds the digital loopback/bypass support for twl4030 codec. The digital loopback will let the digimic0 (routed in the TX1 capture path inside of TWL4030) data to be routed back to the RX2 playback path (I2S stereo). It can also route the analog capture date routed through the TX1 back to RX2. Effectively the digital loopback is routing the audio from the TX1 capture path to the RX2 playback path. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit ddc214c43a923e89741e04da2f10e3037a64e222 Author: Eric Dumazet Date: Wed Feb 18 17:47:50 2009 +0100 netfilter: arp_tables: unfold two critical loops in arp_packet_match() x86 and powerpc can perform long word accesses in an efficient maner. We can use this to unroll two loops in arp_packet_match(), to perform arithmetic on long words instead of bytes. This is a win on x86_64 for example. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 55df4ac0c927c7f1f84e6d75532f0ca45d391e64 Author: Eric Leblond Date: Wed Feb 18 16:30:56 2009 +0100 netfilter: log invalid new icmpv6 packet with nf_log_packet() This patch adds a logging message for invalid new icmpv6 packet. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 842bff366b536787b88c07cbf2416e2cb26cae67 Author: Stephen Hemminger Date: Wed Feb 18 16:30:38 2009 +0100 netfilter: ebtables: remove unneeded initializations The initialization of the lock element is not needed since the lock is always initialized in ebt_register_table. Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy commit 9c8222b9e71b690c8388bb0ebe5c3e5a1469e884 Author: Stephen Hemminger Date: Wed Feb 18 16:30:20 2009 +0100 netfilter: x_tables: remove unneeded initializations Later patches change the locking on xt_table and the initialization of the lock element is not needed since the lock is always initialized in xt_table_register anyway. Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy commit 4a2f965ca5a4e2593744bf75425d85e0e8ff814a Author: Stephen Hemminger Date: Wed Feb 18 16:29:44 2009 +0100 netfilter: x_tables: change elements in x_tables Change to proper type on private pointer rather than anonymous void. Keep active elements on same cache line. Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy commit fecea3a389c89de9afae2eda74fad894d5677229 Author: Jan Engelhardt Date: Wed Feb 18 16:29:08 2009 +0100 netfilter: remove unneeded goto Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit fe2a7ce4de07472ace0cdf460a41f462a4621687 Author: Christoph Paasch Date: Wed Feb 18 16:28:35 2009 +0100 netfilter: change generic l4 protocol number 0 is used by Hop-by-hop header and so this may cause confusion. 255 is stated as 'Reserved' by IANA. Signed-off-by: Christoph Paasch Signed-off-by: Patrick McHardy commit 93b760b7072ca6972c15c798e97af3f830d8bbba Author: Mark Brown Date: Wed Feb 18 12:44:40 2009 +0000 ASoC: Implement SPI device unregistration for WM8731 Completely untested. Signed-off-by: Mark Brown commit fc9967576829a01c98e5388410dc12c61006f79f Author: Mark Brown Date: Wed Feb 18 12:34:53 2009 +0000 ASoC: Fix build for corgi and poodle Signed-off-by: Mark Brown commit 6fe4a28d8855e072036f36ee22f0a8f43f44918f Author: Herbert Xu Date: Wed Feb 18 21:41:29 2009 +0800 crypto: testmgr - Test skciphers with no IVs As it is an skcipher with no IV escapes testing altogether because we only test givcipher objects. This patch fixes the bypass logic to test these algorithms. Conversely, we're currently testing nivaead algorithms with IVs, which would have deadlocked had it not been for the fact that no nivaead algorithms have any test vectors. This patch also fixes that case. Both fixes are ugly as hell, but this ugliness should hopefully disappear once we move them into the per-type code (i.e., the AEAD test would live in aead.c and the skcipher stuff in ablkcipher.c). Signed-off-by: Herbert Xu commit 5852ae42424e3ddba2d3bdf594f72189497f17ee Author: Herbert Xu Date: Wed Feb 18 20:41:47 2009 +0800 crypto: aead - Avoid infinite loop when nivaead fails selftest When an aead constructed through crypto_nivaead_default fails its selftest, we'll loop forever trying to construct new aead objects but failing because it already exists. The crux of the issue is that once an aead fails the selftest, we'll ignore it on the next run through crypto_aead_lookup and attempt to construct a new aead. We should instead return an error to the caller if we find an an that has failed the test. This bug hasn't manifested itself yet because we don't have any test vectors for the existing nivaead algorithms. They're tested through the underlying algorithms only. Signed-off-by: Herbert Xu commit b170a137f467ea951c3f256da1b911545acf3ffd Author: Herbert Xu Date: Wed Feb 18 20:33:55 2009 +0800 crypto: skcipher - Avoid infinite loop when cipher fails selftest When an skcipher constructed through crypto_givcipher_default fails its selftest, we'll loop forever trying to construct new skcipher objects but failing because it already exists. The crux of the issue is that once a givcipher fails the selftest, we'll ignore it on the next run through crypto_skcipher_lookup and attempt to construct a new givcipher. We should instead return an error to the caller if we find a givcipher that has failed the test. Signed-off-by: Herbert Xu commit b3bdb30b6d1989129e297641fec791e9e555e4d8 Author: Takashi Iwai Date: Wed Feb 18 13:16:26 2009 +0100 ALSA: hda - Add quirk for Acer X3200 Acer X3200 needs model=auto, otherwise model=acer is pre-selected. Reference: Novell bnc#476268 https://bugzilla.novell.com/show_bug.cgi?id=476268 Signed-off-by: Takashi Iwai commit 59544d33ff3118f22a484d8be06cdf5cfc2fdca5 Author: Mark Brown Date: Wed Feb 18 11:36:44 2009 +0000 ASoC: Remove version display from the WM8753 driver Signed-off-by: Mark Brown commit 5998102b9095fdb7c67755812038612afea315c5 Author: Mark Brown Date: Mon Feb 16 20:49:16 2009 +0000 ASoC: Refactor WM8731 device registration Move the WM8731 driver to use a more standard device registration scheme where the device can be registered independantly of the ASoC probe. As a transition measure push the current manual code for registering the WM8731 into the individual machine driver probes. This allows separate patches to update the relevant architecture files with less risk of merge issues. Signed-off-by: Mark Brown commit 4dd3a29f295799295eac819bbf540690fbe30c16 Author: Yoichi Yuasa Date: Wed Feb 18 19:09:23 2009 +0900 sound: fix opensound URL in oss Introduction Signed-off-by: Yoichi Yuasa Signed-off-by: Takashi Iwai commit a8035c8f04477895207b92915b908344749be336 Author: Mark Brown Date: Mon Feb 16 19:35:43 2009 +0000 ASoC: Shuffle WM8731 SPI and I2C device registration This is a pure code motion patch intended to improve reviewability of a following patch moving WM8731 to use more standard device registration. Signed-off-by: Mark Brown commit 7ee753804185eb0a46ac964fd6a6564bd67290c9 Author: Mark Brown Date: Mon Feb 16 18:00:58 2009 +0000 ASoC: Rename AT91SAMG20-EK for applications This is a bit more idiomatic and makes identifying a configuration based on the board type work better. Signed-off-by: Mark Brown commit 5de7f9b20069257aa5f0bb74723c8603adc5841a Author: Mark Brown Date: Mon Feb 16 17:51:54 2009 +0000 ASoC: Actively manage MCLK for AT91SAM9G20-EK We have software control of the MCLK for the WM8731 so save a bit of power by actively managing it within the machine driver, enabling it only while the codec is active. Once ASoC supports multiple boards and doesn't require the soc-audio device the initial clock setup should be pushed down into the arch/arm code but for now this reduces merge issues. Tested-by: Sedji Gaouaou Signed-off-by: Mark Brown commit 40135ea07190316a789b2edfbf7c8131598bdf81 Author: Mark Brown Date: Mon Feb 16 16:04:05 2009 +0000 ASoC: Check machine type before loading on AT91SAM9G20-EK Signed-off-by: Mark Brown commit d6943541158985030108e4a0a483cdadc3c80ee1 Author: Mark Brown Date: Mon Feb 16 13:38:11 2009 +0000 ASoC: Improve diagnostics for AT91SAM9G20-EK probe We should display an error by default if we fail to register. Signed-off-by: Mark Brown commit c16159123d5b3245e2b30023a207606c74032f9c Author: Roel Kluin Date: Wed Feb 18 10:15:00 2009 +0100 sound: OSS: missing parentheses in pas2_card.c Add missing parentheses in pas2_card.c. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 3f683d6175748ef9daf4698d9ef5a488dd037063 Author: Herbert Xu Date: Wed Feb 18 16:56:59 2009 +0800 crypto: api - Fix crypto_alloc_tfm/create_create_tfm return convention This is based on a report and patch by Geert Uytterhoeven. The functions crypto_alloc_tfm and create_create_tfm return a pointer that needs to be adjusted by the caller when successful and otherwise an error value. This means that the caller has to check for the error and only perform the adjustment if the pointer returned is valid. Since all callers want to make the adjustment and we know how to adjust it ourselves, it's much easier to just return adjusted pointer directly. The only caveat is that we have to return a void * instead of struct crypto_tfm *. However, this isn't that bad because both of these functions are for internal use only (by types code like shash.c, not even algorithms code). This patch also moves crypto_alloc_tfm into crypto/internal.h (crypto_create_tfm is already there) to reflect this. Signed-off-by: Herbert Xu commit ff753308d2f70f210ba468492cd9a01274d9d7ce Author: Herbert Xu Date: Tue Feb 17 20:18:34 2009 +0800 crypto: api - crypto_alg_mod_lookup either tested or untested As it stands crypto_alg_mod_lookup will search either tested or untested algorithms, but never both at the same time. However, we need exactly that when constructing givcipher and aead so this patch adds support for that by setting the tested bit in type but clearing it in mask. This combination is currently unused. Signed-off-by: Herbert Xu commit 049359d655277c382683a6030ae0bac485568ffc Author: James Hsiao Date: Thu Feb 5 16:18:13 2009 +1100 crypto: amcc - Add crypt4xx driver This patch adds support for AMCC ppc4xx security device driver. This is the initial release that includes the driver framework with AES and SHA1 algorithms support. The remaining algorithms will be released in the near future. Signed-off-by: James Hsiao Signed-off-by: Herbert Xu commit 5b07bd57016fb1033c678746f90bfc3c12d3e494 Author: Neil Horman Date: Thu Feb 5 16:03:04 2009 +1100 crypto: ansi_cprng - Add maintainer Add myself as the maintainer for the CPRNG. Herbert shouldn't deal with it alone if (when?) it breaks :) Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit c5b1e545a567c52081239bd5d187669640d0146f Author: Neil Horman Date: Thu Feb 5 16:01:38 2009 +1100 crypto: ansi_cprng - Panic on CPRNG test failure when in FIPS mode FIPS 140-2 specifies that all access to various cryptographic modules be prevented in the event that any of the provided self tests fail on the various implemented algorithms. We already panic when any of the test in testmgr.c fail when we are operating in fips mode. The continuous test in the cprng here was missed when that was implmented. This code simply checks for the fips_enabled flag if the test fails, and warns us via syslog or panics the box accordingly. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit 563f346d04e8373739240604a51ce8529dd9f07e Author: Herbert Xu Date: Sun Jan 18 20:33:33 2009 +1100 crypto: sha-s390 - Switch to shash This patch converts the S390 sha algorithms to the new shash interface. With fixes by Jan Glauber. Signed-off-by: Herbert Xu commit 9749598633efc2561224954217ff0d70aeed8b50 Author: Herbert Xu Date: Tue Feb 3 12:47:44 2009 +1100 crypto: shash - Add crypto_shash_blocksize This function is needed by algorithms that don't know their own block size, e.g., in s390 where the code is common between multiple versions of SHA. Signed-off-by: Herbert Xu commit d7992f42c61d5dc6d164f7dddd05284485204ada Author: Neil Horman Date: Wed Jan 28 15:20:51 2009 +1100 crypto: ansi_cprng - Force reset on allocation Pseudo RNGs provide predictable outputs based on input parateters {key, V, DT}, the idea behind them is that only the user should know what the inputs are. While its nice to have default known values for testing purposes, it seems dangerous to allow the use of those default values without some sort of safety measure in place, lest an attacker easily guess the output of the cprng. This patch forces the NEED_RESET flag on when allocating a cprng context, so that any user is forced to reseed it before use. The defaults can still be used for testing, but this will prevent their inadvertent use, and be more secure. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit 54b6a1bd5364aca95cd6ffae00f2b64c6511122c Author: Huang Ying Date: Sun Jan 18 16:28:34 2009 +1100 crypto: aes-ni - Add support to Intel AES-NI instructions for x86_64 platform Intel AES-NI is a new set of Single Instruction Multiple Data (SIMD) instructions that are going to be introduced in the next generation of Intel processor, as of 2009. These instructions enable fast and secure data encryption and decryption, using the Advanced Encryption Standard (AES), defined by FIPS Publication number 197. The architecture introduces six instructions that offer full hardware support for AES. Four of them support high performance data encryption and decryption, and the other two instructions support the AES key expansion procedure. The white paper can be downloaded from: http://softwarecommunity.intel.com/isn/downloads/intelavx/AES-Instructions-Set_WP.pdf AES may be used in soft_irq context, but MMX/SSE context can not be touched safely in soft_irq context. So in_interrupt() is checked, if in IRQ or soft_irq context, the general x86_64 implementation are used instead. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 1cac2cbc76b9f3fce0d4ccc374e724e7f2533a47 Author: Huang Ying Date: Sun Jan 18 16:19:46 2009 +1100 crypto: cryptd - Add support to access underlying blkcipher cryptd_alloc_ablkcipher() will allocate a cryptd-ed ablkcipher for specified algorithm name. The new allocated one is guaranteed to be cryptd-ed ablkcipher, so the blkcipher underlying can be gotten via cryptd_ablkcipher_child(). Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 1693531e9ef11959300617c68a8322ad006b5475 Author: Herbert Xu Date: Wed Jan 14 13:34:48 2009 +1100 crypto: shash - Remove superfluous check in init_tfm We're currently checking the frontend type in init_tfm. This is completely pointless because the fact that we're called at all means that the frontend is ours so the type must match as well. Signed-off-by: Herbert Xu commit 07bf44f86989f5ed866510374fe761d1903681fb Author: Huang Ying Date: Fri Jan 9 17:25:50 2009 +1100 crypto: aes - Export x86 AES encrypt/decrypt functions Intel AES-NI AES acceleration instructions touch XMM state, to use that in soft_irq context, general x86 AES implementation is used as fallback. The first parameter is changed from struct crypto_tfm * to struct crypto_aes_ctx * to make it easier to deal with 16 bytes alignment requirement of AES-NI implementation. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 109568e110ed67d4be1b28609b9fa00fca97f8eb Author: Huang Ying Date: Fri Jan 9 16:49:30 2009 +1100 crypto: aes - Move key_length in struct crypto_aes_ctx to be the last field The Intel AES-NI AES acceleration instructions need key_enc, key_dec in struct crypto_aes_ctx to be 16 byte aligned, it make this easier to move key_length to be the last one. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 39754f441055c861da403d4e9a67ed80f242a4b4 Author: Dhananjay Phadke Date: Tue Feb 17 20:27:02 2009 -0800 netxen: ratelimit error prints If for some reason, read from card memory fails the console get flooded with failure prints. This patch confines print under printk_ratelimit(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d8313ce0f148e648d4e515db5d2c65bbd44fe29e Author: Dhananjay Phadke Date: Tue Feb 17 20:26:44 2009 -0800 netxen: fix sparse warnings Fix following sparse warnings (multiple instances) warning: restricted degrades to integer warning: cast to restricted type warning: incorrect type in argument 3 (different signedness) warning: context imbalance in 'netxen_nic_hw_write_wx_2M' - different lock contexts for basic block Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ef38fa77786584c630f5da6696111a6a558c7f23 Author: Dhananjay Phadke Date: Tue Feb 17 20:26:22 2009 -0800 netxen: remove superfluous doorbell map For NX3031 pci doorbells are not used. If unnecessary mapping of doorbell space fails, pci probe bails out. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ad7bf428328d360b54e0d5f5fc7a9c0a6cf3b7fe Author: Hannes Eder Date: Sun Feb 15 02:13:01 2009 +0000 drivers/net/tokenring: fix sparse warning: cast truncates bits from const value Impact: Remove the write-only field 'current_ring_status' completely. Fix this sparse warnings: drivers/net/tokenring/smctr.c:4410:52: warning: cast truncates bits from constant value (100 becomes 0) drivers/net/tokenring/smctr.c:4415:52: warning: cast truncates bits from constant value (400 becomes 0) drivers/net/tokenring/smctr.c:4420:52: warning: cast truncates bits from constant value (800 becomes 0) drivers/net/tokenring/smctr.c:4425:52: warning: cast truncates bits from constant value (1000 becomes 0) drivers/net/tokenring/smctr.c:4430:52: warning: cast truncates bits from constant value (2000 becomes 0) drivers/net/tokenring/smctr.c:4435:52: warning: cast truncates bits from constant value (4000 becomes 0) drivers/net/tokenring/smctr.c:4440:52: warning: cast truncates bits from constant value (8000 becomes 0) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 7f50ca07fffdfa8f74ff62e54bf569c745e906e5 Author: Hannes Eder Date: Sat Feb 14 11:50:45 2009 +0000 drivers/net/wireless/prism54: fix sparse warning: fix signedness Fix sparse warning: drivers/net/wireless/prism54/isl_ioctl.c:2997:32: warning: incorrect type in argument 2 (different signedness) drivers/net/wireless/prism54/oid_mgt.c:712:42: warning: incorrect type in argument 2 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit b9da9e9544724ee25af493bf117e2a8413be34a8 Author: Hannes Eder Date: Sat Feb 14 11:50:26 2009 +0000 drivers/net/wireless/ipw2x00: fix sparse warnings: fix signedness Fix this sparse warnings: drivers/net/wireless/ipw2x00/ipw2100.c:1930:43: warning: incorrect type in argument 4 (different signedness) drivers/net/wireless/ipw2x00/ipw2100.c:1938:76: warning: incorrect type in argument 4 (different signedness) drivers/net/wireless/ipw2x00/ipw2100.c:1946:67: warning: incorrect type in argument 4 (different signedness) drivers/net/wireless/ipw2x00/ipw2100.c:1953:72: warning: incorrect type in argument 4 (different signedness) drivers/net/wireless/ipw2x00/ipw2100.c:4071:73: warning: incorrect type in argument 4 (different signedness) drivers/net/wireless/ipw2x00/ipw2100.c:4078:43: warning: incorrect type in argument 4 (different signedness) drivers/net/wireless/ipw2x00/ipw2100.c:4084:67: warning: incorrect type in argument 4 (different signedness) drivers/net/wireless/ipw2x00/ipw2100.c:7141:73: warning: incorrect type in argument 4 (different signedness) drivers/net/wireless/ipw2x00/ipw2100.c:8317:48: warning: incorrect type in argument 4 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit fc68ed4fd7fdfafbefb270cf44194096156c7943 Author: Hannes Eder Date: Sat Feb 14 11:50:06 2009 +0000 drivers/net/wireless/b43: fix warning: format not a string literal and no ... Fix this compilation warning: drivers/net/wireless/b43/main.c: In function 'b43_print_fw_helptext': drivers/net/wireless/b43/main.c:1971: warning: format not a string literal and no format arguments drivers/net/wireless/b43/main.c:1973: warning: format not a string literal and no format arguments Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 93f726a90d1446c9e5a40fe8f88086542b273e7c Author: Hannes Eder Date: Sat Feb 14 11:49:48 2009 +0000 drivers/net/wireless/ath9k: fix sparse warnings: Should it be static? Impact: Make symbols static. Fix this sparse warnings: drivers/net/wireless/ath9k/eeprom.c:1343:5: warning: symbol 'ath9k_hw_4k_get_spur_channel' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:1372:19: warning: symbol 'eep_4k_ops' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2649:5: warning: symbol 'ath9k_hw_def_get_spur_channel' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2678:19: warning: symbol 'eep_def_ops' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 9e05a2df09e91bfe50d16ff96cc208708599185c Author: Hannes Eder Date: Sat Feb 14 11:49:26 2009 +0000 drivers/net/wireless: fix sparse warnings: fix signedness Fix this sparse warnings: drivers/net/wireless/airo.c:2102:21: warning: incorrect type in initializer (different signedness) drivers/net/wireless/airo.c:2126:21: warning: incorrect type in initializer (different signedness) drivers/net/wireless/airo.c:2167:21: warning: incorrect type in initializer (different signedness) drivers/net/wireless/airo.c:2191:21: warning: incorrect type in initializer (different signedness) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 49c4a5dceaff63c3080b3c9d311c1c023c3003af Author: Hannes Eder Date: Sat Feb 14 11:49:09 2009 +0000 drivers/net/wireless: fix sparse warnings: symbol shadows an earlier one Impact: Move variable closer to usage resp. remove redundant variables resp. rename function scope variable. Fix this sparse warnings: drivers/net/wireless/airo.c:3840:29: warning: symbol 'i' shadows an earlier one drivers/net/wireless/airo.c:3751:13: originally declared here drivers/net/wireless/airo.c:3847:29: warning: symbol 'i' shadows an earlier one drivers/net/wireless/airo.c:3751:13: originally declared here drivers/net/wireless/airo.c:3861:21: warning: symbol 'i' shadows an earlier one drivers/net/wireless/airo.c:3751:13: originally declared here drivers/net/wireless/wavelan.c:43:13: warning: symbol 'irq' shadows an earlier one drivers/net/wireless/wavelan.p.h:692:17: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit b1ae1e99bd9f611f16a09c1bca2a0a38e67b88c3 Author: Hannes Eder Date: Sat Feb 14 11:48:44 2009 +0000 drivers/net/wireless: fix sparse warning: context imbalance Impact: Attribute function with __acquires(...) resp. __releases(...). Fix this sparse warnings: drivers/net/wireless/strip.c:955:21: warning: context imbalance in 'strip_seq_start' - wrong count at exit drivers/net/wireless/strip.c:975:13: warning: context imbalance in 'strip_seq_stop' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 5ed1e981bd243d78f95738a355bd117cf1f6daa1 Author: Hannes Eder Date: Sat Feb 14 11:48:25 2009 +0000 drivers/net/wan: fix sparse warning: symbol shadows an earlier one Impact: Rename function scope variable and while being at it fix some coding style issues. Fix this sparse warning: drivers/net/wan/sbni.c:1526:14: warning: symbol 'num' shadows an earlier one drivers/net/wan/sbni.c:160:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 5ee0d59335c551b7d3642f071bb4f3a30c287f59 Author: Hannes Eder Date: Sat Feb 14 11:48:07 2009 +0000 drivers/net/wan: fix warning: format not a string literal and no ... Impact: Use 'static const char[]' instead of 'static char[]'. Fix this compilation warnings: drivers/net/wan/lapbether.c: In function 'lapbeth_init_driver': drivers/net/wan/lapbether.c:441: warning: format not a string literal and no format arguments drivers/net/wan/z85230.c: In function 'z85230_init_driver': drivers/net/wan/z85230.c:1782: warning: format not a string literal and no format arguments Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 0227abc9d011892fd13f360b56a7b276ebea8b07 Author: Hannes Eder Date: Sat Feb 14 11:47:47 2009 +0000 drivers/net/usb: fix sparse warnings: Should it be static? Impact: Make symbols static. Fix this sparse warnings: drivers/net/usb/hso.c:1249:6: warning: symbol 'hso_unthrottle_tasklet' was not declared. Should it be static? drivers/net/usb/hso.c:1268:6: warning: symbol 'hso_unthrottle_workfunc' was not declared. Should it be static? drivers/net/usb/hso.c:1466:5: warning: symbol 'tiocmget_submit_urb' was not declared. Should it be static? drivers/net/usb/smsc95xx.c:62:5: warning: symbol 'turbo_mode' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit de2f19daac017301b0bfd73bdecff89e7ea30eb7 Author: Hannes Eder Date: Sat Feb 14 11:47:30 2009 +0000 drivers/net/tulip: fix sparse warning: symbol shadows an earlier one Impact: Rename a local variable resp. remove a redundant variable and while being at it use more unform loop constructs. Fix this sparse warning: drivers/net/tulip/de4x5.c:3944:13: warning: symbol 'i' shadows an earlier one drivers/net/tulip/de4x5.c:3938:9: originally declared here drivers/net/tulip/media.c:72:21: warning: symbol 'i' shadows an earlier one drivers/net/tulip/media.c:54:13: originally declared here drivers/net/tulip/media.c:134:21: warning: symbol 'i' shadows an earlier one drivers/net/tulip/media.c:117:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 65d9b8b19dd21eeff8c051484b9e972e0b932ff2 Author: Hannes Eder Date: Sat Feb 14 11:46:59 2009 +0000 drivers/net/tulip: fix warning: format not a string literal and no ... Impact: Use 'static const char[]' instead of 'static char[]' and while being at it add a KERN_INFO prefix. Fix this warning: drivers/net/tulip/de4x5.c: In function 'de4x5_hw_init': drivers/net/tulip/de4x5.c:1268: warning: format not a string literal and no format arguments drivers/net/tulip/winbond-840.c: In function 'w840_init': drivers/net/tulip/winbond-840.c:1666: warning: format not a string literal and no format arguments Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 3b7faeb49e7c35db857b595c389436994ab1275e Merge: 82a0a1c... 96a8bac... Author: Benjamin Herrenschmidt Date: Wed Feb 18 13:23:30 2009 +1100 Merge commit 'kumar/next' into next commit 82a0a1cc8f94bc59e5919715bc03fc8353fa770d Merge: 8d30c14... 5955c7a... Author: Benjamin Herrenschmidt Date: Wed Feb 18 13:19:25 2009 +1100 Merge commit 'origin/master' into next Manual merge of: arch/powerpc/include/asm/pgtable-ppc32.h commit 05076c1824a5cc164c3d714f7b16ac61cb9bbbf5 Author: Hannes Eder Date: Sat Feb 14 11:44:44 2009 +0000 drivers/net/tokenring: fix sparse warning: symbol shadows an earlier one Impact: Remove redundant variables. Fix this sparse warnings: drivers/net/tokenring/lanstreamer.c:619:21: warning: symbol 'i' shadows an earlier one drivers/net/tokenring/lanstreamer.c:589:13: originally declared here drivers/net/tokenring/madgemc.c:695:34: warning: symbol 'tp' shadows an earlier one drivers/net/tokenring/madgemc.c:689:26: originally declared here drivers/net/tokenring/olympic.c:702:21: warning: symbol 'i' shadows an earlier one drivers/net/tokenring/olympic.c:440:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 1770e430ca1361fb8143c328037d1a3f34391602 Author: Hannes Eder Date: Sat Feb 14 11:44:19 2009 +0000 drivers/net/tokenring: fix warning: format not a string literal and no ... Impact: Use 'static const char[]' instead of 'static char[]'. Fix this warnings: drivers/net/tokenring/smctr.c:3644: warning: format not a string literal and no format arguments Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 6e470d261326801ff823a3b7a49581a8baae8698 Author: Hannes Eder Date: Sat Feb 14 11:43:15 2009 +0000 drivers/net/skfp: fix sparse warning: Should it be static? Impact: Move function declarations to header file. Fix this sparse warnings: drivers/net/skfp/cfm.c:146:6: warning: symbol 'all_selection_criteria' was not declared. Should it be static? drivers/net/skfp/drvfbi.c:186:6: warning: symbol 'mac1_irq' was not declared. Should it be static? drivers/net/skfp/drvfbi.c:284:6: warning: symbol 'read_address' was not declared. Should it be static? drivers/net/skfp/drvfbi.c:323:6: warning: symbol 'init_board' was not declared. Should it be static? drivers/net/skfp/fplustm.c:72:24: warning: symbol 'fddi_broadcast' was not declared. Should it be static? drivers/net/skfp/fplustm.c:679:6: warning: symbol 'mac2_irq' was not declared. Should it be static? drivers/net/skfp/fplustm.c:805:6: warning: symbol 'mac3_irq' was not declared. Should it be static? drivers/net/skfp/fplustm.c:856:5: warning: symbol 'init_fplus' was not declared. Should it be static? drivers/net/skfp/pcmplc.c:404:6: warning: symbol 'init_plc' was not declared. Should it be static? drivers/net/skfp/pcmplc.c:1592:5: warning: symbol 'pcm_status_twisted' was not declared. Should it be static? drivers/net/skfp/smtinit.c:68:5: warning: symbol 'init_smt' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 37d37695ef34b04ecf20586c12ec0c932283a130 Author: Hannes Eder Date: Sat Feb 14 11:41:03 2009 +0000 drivers/net/sfc: fix sparse warning: symbol shadows an earlier one Impact: Move variable declaration as close to their usage as possible. Fix this sparse warning: drivers/net/sfc/tenxpress.c:589:22: warning: symbol 'link_ok' shadows an earlier one drivers/net/sfc/tenxpress.c:575:30: originally declared here Signed-off-by: Hannes Eder Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit 6ae038512ced0f179abd4d2387786cc69d2fb801 Author: Hannes Eder Date: Sat Feb 14 11:39:23 2009 +0000 drivers/net/pcmcia: fix warning: format not a string literal and no ... Impact: Use 'static const char[]' instead of 'static char[]' and while being at it prefix the message with KERN_INFO. Fix this warnings: drivers/net/pcmcia/axnet_cs.c:1716: warning: format not a string literal and no format arguments Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 1aef47c411f4b4b6bb9c8ebcdb703d3a20de1551 Author: Hannes Eder Date: Sat Feb 14 11:38:36 2009 +0000 drivers/net/ixgbe: fix sparse warning: Should it be static? Impact: Make symbol static. Fix this sparse warning: drivers/net/ixgbe/ixgbe_82598.c:59:5: warning: symbol 'ixgbe_get_pcie_msix_count_82598' was not declared. Should it be static? Signed-off-by: Hannes Eder Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 886a63e865eb346ab20572e802fc3118cb9aee14 Author: Hannes Eder Date: Sat Feb 14 11:36:20 2009 +0000 drivers/net/hamradio: fix sparse warnings: fix signedness Fix this sparse warnings: drivers/net/hamradio/hdlcdrv.c:274:34: warning: incorrect type in argument 2 (different signedness) drivers/net/hamradio/hdlcdrv.c:279:47: warning: incorrect type in argument 2 (different signedness) drivers/net/hamradio/hdlcdrv.c:288:39: warning: incorrect type in argument 2 (different signedness) drivers/net/hamradio/hdlcdrv.c:300:47: warning: incorrect type in argument 2 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 9b329f18b943fb5648c10f79690918b9056dd5c5 Author: Hannes Eder Date: Sat Feb 14 11:35:35 2009 +0000 drivers/net/hamradio: fix sparse warning: symbol shadows an earlier one Impact: Rename inner scrope variable. Fix this sparse warning: drivers/net/hamradio/yam.c:856:35: warning: symbol 'dev' shadows an earlier one Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit e334f564e83c4aa6db4259b5d7e62d1b5032faf2 Author: Hannes Eder Date: Sat Feb 14 11:34:52 2009 +0000 drivers/net/hamradio: fix sparse warning: context imbalance Impact: Attribute functions with __acquires(...) resp. __releases(...). Fix this sparse warnings: drivers/net/hamradio/bpqether.c:387:13: warning: context imbalance in 'bpq_seq_start' - wrong count at exit drivers/net/hamradio/bpqether.c:419:13: warning: context imbalance in 'bpq_seq_stop' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit eb33ae248682ecfdf44d693c72bc4f523f2fb6e3 Author: Hannes Eder Date: Sat Feb 14 11:33:21 2009 +0000 drivers/net/hamradio: fix warning: format not a string literal and no ... Impact: Use 'static const char[]' instead of 'static char[]' and while being at it fix an issue in 'mkiss_init_driver', where in case of an error the status code was not passed to printk. Fix this warnings: drivers/net/hamradio/6pack.c: In function 'sixpack_init_driver': drivers/net/hamradio/6pack.c:802: warning: format not a string literal and no format arguments drivers/net/hamradio/bpqether.c: In function 'bpq_init_driver': drivers/net/hamradio/bpqether.c:609: warning: format not a string literal and no format arguments drivers/net/hamradio/mkiss.c: In function 'mkiss_init_driver': drivers/net/hamradio/mkiss.c:988: warning: format not a string literal and no format arguments drivers/net/hamradio/mkiss.c:991: warning: format not a string literal and no format arguments drivers/net/hamradio/scc.c: In function 'scc_init_driver': drivers/net/hamradio/scc.c:2109: warning: format not a string literal and no format arguments drivers/net/hamradio/yam.c: In function 'yam_init_driver': drivers/net/hamradio/yam.c:1094: warning: format not a string literal and no format arguments Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit f6370117958d67608225d5e3b55e3ad2080640e8 Author: Hannes Eder Date: Sat Feb 14 11:32:25 2009 +0000 drivers/net/e1000e: fix sparse warning: Should it be static? Impact: Make symbol static. Fix this sparse warning: drivers/net/e1000e/82571.c:1229:5: warning: symbol 'e1000_check_for_serdes_link_82571' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit a243f848ce0e16f7919d683fdfd4c8ea378fe25d Author: Hannes Eder Date: Sat Feb 14 11:16:19 2009 +0000 drivers/net/cxgb3: fix sparse warnings: fix signedness Fix this sparse warning: drivers/net/cxgb3/ael1002.c:1010:60: warning: incorrect type in argument 4 (different signedness) Signed-off-by: Hannes Eder Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 97915b5bf6454416c7b27444fc95c08132b74251 Author: Hannes Eder Date: Sat Feb 14 11:16:04 2009 +0000 drivers/net/cxgb3: fix sparse warning: symbol shadows an earlier one Impact: Move variable declaration as close to usage as possible. Fix this sparse warning: drivers/net/cxgb3/cxgb3_main.c:1586:21: warning: symbol 'cap' shadows an earlier one Signed-off-by: Hannes Eder Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 54b87323eddd9b7854249f05cfd183a0ac602ab6 Author: Hannes Eder Date: Sat Feb 14 11:15:49 2009 +0000 drivers/net/bonding: fix sparse warning: symbol shadows an earlier one Impact: Rename function scope variable. Fix this sparse warning: drivers/net/bonding/bond_main.c:4704:13: warning: symbol 'mode' shadows an earlier one drivers/net/bonding/bond_main.c:95:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 1f78d9f94539b8806b81057e75025f2bac7d7ccc Author: Hannes Eder Date: Sat Feb 14 11:15:33 2009 +0000 drivers/net/bonding: fix sparse warnings: context imbalance Impact: Attribute functions with __acquires(...) and/or __releases(...). Fix this sparse warnings: drivers/net/bonding/bond_alb.c:1675:9: warning: context imbalance in 'bond_alb_handle_active_change' - unexpected unlock drivers/net/bonding/bond_alb.c:1742:9: warning: context imbalance in 'bond_alb_set_mac_address' - unexpected unlock drivers/net/bonding/bond_main.c:1025:17: warning: context imbalance in 'bond_do_fail_over_mac' - unexpected unlock drivers/net/bonding/bond_main.c:3195:13: warning: context imbalance in 'bond_info_seq_start' - wrong count at exit drivers/net/bonding/bond_main.c:3234:13: warning: context imbalance in 'bond_info_seq_stop' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit b79d8fff0e54a19e96cbde2b1f79e0fd503c2c53 Author: Hannes Eder Date: Sat Feb 14 11:15:17 2009 +0000 drivers/net/atlx: fix sparse warnings: fix signedness Impact: While being at it: statics do not need to be initialized with 0. Fix this sparse warnings: drivers/net/atlx/atl1.c:109:1: warning: incorrect type in initializer (different signedness) drivers/net/atlx/atl2.c:2870:1: warning: incorrect type in initializer (different signedness) drivers/net/atlx/atl2.c:2880:1: warning: incorrect type in initializer (different signedness) drivers/net/atlx/atl2.c:2894:1: warning: incorrect type in initializer (different signedness) drivers/net/atlx/atl2.c:2904:1: warning: incorrect type in initializer (different signedness) drivers/net/atlx/atl2.c:2913:1: warning: incorrect type in initializer (different signedness) Signed-off-by: Hannes Eder Acked-by: Jay Cliburn Signed-off-by: David S. Miller commit fd8ef49edd81405e80e00eb81365ae4d6733d602 Author: Hannes Eder Date: Sat Feb 14 11:14:58 2009 +0000 drivers/net/atl1e: fix sparse warnings: fix signedness Fix this sparse warnings: drivers/net/atl1e/atl1e_main.c:716:39: warning: incorrect type in argument 2 (different signedness) drivers/net/atl1e/atl1e_param.c:57:1: warning: incorrect type in initializer (different signedness) drivers/net/atl1e/atl1e_param.c:68:1: warning: incorrect type in initializer (different signedness) drivers/net/atl1e/atl1e_param.c:81:1: warning: incorrect type in initializer (different signedness) drivers/net/atl1e/atl1e_param.c:92:1: warning: incorrect type in initializer (different signedness) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 18c4c35ecbeda253ce7532a6ed7f2fa144147d64 Author: Hannes Eder Date: Sat Feb 14 11:14:45 2009 +0000 drivers/net/arcnet: fix sparse warning: symbol shadows an earlier one Impact: Remove redundant inner scope variable. Fix this sparse warning: drivers/net/arcnet/arcnet.c:383:21: warning: symbol 'count' shadows an earlier one drivers/net/arcnet/arcnet.c:375:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 8d668bfef68b35f7eedcc70fd5c47cdb24f406cc Author: Hannes Eder Date: Sat Feb 14 11:14:31 2009 +0000 drivers/net/s2io.c: fix sparse warning: symbol shadows an earlier one Impact: Remove redundant inner scope variable. Fix this sparse warning: drivers/net/s2io.c:7223:21: warning: symbol 'i' shadows an earlier one drivers/net/s2io.c:7184:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 5b5103ec2dba07a15861e81cb783dd0fbaed24ed Author: Hannes Eder Date: Sat Feb 14 11:14:04 2009 +0000 drivers/net/r6040.c: fix sparse warning: Using plain integer as NULL pointer Fix this sparse warnings: drivers/net/r6040.c:487:31: warning: Using plain integer as NULL pointer drivers/net/r6040.c:492:31: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit d6781f2af8567524f8c95d9907718a6c61fe417d Author: Hannes Eder Date: Sat Feb 14 11:13:52 2009 +0000 drivers/net/ppp*.c: fix sparse warnings: fix signedness Fix this sparse warnings: drivers/net/ppp_generic.c:919:43: warning: incorrect type in argument 1 (different signedness) drivers/net/pppoe.c:1195:43: warning: incorrect type in argument 1 (different signedness) drivers/net/pppol2tp.c:2666:43: warning: incorrect type in argument 1 (different signedness) Signed-off-by: Hannes Eder Acked-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 416c6f90f8a107ccae3788bb9798d10a2dac9ed0 Author: Hannes Eder Date: Sat Feb 14 11:13:39 2009 +0000 drivers/net/ni65.c: fix sparse warnings: fix signedness Fix this sparse warnings: drivers/net/ni65.c:488:36: warning: incorrect type in argument 2 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 00137dad17707f0d14dbf7e193761220f1c2fe03 Author: Hannes Eder Date: Sat Feb 14 11:13:24 2009 +0000 drivers/net/lance.c: fix sparse warnings: fix signedness Impact: Besides from fixing the signedness issue remove some whitespace to obey to the 80 character limit. Fix this sparse warnings: drivers/net/lance.c:399:19: warning: incorrect type in assignment (different signedness) drivers/net/lance.c:654:29: warning: incorrect type in argument 2 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 7c34eb897362a51133222ef4229628469333f4d9 Author: Hannes Eder Date: Sat Feb 14 11:12:48 2009 +0000 drivers/net/niu.c: fix sparse warning: symbol shadows an earlier one Impact: Move variable declaration to a more inner scope. Fix this sparse warning: drivers/net/niu.c:2399:21: warning: symbol 'err' shadows an earlier one drivers/net/niu.c:2287:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 5d7dce76c51a590fdd7616285a96825aa517ede0 Author: Hannes Eder Date: Sat Feb 14 11:12:36 2009 +0000 drivers/net/ns83820.c: fix sparse warnings: fix signedness Fix this sparse warnings: drivers/net/ns83820.c:479:36: warning: incorrect type in argument 2 (different signedness) drivers/net/ns83820.c:479:36: warning: incorrect type in argument 2 (different signedness) drivers/net/ns83820.c:479:36: warning: incorrect type in argument 2 (different signedness) drivers/net/ns83820.c:479:36: warning: incorrect type in argument 2 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit fbf978914e8fbc804ddbd68550bb2c7d14b2049d Author: Hannes Eder Date: Sat Feb 14 11:12:23 2009 +0000 drivers/net/ni65.c: fix sparse warnings: symbol shadows an earlier one Impact: Remove redundant variable declaration or move them to a more inner scope. Fix this sparse warnings: drivers/net/ni65.c:900:37: warning: symbol 'p' shadows an earlier one drivers/net/ni65.c:874:21: originally declared here drivers/net/ni65.c:925:21: warning: symbol 'p' shadows an earlier one drivers/net/ni65.c:874:21: originally declared here drivers/net/ni65.c:945:29: warning: symbol 'k' shadows an earlier one drivers/net/ni65.c:926:15: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit f11bf7a31e9a3dccf893e0fceeb1d7d9fd4dfcb4 Author: Hannes Eder Date: Sat Feb 14 11:12:10 2009 +0000 drivers/net/e2100.c: fix sparse warning: symbol shadows an earlier one Impact: Remove redundant inner scope variable and while being at it make use of ARRAY_SIZE instead of a hardcoded number. Fix this sparse warning: drivers/net/e2100.c:219:56: warning: symbol 'i' shadows an earlier one drivers/net/e2100.c:181:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 1256f7394cc08c60d4502a2f08d7260f3fd97d56 Author: Hannes Eder Date: Sat Feb 14 11:11:55 2009 +0000 drivers/net/at1700.c: fix sparse warning: symbol shadows an earlier one Impact: Move variable declaration to a more inner scope. Fix this sparse warning: drivers/net/at1700.c:846:21: warning: symbol 'i' shadows an earlier one drivers/net/at1700.c:831:13: originally declared here Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit fa7c7f6e11f70d62505074a8b30a776236850dec Author: Frederic Weisbecker Date: Wed Feb 11 02:51:30 2009 +0100 tracing/core: remove unused parameter in tracing_fill_pipe_page() Impact: cleanup The struct page *pages parameter is unused. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 6eaaa5d57e76c454479833fc8594cd7c3b75c789 Author: Frederic Weisbecker Date: Wed Feb 11 02:25:00 2009 +0100 tracing/core: use appropriate waiting on trace_pipe Impact: api and pipe waiting change Currently, the waiting used in tracing_read_pipe() is done through a 100 msecs schedule_timeout() loop which periodically check if there are traces on the buffer. This can cause small latencies for programs which are reading the incoming events. This patch makes the reader waiting for the trace_wait waitqueue except for few tracers such as the sched and functions tracers which might be already hold the runqueue lock while waking up the reader. This is performed through a new callback wait_pipe() on struct tracer. If none is implemented on a specific tracer, the default waiting for trace_wait queue is attached. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit ac07bcaa8259841905ead3f8cd60b1923ca6c0e5 Merge: 37bd824... 35ebf1c... Author: Ingo Molnar Date: Wed Feb 18 01:09:07 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 37bd824a35a60abc73e5fa8816bd5f50c913d69b Merge: 73d3fd9... 5b058bc... Author: Ingo Molnar Date: Wed Feb 18 01:08:13 2009 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core commit ef41df4344ff952c79746d44a6126bd2cf7ed2bc Author: Huang Ying Date: Thu Feb 12 13:39:34 2009 +0100 x86, mce: fix a race condition in mce_read() Impact: bugfix Considering the situation as follow: before: mcelog.next == 1, mcelog.entry[0].finished = 1 +-------------------------------------------------------------------------- R W1 W2 W3 read mcelog.next (1) mcelog.next++ (2) (working on entry 1, finished == 0) mcelog.next = 0 mcelog.next++ (1) (working on entry 0) mcelog.next++ (2) (working on entry 1) <----------------- race ----------------> (done on entry 1, finished = 1) (done on entry 1, finished = 1) To fix the race condition, a cmpxchg loop is added to mce_read() to ensure no new MCE record can be added between mcelog.next reading and mcelog.next = 0. Signed-off-by: Huang Ying Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit d6b75584a3eaab8cb2ab3e8cf90c5e57c1928a85 Author: Andi Kleen Date: Thu Feb 12 13:39:31 2009 +0100 x86, mce: disable machine checks on offlined CPUs Impact: Lower priority bug fix Offlined CPUs could still get machine checks, but the machine check handler cannot handle them properly, leading to an unconditional crash. Disable machine checks on CPUs that are going down. Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 5b4408fdaa62474dd9485cddb9126370d90d4b82 Author: Andi Kleen Date: Thu Feb 12 13:39:30 2009 +0100 x86, mce: don't set up mce sysdev devices with mce=off Impact: bug fix, in this case the resume handler shouldn't run which avoids incorrectly reenabling machine checks on resume When MCEs are completely disabled on the command line don't set up the sysdev devices for them either. Includes a comment fix from Thomas Gleixner. Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 52d168e28bc11dd026b620fe1767cadde5a747cd Author: Andi Kleen Date: Thu Feb 12 13:39:29 2009 +0100 x86, mce: switch machine check polling to per CPU timer Impact: Higher priority bug fix The machine check poller runs a single timer and then broadcasted an IPI to all CPUs to check them. This leads to unnecessary synchronization between CPUs. The original CPU running the timer has to wait potentially a long time for all other CPUs answering. This is also real time unfriendly and in general inefficient. This was especially a problem on systems with a lot of events where the poller run with a higher frequency after processing some events. There could be more and more CPU time wasted with this, to the point of significantly slowing down machines. The machine check polling is actually fully independent per CPU, so there's no reason to not just do this all with per CPU timers. This patch implements that. Also switch the poller also to use standard timers instead of work queues. It was using work queues to be able to execute a user program on a event, but mce_notify_user() handles this case now with a separate callback. So instead always run the poll code in in a standard per CPU timer, which means that in the common case of not having to execute a trigger there will be less overhead. This allows to clean up the initialization significantly, because standard timers are already up when machine checks get init'ed. No multiple initialization functions. Thanks to Thomas Gleixner for some help. Cc: thockin@google.com v2: Use del_timer_sync() on cpu shutdown and don't try to handle migrated timers. v3: Add WARN_ON for timer running on unexpected CPU Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 9bd984058088d6ef7af6946591a207e51a2f4890 Author: Andi Kleen Date: Thu Feb 12 13:39:28 2009 +0100 x86, mce: always use separate work queue to run trigger Impact: Needed for bug fix in next patch This relaxes the requirement that mce_notify_user has to run in process context. Useful for future changes, but also leads to cleaner behaviour now. Now instead mce_notify_user can be called directly from interrupt (but not NMI) context. The work queue only uses a single global work struct, which can be done safely because it is always free to reuse before the trigger function is executed. This way no events can be lost. Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 123aa76ec0cab5d4881cd8509faed43231e68801 Author: Andi Kleen Date: Thu Feb 12 13:39:27 2009 +0100 x86, mce: don't disable machine checks during code patching Impact: low priority bug fix This removes part of a a patch I added myself some time ago. After some consideration the patch was a bad idea. In particular it stopped machine check exceptions during code patching. To quote the comment: * MCEs only happen when something got corrupted and in this * case we must do something about the corruption. * Ignoring it is worse than a unlikely patching race. * Also machine checks tend to be broadcast and if one CPU * goes into machine check the others follow quickly, so we don't * expect a machine check to cause undue problems during to code * patching. So undo the machine check related parts of 8f4e956b313dcccbc7be6f10808952345e3b638c NMIs are still disabled. This only removes code, the only additions are a new comment. Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 973a2dd1d50a11d380086601f14e59116f93e8c5 Author: Andi Kleen Date: Thu Feb 12 13:39:32 2009 +0100 x86, mce: disable machine checks on suspend Impact: Bug fix During suspend it is not reliable to process machine check exceptions, because CPUs disappear but can still get machine check broadcasts. Also the system is slightly more likely to machine check them, but the handler is typically not a position to handle them in a meaningfull way. So disable them during suspend and enable them during resume. Also make sure they are always disabled on hot-unplugged CPUs. This new code assumes that suspend always hotunplugs all non BP CPUs. v2: Remove the WARN_ONs Thomas objected to. Signed-off-by: Andi Kleen Acked-by: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 71d98b4628ee869d62814f6d8607d76cab4b9ec5 Author: Jack Morgenstein Date: Tue Feb 17 14:51:47 2009 -0800 IPoIB: In unicast_arp_send(), only free newly-created paths If path_rec_start() returns error, call path_free() only if the path was newly-created. If we free an existing path whose valid flag was zero, (but do not detach it from the list) we cause corruption of the path list (of which it is a member), and get a kernel crash. The simplest solution is to not free an existing path -- just leave it in the list as-is (i.e., with its valid flag cleared). Thanks to Yossi Etigin of Voltaire for identifying the problem flow which caused the kernel crash. Signed-off-by: Jack Morgenstein Signed-off-by: Moni Shua Signed-off-by: Roland Dreier commit 9be1b56a3e718aa998772019c57c398dbb19e258 Author: Ingo Molnar Date: Tue Feb 17 23:12:48 2009 +0100 x86, apic: separate 32-bit setup functionality out of apic_32.c Impact: build fix, cleanup A couple of arch setup callbacks were mistakenly in apic_32.c, breaking the build. Also simplify the code a bit. Signed-off-by: Ingo Molnar commit a7eb518998529c08cc53fef17756d9fe433b0c23 Author: H. Peter Anvin Date: Tue Feb 17 13:01:51 2009 -0800 x86: truncate ISA addresses to unsigned int Impact: Cleanup; fix inappropriate macro use ISA addresses on x86 are mapped 1:1 with the physical address space. Since the ISA address space is only 24 bits (32 for VLB or LPC) it will always fit in an unsigned int, and at least in the aha1542 driver using a wider type would cause an undesirable promotion. Hence explicitly cast the ISA bus addresses to unsigned int. Signed-off-by: H. Peter Anvin Cc: James Bottomley commit f17c75453b2d195eba0a90d9f16a3ba88c85b3b4 Author: Ingo Molnar Date: Tue Feb 17 20:43:37 2009 +0100 irq: name 'p' variables a bit better 'p' stands for pointer - make it clear in setup_irq() and free_irq() what kind of pointer it is. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 2a05180fe2e5b414f0cb2ccfc80e6c90563e3c67 Author: Ingo Molnar Date: Tue Feb 17 20:35:16 2009 +0100 x86, apic: move remaining APIC drivers to arch/x86/kernel/apic/* Move the 32-bit extended-arch APIC drivers to arch/x86/kernel/apic/ too, and rename apic_64.c to probe_64.c. Signed-off-by: Ingo Molnar commit 8316e38100c70cd1443ac90074eccdd033aa218d Author: Ingo Molnar Date: Tue Feb 17 20:28:29 2009 +0100 irq: further clean up the free_irq() code flow Linus noticed that the 'pp' variable can be eliminated altogether, and the loop can be cleaned up further. Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 35ebf1caa4854ad5ba25f3a72967acc064147994 Author: Steven Rostedt Date: Tue Feb 17 13:12:12 2009 -0500 ftrace: show unlimited when traceon or traceoff has no counter Impact: clean up The traceon and traceoff function probes are confusing to developers to what happens when a counter is not specified. This should help clear things up. # echo "*:traceoff" > set_ftrace_filter # cat /debug/tracing/set_ftrace_filter #### all functions enabled #### do_fork:traceoff:unlimited Signed-off-by: Steven Rostedt commit 73d8b8bc4f24a97a406d09c8268ac019f4ac661e Author: Wenji Huang Date: Tue Feb 17 01:10:02 2009 -0500 tracing: fix typing mistake in hint message and comments Impact: cleanup Fix incorrect hint message in code and typos in comments. Signed-off-by: Wenji Huang Signed-off-by: Steven Rostedt commit d2ef7c2f0f9ab48c25eafc0ebad0df5f7930420b Author: Wenji Huang Date: Tue Feb 17 01:09:47 2009 -0500 tracing: fix the return value of trace selftest This patch is to fix the return value of trace_selftest_startup_sysprof and trace_selftest_startup_branch on failure. Signed-off-by: Wenji Huang Signed-off-by: Steven Rostedt commit af513098452b8887d7c0e15a39d7cb74479501bd Author: Wenji Huang Date: Tue Feb 17 01:07:28 2009 -0500 tracing: use the more proper parameter Pass tsk to tracing_record_cmdline instead of current. Signed-off-by: Wenji Huang Signed-off-by: Steven Rostedt commit b6887d7916e44c1d8913084fb6aa5004d9473f1a Author: Steven Rostedt Date: Tue Feb 17 12:32:04 2009 -0500 ftrace: rename _hook to _probe Impact: clean up Ingo Molnar did not like the _hook naming convention used by the select function tracer. Luis Claudio R. Goncalves suggested using the "_probe" extension. This patch implements the change of calling the functions and variables "_hook" and replacing them with "_probe". Signed-off-by: Steven Rostedt commit f62bae5009c1ba596cd475cafbc83e0570a36e26 Author: Ingo Molnar Date: Tue Feb 17 18:09:24 2009 +0100 x86, apic: move APIC drivers to arch/x86/kernel/apic/* arch/x86/kernel/ is getting a bit crowded, and the APIC drivers are scattered into various different files. Move them to arch/x86/kernel/apic/*, and also remove the 'gen' prefix from those which had it. Also move APIC related functionality: the IO-APIC driver, the NMI and the IPI code. Signed-off-by: Ingo Molnar commit be163a159b223e94b3180afdd47a8d468eb9a492 Author: Ingo Molnar Date: Tue Feb 17 16:28:46 2009 +0100 x86, apic: rename 'genapic' to 'apic' Impact: cleanup Now that all APIC code is consolidated there's nothing 'gen' about apics anymore - so rename 'struct genapic' to 'struct apic'. This shortens the code and is nicer to read as well. Signed-off-by: Ingo Molnar commit ab6fb7c0b03e2c3286f316c840347be8b9ee3d9f Author: Ingo Molnar Date: Tue Feb 17 16:22:09 2009 +0100 x86, apic: remove ->store_NMI_vector() Impact: cleanup It's not used by anything anymore. Signed-off-by: Ingo Molnar commit cb81eaedf12d3e5e6e3dcf3320089660f7fb7464 Author: Ingo Molnar Date: Tue Feb 17 17:53:54 2009 +0100 x86, numaq_32: clean up, misc Impact: cleanup - misc other cleanups that change the md5 signature - consolidate global variables - remove unnecessary __numaq_mps_oem_check() wrapper - make numaq_mps_oem_check static - update copyrights - misc other cleanups pointed out by checkpatch Signed-off-by: Ingo Molnar commit 36afc3af04f4d3dfa709f7659fcadb3336d66ed2 Author: Ingo Molnar Date: Tue Feb 17 15:50:25 2009 +0100 x86, numaq_32: clean up Impact: cleanup - refactor smp_dump_qct() - tidy up include files, remove duplicates - misc other cleanups, pointed out by checkpatch No code changed: md5: 9c0bc01a53558c77df0f2ebcda7e11a9 numaq_32.o.before.asm 9c0bc01a53558c77df0f2ebcda7e11a9 numaq_32.o.after.asm Signed-off-by: Ingo Molnar commit 7da18ed924b182f8174de243c55a323c56398675 Author: Ingo Molnar Date: Tue Feb 17 15:29:30 2009 +0100 x86, es7000: misc cleanups These are cleanups that change the md5 signature: - asm/ => linux/ include conversion - simplify the code flow of find_unisys_acpi_oem_table() - move ACPI methods into one #ifdef block - remove 0/NULL initialization of statics - simplify/standardize printouts - update copyrights - more cleanups, pointed out by checkpatch arch/x86/kernel/es7000_32.o: text data bss dec hex filename 2693 192 44 2929 b71 es7000_32.o.before 2688 192 44 2924 b6c es7000_32.o.after Signed-off-by: Ingo Molnar commit 352887d1c9d99d4c2f0fbac6176ef0cd4fe7a820 Author: Ingo Molnar Date: Tue Feb 17 15:17:55 2009 +0100 x86, es7000: remove dead code, clean up Impact: cleanup - a number of structure definitions were stale - remove needless wrappers around apic definitions - fix details noticed by checkpatch No code changed: md5: 029d8fde0aaf6e934ea63bd8b36430fd es7000_32.o.before.asm 029d8fde0aaf6e934ea63bd8b36430fd es7000_32.o.after.asm Signed-off-by: Ingo Molnar commit d3185b37df05e9ad7ce987a9a0419ffe1af9d23f Author: Ingo Molnar Date: Tue Feb 17 15:13:05 2009 +0100 x86, es7000: remove externs Impact: cleanup In the subarch times there were a number of externs between various bits of the ES7000 code. Now that there's a single es7000-platform support file, the externs can be removed and the functions can be changed the statics. Beyond the cleanup factor, this also shrinks the size of the kernel image a bit: arch/x86/kernel/es7000_32.o: text data bss dec hex filename 2813 192 44 3049 be9 es7000_32.o.before 2693 192 44 2929 b71 es7000_32.o.after Signed-off-by: Ingo Molnar commit b9e0d1aa9767707cad24db32d8ce0409df16d491 Author: Ingo Molnar Date: Tue Feb 17 15:09:08 2009 +0100 x86, apic: remove apicid_cluster() There were multiple definitions of apicid_cluster() scattered around in APIC drivers - but the definitions are equivalent to the already existing generic APIC_CLUSTER() method. So remove apicid_cluster() and change all users to APIC_CLUSTER(). No code changed: md5: 1b8244ba8d3d6a454593ce10f09dfa58 summit_32.o.before.asm 1b8244ba8d3d6a454593ce10f09dfa58 summit_32.o.after.asm md5: a593d98a882bf534622c70d9568497ac es7000_32.o.before.asm a593d98a882bf534622c70d9568497ac es7000_32.o.after.asm Signed-off-by: Ingo Molnar commit 2c4ce18c95d632c9227ebcc6d45da11a9ef1ec70 Author: Ingo Molnar Date: Tue Feb 17 14:57:16 2009 +0100 x86, es7000: clean up No code changed: arch/x86/kernel/es7000_32.o: text data bss dec hex filename 2813 192 44 3049 be9 es7000_32.o.before 2813 192 44 3049 be9 es7000_32.o.after md5: a593d98a882bf534622c70d9568497ac es7000_32.o.before.asm a593d98a882bf534622c70d9568497ac es7000_32.o.after.asm Signed-off-by: Ingo Molnar commit 2f205bc47f615b7bd0c7aba817d67ce25760eaf1 Author: Ingo Molnar Date: Tue Feb 17 14:45:30 2009 +0100 x86, apic: clean up the cpu_2_logical_apiciddeclaration extern declarations were scattered in 4 files - consolidate them into apic.h. Signed-off-by: Ingo Molnar commit 77313190d121dd1fffa965aff6e9f0782a307bb8 Author: Ingo Molnar Date: Tue Feb 17 14:09:20 2009 +0100 x86, apic: clean up arch/x86/kernel/bigsmp_32.c Impact: cleanup - remove unnecessary indirections that were artifacts of the subarch code - clean up include file section - clean up various small details Signed-off-by: Ingo Molnar commit 5c615feb90ce63f2293a7ac7809f320f46c75e0a Author: Ingo Molnar Date: Tue Feb 17 14:04:24 2009 +0100 x86, apic: remove stale references to APIC_DEFINITION Impact: cleanup APIC_DEFINITION was a hack from the x86 subarch times, it has no meaning anymore - remove it. Signed-off-by: Ingo Molnar commit e641f5f525acb163ba71d92de79c9c7366deae03 Author: Ingo Molnar Date: Tue Feb 17 14:02:01 2009 +0100 x86, apic: remove duplicate asm/apic.h inclusions Impact: cleanup Signed-off-by: Ingo Molnar commit 7b6aa335ca1a845c2262ec7a595b4521bca0f79d Author: Ingo Molnar Date: Tue Feb 17 13:58:15 2009 +0100 x86, apic: remove genapic.h Impact: cleanup Remove genapic.h and remove all references to it. Signed-off-by: Ingo Molnar commit e2780a68f889c9d7ec8e78d58a3a2be8cfebf202 Author: Ingo Molnar Date: Tue Feb 17 13:52:29 2009 +0100 x86, apic: merge genapic.h into apic.h Impact: cleanup Reduce the number of include files to worry about. Also, most of the users of APIC facilities had to include genapic.h already, which embedded apic.h, so the distinction was meaningless. [ include apic.h from genapic.h for compatibility. ] Signed-off-by: Ingo Molnar commit 28aa29eeb3918f820b914679cfc4404972f2df32 Author: Ingo Molnar Date: Tue Feb 17 14:36:42 2009 +0100 remove: genapic prepare Signed-off-by: Ingo Molnar commit 6a24a244cd3a02d5b290293c32fcf2c6e92b4235 Author: Steven Rostedt Date: Tue Feb 17 11:20:26 2009 -0500 ftrace: clean up coding style Ingo Molnar pointed out some coding style issues with the recent ftrace updates. This patch cleans them up. Signed-off-by: Steven Rostedt commit 22d22ee5146ae823b1e93fe2887a7cba56015091 Author: Mark Brown Date: Mon Feb 16 19:20:15 2009 +0000 ASoC: Clean up WM8731 bias level configuration The WM8731 bias level configuration function was written slightly obscurely - streamline the code a little and refresh the comments. Signed-off-by: Mark Brown commit 7b317b692a03a870d7acda0a0bd4d211f1c064fe Author: Mark Brown Date: Mon Feb 16 14:08:22 2009 +0000 ASoC: Remove version display from the WM8731 driver It makes boot a bit more noisy and I never remember to update it. Signed-off-by: Mark Brown commit 31b59cf9cebb5bb675f49fe44814bbb7270374cc Author: Paul Fertser Date: Mon Feb 16 02:49:41 2009 +0300 ASoC: Fix WM8753 DAIs unregistering WM8753 uses a tricky way to switch DAIs "on the fly", for that it registers 2 dummy DAIs and substitutes them depending on mixer control. List element of registered dummy DAIs should be preserved to allow unregistering of DAIs on module unload. Signed-off-by: Paul Fertser Signed-off-by: Mark Brown commit 7d01d32d3b9becd6deba318b718db3d9fc181d23 Author: Ingo Molnar Date: Tue Feb 17 12:33:20 2009 +0100 x86, apic: fix build fallout of genapic changes - make oprofile build - select X86_X2APIC from X86_UV - it relies on it - export genapic for oprofile modular build Signed-off-by: Ingo Molnar commit c1eeb2de41d7015678bdd412b48a5f071b84e29a Author: Yinghai Lu Date: Mon Feb 16 23:02:14 2009 -0800 x86: fold apic_ops into genapic Impact: cleanup make it simpler, don't need have one extra struct. v2: fix the sgi_uv build Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 06cd9a7dc8a58186060a91b6ddc031057435fd34 Author: Yinghai Lu Date: Mon Feb 16 17:29:58 2009 -0800 x86: add x2apic config Impact: cleanup so could deselect x2apic and INTR_REMAP will select x2apic Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 9f361c221912b6ffa1f7836e0bbf843917f6fce7 Merge: 494df59... ee8b53c... Author: Ingo Molnar Date: Tue Feb 17 12:21:12 2009 +0100 Merge branch 'x86/headers' into x86/core commit ee8b53c1cfe33aecf0c77c0aa3ce437f0d84d831 Author: Ingo Molnar Date: Tue Feb 17 12:20:13 2009 +0100 x86: remove stale arch/x86/include/asm/page_64.h.rej file Introduced by: 51c78eb: x86: create _types.h counterparts for page*.h Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 494df596f9c315e20523894caa2a2938db3e5d8d Merge: 970ec1a... 98c061b... f6db44d... 22796b1... 694aa96... be71661... c996086... Author: Ingo Molnar Date: Tue Feb 17 12:07:00 2009 +0100 Merge branches 'x86/acpi', 'x86/apic', 'x86/cpudetect', 'x86/headers', 'x86/paravirt', 'x86/urgent' and 'x86/xen'; commit 'v2.6.29-rc5' into x86/core commit 73d3fd96e77745742f3750b7b19ee42204adc210 Author: Ingo Molnar Date: Tue Feb 17 11:48:18 2009 +0100 ftrace: fix !CONFIG_DYNAMIC_FTRACE ftrace_swapper_pid definition Impact: build fix Signed-off-by: Ingo Molnar commit 97d0bb8dcd8c2812e1927cdb51d7b1f9c98352b5 Author: Ingo Molnar Date: Tue Feb 17 11:47:39 2009 +0100 ftrace: fix !CONFIG_FTRACE [un_]register_ftrace_command() prototypes Impact: build fix Signed-off-by: Ingo Molnar commit ec32816f94a0baf90f5e73033dcdbc8679c7f91d Author: Eric Sesterhenn Date: Fri Feb 13 09:13:11 2009 +0100 UBIFS: list usage cleanup Trivial cleanup, list_del(); list_add{,_tail}() is equivalent to list_move{,_tail}(). Semantic patch for coccinelle can be found at www.cccmz.de/~snakebyte/list_move_tail.spatch Signed-off-by: Eric Sesterhenn Signed-off-by: Artem Bityutskiy commit f492d3f8385a98f828e8220d14492337dc29e07b Merge: c4e2b43... e110e3d... Author: Ingo Molnar Date: Tue Feb 17 11:31:01 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit c4e2b432d5b57e2faaeea048079b31c243079647 Merge: a234aa9... 72b623c... Author: Ingo Molnar Date: Tue Feb 17 11:29:53 2009 +0100 Merge branches 'tracing/hw-branch-tracing' and 'tracing/power-tracer' into tracing/core commit cda9043d56cee9fea39e4ee33fd605ae477a1950 Author: Takashi Iwai Date: Tue Feb 17 08:10:54 2009 +0100 ALSA: cs4236 - Merge snd-cs4236-lib module into snd-cs4236 Since cs4232 and cs4236 drivers are merged, there is no reason to keep snd-cs4236-lib module separately. Let's merge it into the main driver as well. Signed-off-by: Takashi Iwai commit b22f5d94c432e97df8d85151fcf3da16cee75f04 Author: Takashi Iwai Date: Tue Feb 17 08:02:16 2009 +0100 sound: OSS: ad1848 - Fix another typo Fix another typo of || and &&. Reported-by: Jörg-Volker Peetz Signed-off-by: Takashi Iwai commit 83807400794a1d680a4fb70a610c5f486e734f45 Author: Takashi Iwai Date: Tue Feb 17 07:59:40 2009 +0100 ALSA: au88x0 - Fix &&|| typo Fixed a typo of || and &&. As it's in a disabled code section, there is no behavior change, though. Reported-by: Jörg-Volker Peetz Signed-off-by: Takashi Iwai commit 426328963078f644c7194403a308588cf684d4c6 Author: Steve Wise Date: Mon Feb 16 21:23:32 2009 -0800 RDMA/cxgb3: Remove modulo math from build_rdma_recv() Remove modulo usage to avoid a divide in the fast path (not all gcc versions do strength reduction here). Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit e110e3d1eaa0f9628918be67ddd32e8ad65a2871 Author: Steven Rostedt Date: Mon Feb 16 23:38:13 2009 -0500 ftrace: add pretty print function for traceon and traceoff hooks This patch adds a pretty print version of traceon and traceoff output for set_ftrace_filter. # echo 'sys_open:traceon:4' > set_ftrace_filter # cat set_ftrace_filter #### all functions enabled #### sys_open:traceon:count=4 Signed-off-by: Steven Rostedt commit 809dcf29ce4e1723709910878e050bd187617e0e Author: Steven Rostedt Date: Mon Feb 16 23:06:01 2009 -0500 ftrace: add pretty print to selected fuction traces This patch adds a call back for the tracers that have hooks to selected functions. This allows the tracer to show better output in the set_ftrace_filter file. Signed-off-by: Steven Rostedt commit 8fc0c701c5b6c0c3e242758c3acef6f9047940a9 Author: Steven Rostedt Date: Mon Feb 16 15:28:00 2009 -0500 ftrace: show selected functions in set_ftrace_filter This patch adds output to show what functions have tracer hooks attached to them. # echo 'sys_open:traceon:4' > /debug/tracing/set_ftrace_filter # cat set_ftrace_filter #### all functions enabled #### sys_open:ftrace_traceon:0000000000000004 # echo 'do_fork:traceoff:' > set_ftrace_filter # cat set_ftrace_filter #### all functions enabled #### sys_open:ftrace_traceon:0000000000000002 do_fork:ftrace_traceoff:ffffffffffffffff Note the 4 changed to a 2. This is because The code was executed twice since the traceoff was added. If a cat is done again: #### all functions enabled #### sys_open:ftrace_traceon do_fork:ftrace_traceoff:ffffffffffffffff The number disappears. That is because it will not print a NULL. Callbacks to allow the tracer to pretty print will be implemented soon. Signed-off-by: Steven Rostedt commit 23b4ff3aa479c9e3bb23cb6b2d0a97878399784a Author: Steven Rostedt Date: Sat Feb 14 19:04:24 2009 -0500 ftrace: add traceon traceoff commands to enable/disable the buffers This patch adds the new function selection commands traceon and traceoff. traceon sets the function to enable the ring buffers while traceoff disables the ring buffers. You can pass in the number of times you want the command to be executed when the function is hit. It will only execute if the state of the buffers are not already in that state. Example: # echo do_fork:traceon:4 Will enable the ring buffers if they are disabled every time it hits do_fork, up to 4 times. # echo sys_close:traceoff This will disable the ring buffers every time (unlimited) when sys_close is called. Signed-off-by: Steven Rostedt commit 988ae9d6b2bc3ebdc1a488490250a6812f85e9d4 Author: Steven Rostedt Date: Sat Feb 14 19:17:02 2009 -0500 ring-buffer: add tracing_is_on to test if ring buffer is enabled This patch adds the tracing_is_on() interface to tell if the ring buffer is turned on or not. Signed-off-by: Steven Rostedt commit 59df055f1991c9fc0c71a9230663c39188f6972f Author: Steven Rostedt Date: Sat Feb 14 15:29:06 2009 -0500 ftrace: trace different functions with a different tracer Impact: new feature Currently, the function tracer only gives you an ability to hook a tracer to all functions being traced. The dynamic function trace allows you to pick and choose which of those functions will be traced, but all functions being traced will call all tracers that registered with the function tracer. This patch adds a new feature that allows a tracer to hook to specific functions, even when all functions are being traced. It allows for different functions to call different tracer hooks. The way this is accomplished is by a special function that will hook to the function tracer and will set up a hash table knowing which tracer hook to call with which function. This is the most general and easiest method to accomplish this. Later, an arch may choose to supply their own method in changing the mcount call of a function to call a different tracer. But that will be an exercise for the future. To register a function: struct ftrace_hook_ops { void (*func)(unsigned long ip, unsigned long parent_ip, void **data); int (*callback)(unsigned long ip, void **data); void (*free)(void **data); }; int register_ftrace_function_hook(char *glob, struct ftrace_hook_ops *ops, void *data); glob is a simple glob to search for the functions to hook. ops is a pointer to the operations (listed below) data is the default data to be passed to the hook functions when traced ops: func is the hook function to call when the functions are traced callback is a callback function that is called when setting up the hash. That is, if the tracer needs to do something special for each function, that is being traced, and wants to give each function its own data. The address of the entry data is passed to this callback, so that the callback may wish to update the entry to whatever it would like. free is a callback for when the entry is freed. In case the tracer allocated any data, it is give the chance to free it. To unregister we have three functions: void unregister_ftrace_function_hook(char *glob, struct ftrace_hook_ops *ops, void *data) This will unregister all hooks that match glob, point to ops, and have its data matching data. (note, if glob is NULL, blank or '*', all functions will be tested). void unregister_ftrace_function_hook_func(char *glob, struct ftrace_hook_ops *ops) This will unregister all functions matching glob that has an entry pointing to ops. void unregister_ftrace_function_hook_all(char *glob) This simply unregisters all funcs. Signed-off-by: Steven Rostedt commit e6ea44e9b4c12325337cd1c06103cd515a1c02b2 Author: Steven Rostedt Date: Sat Feb 14 01:42:44 2009 -0500 ftrace: consolidate mutexes Impact: clean up Now that ftrace_lock is a mutex, there is no reason to have three different mutexes protecting similar data. All the mutex paths are not in hot paths, so having a mutex to cover more data is not a problem. This patch removes the ftrace_sysctl_lock and ftrace_start_lock and uses the ftrace_lock to protect the locations that were protected by these locks. By doing so, this change also removes some of the lock nesting that was taking place. There are still more mutexes in ftrace.c that can probably be consolidated, but they can be dealt with later. We need to be careful about the way the locks are nested, and by consolidating, we can cause a recursive deadlock. Signed-off-by: Steven Rostedt commit 52baf11922db7377b580dd5448a07f71c6a35611 Author: Steven Rostedt Date: Sat Feb 14 01:15:39 2009 -0500 ftrace: convert ftrace_lock from a spinlock to mutex Impact: clean up The older versions of ftrace required doing the ftrace list search under atomic context. Now all the calls are in non-atomic context. There is no reason to keep the ftrace_lock as a spinlock. This patch converts it to a mutex. Signed-off-by: Steven Rostedt commit c844a5d38e4247fc71e371221cf762a2a44d565b Author: Takashi Iwai Date: Mon Feb 16 23:17:33 2009 +0100 ALSA: Fix documentation for snd-cs4236 driver Updated; removal of snd-cs4232 entry. Signed-off-by: Takashi Iwai commit f6180773d90595650e11de0118bb112018290915 Author: Steven Rostedt Date: Sat Feb 14 00:40:25 2009 -0500 ftrace: add command interface for function selection Allow for other tracers to add their own commands for function selection. This interface gives a trace the ability to name a command for function selection. Right now it is pretty limited in what it offers, but this is a building step for more features. The :mod: command is converted to this interface and also serves as a template for other implementations. Signed-off-by: Steven Rostedt commit c2b73d1458014a9f461b75bc1756a699a6c0781f Author: Krzysztof Helt Date: Mon Feb 16 21:38:37 2009 +0100 ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection cs4232 and cs4236 driver merge to solve PnP BIOS detection. Also, the patch adds recognition if the chip is cs4236b+ or earlier part. This unifies drivers for both cs4232 and cs4236+ chips. It allows to use the PnP BIOS detection for the cs4236+ chips. Previously, only the snd-cs4232 could be detected by the PnP BIOS. The cs4232+ cards reports two separate PnP BIOS ids. The patch adds search for the second id to find out resources assigned to a control port. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 96cf45cf559be375de29dd45afc50fa8946fb2aa Merge: 4c9f1d3... b1a0aac... Author: Takashi Iwai Date: Mon Feb 16 23:03:57 2009 +0100 Merge branch 'topic/snd_card_new-err' into topic/cs423x-merge commit e68746a271eb3393a2183840be9e903caddf765b Author: Steven Rostedt Date: Fri Feb 13 20:53:42 2009 -0500 ftrace: enable filtering only when a function is filtered on Impact: fix to prevent empty set_ftrace_filter and no ftrace output The function filter is used to only trace a given set of functions. The filter is enabled when a function name is echoed into the set_ftrace_filter file. But if the name has a typo and the function is not found, the filter is enabled, but no function is listed. This makes a confusing situation where set_ftrace_filter is empty but no functions ever get enabled for tracing. For example: # cat /debug/tracing/set_ftrace_filter #### all functions enabled #### # echo bad_name > set_ftrace_filter # cat /debug/tracing/set_ftrace_filter # echo function > current_tracer # cat trace # tracer: nop # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | This patch changes that to only enable filtering if a function is set to be filtered on. Now, the filter is not enabled if a bad name is echoed into set_ftrace_filter. Signed-off-by: Steven Rostedt commit 64e7c440618998fd69eee6ab490b042d12248021 Author: Steven Rostedt Date: Fri Feb 13 17:08:48 2009 -0500 ftrace: add module command function filter selection This patch adds a "command" syntax to the function filtering files: /debugfs/tracing/set_ftrace_filter /debugfs/tracing/set_ftrace_notrace Of the format: :: The command is optional, and dependent on the command, so are the parameters. echo do_fork > set_ftrace_filter Will only trace 'do_fork'. echo 'sched_*' > set_ftrace_filter Will only trace functions starting with the letters 'sched_'. echo '*:mod:ext3' > set_ftrace_filter Will trace only the ext3 module functions. echo '*write*:mod:ext3' > set_ftrace_notrace Will prevent the ext3 functions with the letters 'write' in the name from being traced. echo '!*_allocate:mod:ext3' > set_ftrace_filter Will remove the functions in ext3 that end with the letters '_allocate' from the ftrace filter. Although this patch implements the 'command' format, only the 'mod' command is supported. More commands to follow. Signed-off-by: Steven Rostedt commit 9f4801e30ad291e27284e873696da1ead92d68fa Author: Steven Rostedt Date: Fri Feb 13 15:56:43 2009 -0500 ftrace: break up ftrace_match_records into smaller components Impact: clean up ftrace_match_records does a lot of things that other features can use. This patch breaks up ftrace_match_records and pulls out ftrace_setup_glob and ftrace_match_record. ftrace_setup_glob prepares a simple glob expression for use with ftrace_match_record. ftrace_match_record compares a single record with a glob type. Breaking this up will allow for more features to run on individual records. Signed-off-by: Steven Rostedt commit 7f24b31b01a271b62346d9df084b029e48612163 Author: Steven Rostedt Date: Fri Feb 13 14:37:33 2009 -0500 ftrace: rename ftrace_match to ftrace_match_records Impact: clean up ftrace_match is too generic of a name. What it really does is search all records and matches the records with the given string, and either sets or unsets the functions to be traced depending on if the parameter 'enable' is set or not. This allows us to make another function called ftrace_match that can be used to test a single record. Signed-off-by: Steven Rostedt commit 265c831cb03d533cbe159af45798ac9fef534260 Author: Steven Rostedt Date: Fri Feb 13 12:43:56 2009 -0500 ftrace: add do_for_each_ftrace_rec and while_for_each_ftrace_rec Impact: clean up To iterate over all the functions that dynamic trace knows about it requires two for loops. One to iterate over the pages and the other to iterate over the records within the page. There are several duplications of these loops in ftrace.c. This patch creates the macros do_for_each_ftrace_rec and while_for_each_ftrace_rec to handle this logic, and removes the duplicate code. While making this change, I also discovered and fixed a small bug that one of the iterations should exit the loop after it found the record it was searching for. This used a break when it should have used a goto, since there were two loops it needed to break out from. No real harm was done by this bug since it would only continue to search the other records, and the code was in a slow path anyway. Signed-off-by: Steven Rostedt commit 0c75a3ed633419d75d823d5dcb05d42924c6ae61 Author: Steven Rostedt Date: Mon Feb 16 11:21:52 2009 -0500 ftrace: state that all functions are enabled in set_ftrace_filter Impact: clean up, make set_ftrace_filter less confusing The set_ftrace_filter shows only the functions that will be traced. But when it is empty, it will trace all functions. This can be a bit confusing. This patch makes set_ftrace_filter show: #### all functions enabled #### When all functions will be traced, and we do not filter only a select few. Signed-off-by: Steven Rostedt commit c23127566c7a54c8413bf1b99becea76072f467e Author: Takashi Iwai Date: Mon Feb 16 15:20:41 2009 +0100 ALSA: hda - Clean up quirks for HP laptops with AD1984A Clean up quirks for HP laptops with AD1984A using SND_PCI_QUIRK_MASK() Signed-off-by: Takashi Iwai commit 2ae466f8cc522843fa9a456e46007dd98b052b13 Author: Takashi Iwai Date: Mon Feb 16 14:16:36 2009 +0100 ALSA: hda - Cleanup IDT92HD7x HP quirks Clean up IDT92HD7x quirks for HP laptops with SND_PCI_QUIRK_MASK(). Signed-off-by: Takashi Iwai commit 2b8f836fb196acede88b6cc772e9057e0a9c0223 Author: Américo Wang Date: Mon Feb 16 18:54:21 2009 +0800 sched: use TASK_NICE for task_struct #define TASK_NICE(p) PRIO_TO_NICE((p)->static_prio) So it's better to use TASK_NICE here. Signed-off-by: WANG Cong Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a259cb8eb784352ee9ce46a4fc6cd94fc2fbc68d Author: Roel Kluin Date: Sun Feb 15 20:51:19 2009 +0100 sound: OSS: &&/|| typo in ad1848.c &&/|| typo Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit e23573d7e350b06416f311f0129b945d33492001 Merge: e2ea57a... d14a7e0... Author: Takashi Iwai Date: Mon Feb 16 10:23:35 2009 +0100 Merge branch 'fix/hda' into topic/hda commit e2ea57a8df6da45f5f63ab7b56528a552f36fb72 Author: Herton Ronaldo Krzesinski Date: Mon Feb 16 10:23:00 2009 +0100 ALSA: hda - Fix speaker output on HP DV4 1155-SE Force speaker pin config with model=hp-dv5 model for cases when bios doesn't set it up properly. All reported hp laptops using model=hp-dv5 model have speaker at pin 0x0d with same config, so it's safe to add this within hp-dv5 model. Reference: alsa-devel mailing list thread on http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014390.html Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 98c061b6cf2e7a1010286a7a4f672c4623e1b3e0 Author: Yinghai Lu Date: Mon Feb 16 00:00:50 2009 -0800 x86: make APIC_init_uniprocessor() more like smp_prepare_cpus() Impact: cleanup 1. move localise_nmi_watchdog() later 2. change setup_boot_APIC_clock() to setup_boot_clock() for 64-bit Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 3bd25d0fa3ed588a6735b815cb0c146c23888ace Author: Yinghai Lu Date: Sun Feb 15 02:54:03 2009 -0800 x86: pre init pirq_entries[] Impact: cleanup set default value early - this allows the removal of a number of dynamic initialization codepaths, and an #ifdef. Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 1c10c49d83e2062b309cc88e8eb3abb05d397480 Author: Thomas Gleixner Date: Mon Feb 16 00:08:56 2009 -0800 net: replace commatas with semicolons Impact: syntax fix Interestingly enough this compiles w/o any complaints: orphans = percpu_counter_sum_positive(&tcp_orphan_count), sockets = percpu_counter_sum_positive(&tcp_sockets_allocated), Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 914e1c8b6980c516667375d3e55f0b6e674c8c58 Author: Vlad Yasevich Date: Fri Feb 13 08:33:44 2009 +0000 sctp: Inherit all socket options from parent correctly. During peeloff/accept() sctp needs to save the parent socket state into the new socket so that any options set on the parent are inherited by the child socket. This was found when the parent/listener socket issues SO_BINDTODEVICE, but the data was misrouted after a route cache flush. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit faee47cdbfe8d74a1573c2f81ea6dbb08d735be6 Author: Vlad Yasevich Date: Fri Feb 13 08:33:43 2009 +0000 sctp: Fix the RTO-doubling on idle-link heartbeats SCTP incorrectly doubles rto ever time a Hearbeat chunk is generated. However RFC 4960 states: On an idle destination address that is allowed to heartbeat, it is recommended that a HEARTBEAT chunk is sent once per RTO of that destination address plus the protocol parameter 'HB.interval', with jittering of +/- 50% of the RTO value, and exponential backoff of the RTO if the previous HEARTBEAT is unanswered. Essentially, of if the heartbean is unacknowledged, do we double the RTO. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 4458f04c02a46c679a90ef71f866a415c192deb4 Author: Vlad Yasevich Date: Fri Feb 13 08:33:42 2009 +0000 sctp: Clean up sctp checksumming code The sctp crc32c checksum is always generated in little endian. So, we clean up the code to treat it as little endian and remove all the __force casts. Suggested by Herbert Xu. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 06e868066e3b5828383eb40ff4d1c0029100b0b5 Author: Lucas Nussbaum Date: Fri Feb 13 08:33:41 2009 +0000 sctp: Allow to disable SCTP checksums via module parameter This is a new version of my patch, now using a module parameter instead of a sysctl, so that the option is harder to find. Please note that, once the module is loaded, it is still possible to change the value of the parameter in /sys/module/sctp/parameters/, which is useful if you want to do performance comparisons without rebooting. Computation of SCTP checksums significantly affects the performance of SCTP. For example, using two dual-Opteron 246 connected using a Gbe network, it was not possible to achieve more than ~730 Mbps, compared to 941 Mbps after disabling SCTP checksums. Unfortunately, SCTP checksum offloading in NICs is not commonly available (yet). By default, checksums are still enabled, of course. Signed-off-by: Lucas Nussbaum Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 85e8d004ecbc51ead6ae926e15973b42cf07b36e Author: Alexander Duyck Date: Mon Feb 16 00:00:20 2009 -0800 igb: transition driver to only using advanced descriptors Currently the driver uses advanced descriptors for its main functionality, but then uses legacy when testing. This patch changes this so that advanced descriptors are used throughout and all mentions of legacy descriptors are removed. Signed-off-by: Alexander Duyck Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cbd347adfee2ba52a8ef85f92a46933d5840cc39 Author: Alexander Duyck Date: Sun Feb 15 23:59:44 2009 -0800 igb: remove unused defines This patch removes all of the unused defines from the .h files contained in igb. For some defines there was a use and so I plugged them into the correct locations. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c99608637eac8834d830496c462c054137772122 Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:38:56 2009 -0800 x86, xen: do multicall callbacks with interrupts disabled We can't call the callbacks after enabling interrupts, as we may get a nested multicall call, which would cause a great deal of havok. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3d39e9d07b576ee72f2c94cfad9e618fe21763b2 Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:38:51 2009 -0800 x86, xen: degrade BUG to WARN when multicall fails If one of the components of a multicall fails, WARN rather than BUG, to help with debugging. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit b93d51dc62a41b5c2d6f32a0870709dc0cc55545 Author: Ian Campbell Date: Fri Feb 6 13:35:57 2009 -0800 x86, xen: record and display initiator of each multicall when debugging Store the caller for each multicall so we can report it on failure. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit bc1cbd3493c7a6b44fa6a1e6040ae3d9640d47c4 Author: Alexander Duyck Date: Fri Feb 13 14:45:17 2009 +0000 igb: misc cleanup to combine one if statement This patch combines a pair of if statements into one. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher CC: Ben Hutchings Signed-off-by: David S. Miller commit 56fbbb4e619f4bf604c350e3948a291bda759101 Author: Alexander Duyck Date: Thu Feb 12 18:17:42 2009 +0000 igb: cleanup incorrect comment and set IP Checksum Enable IP Checksum enable doesn't need packet split in order to function. It only requires the use of advanced descriptors which the current igb driver does. So we can enable it always without any issues. Signed-off-by: Alexander Duyck Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1e5c3d218ac19d5a5e9b3a8f09777c2b555b2499 Author: Alexander Duyck Date: Thu Feb 12 18:17:21 2009 +0000 igb: reduce size required to trigger low latency Update the Adaptive Interrupt Moderation algorithm so that the low latency state is triggered less easily to prevent high interrupt loads. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 73cd78f1d36da244b8b3b81d3a0f32372a636e5c Author: Alexander Duyck Date: Thu Feb 12 18:16:59 2009 +0000 igb: misc whitespace/formatting cleanups This patch is intended to hold several whitespace, formatting, and comment cleanups that have been found while cleaning up the igb driver. Signed-off-by: Alexander Duyck Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9033304a1520df346862c95743a6c2023f21f057 Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:35:44 2009 -0800 x86, xen: short-circuit tests for dom0 When testing for a dom0/initial/privileged domain, make sure the predicate evaluates to a compile-time 0 if CONFIG_XEN_DOM0 isn't enabled. This will make most of the dom0 code evaporate without much more effort. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit eaf5d59092dbed853bfab956ce123293832998f5 Author: Lennert Buytenhek Date: Thu Feb 12 14:08:39 2009 +0000 mv643xx_eth: implement Large Receive Offload Controlled by a compile-time (Kconfig) option for now, since it isn't a win in all cases. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit b8df184f88f06f985ae58248305ddc257dc016b8 Author: Lennert Buytenhek Date: Thu Feb 12 14:08:07 2009 +0000 mv643xx_eth: allow enabling/disabling tx checksumming via ethtool Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit d888b3738eba7ebc5844d5977c30e290dfbe435b Author: Lennert Buytenhek Date: Thu Feb 12 14:07:56 2009 +0000 mv643xx_eth: export rx csum get/set methods via ethtool Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit e7d2f4dbd9224ba50d6d5331bb0538d2ce9027f8 Author: Lennert Buytenhek Date: Thu Feb 12 14:07:37 2009 +0000 mv643xx_eth: implement ethtool rx/tx ring size query and resizing Rename the mp->default_[rt]x_ring_size variables to ->[rt]x_ring_size, allow them to be read via the standard ethtool ->get_ringparam() op, and add a ->set_ringparam() op to allow resizing them at run time. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 3e5080344e95c0861a7ca494288593023ee383c6 Author: Lennert Buytenhek Date: Thu Feb 12 14:07:09 2009 +0000 mv643xx_eth: rework interrupt coalescing, and export via ethtool This patch: - increases the precision of the receive/transmit interrupt coalescing register value computations by using 64bit temporaries; - adds functions to read the current hardware coalescing register values and convert them back to usecs; - exports the {get,set} {rx,tx} coal methods via the standard ethtool coalescing interface. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 6bdf576e4b068e86381280c58393cad42ffc8cc8 Author: Lennert Buytenhek Date: Thu Feb 12 14:06:46 2009 +0000 mv643xx_eth: unify ethtool ops for phy'd and phy-less interfaces It's a waste having two different versions of this structure around when the differences between ethtool ops for phy'd and phy-less interfaces are so minor. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit aa611f85d0d656870dbb906e75d8cac6acb58943 Author: Hannes Eder Date: Sat Feb 14 13:10:33 2009 +0000 drivers/isdn/hardware/mISDN: change type of hfc_jiffies to unsigned long Jiffies are unsigned long, make sure we fit in jiffies store variable on archs with bits per long > 32. Patch suggested by Jiri Slaby. Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit f8532fde95c53e8ef2b5ea44542c82c117d28041 Author: Hannes Eder Date: Thu Feb 12 09:32:41 2009 +0000 drivers/isdn/mISDN: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/isdn/mISDN/clock.c:44:1: warning: symbol 'iclock_lock' was not declared. Should it be static? drivers/isdn/mISDN/clock.c:45:9: warning: symbol 'iclock_count' was not declared. Should it be static? drivers/isdn/mISDN/clock.c:46:17: warning: symbol 'iclock_tv' was not declared. Should it be static? drivers/isdn/mISDN/clock.c:47:9: warning: symbol 'iclock_tv_valid' was not declared. Should it be static? drivers/isdn/mISDN/clock.c:48:20: warning: symbol 'iclock_current' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 6c2959aa7b81b83c9c4b4cb822bb7c0a637e869a Author: Hannes Eder Date: Thu Feb 12 09:28:40 2009 +0000 drivers/isdn/hardware/mISDN: fix sparse warnings: make symbols static Fix this sparse warnings: drivers/isdn/hardware/mISDN/hfcpci.c:59:19: warning: symbol 'hfc_tl' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcpci.c:60:9: warning: symbol 'hfc_jiffies' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcsusb.h:201:6: warning: symbol 'conf_str' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcsusb.h:319:12: warning: symbol 'HFC_TE_LAYER1_STATES' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcsusb.h:331:12: warning: symbol 'HFC_NT_LAYER1_STATES' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcsusb.c:38:12: warning: symbol 'hfcsusb_rev' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcsusb.c:978:1: warning: symbol 'fill_isoc_urb' was not declared. Should it be static? drivers/isdn/hardware/mISDN/hfcsusb.c:1724:1: warning: symbol 'setup_hfcsusb' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit 2b1440230abc8fae0271b012711ecaf64eb38f86 Author: Eilon Greenstein Date: Thu Feb 12 08:38:35 2009 +0000 bnx2x: Version And updating the year Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 356e23850b5ed4471470a918623021765fcaf125 Author: Eilon Greenstein Date: Thu Feb 12 08:38:32 2009 +0000 bnx2x: Clean-up Whitespaces, empty lines, 80 columns, indentations and removing redundant parenthesis Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f53722514242da8346cbed2223bcea9eed744ebd Author: Eilon Greenstein Date: Thu Feb 12 08:38:30 2009 +0000 bnx2x: Comments and prints Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9898f86d3927bf3526aef433c8ced0b51178c35c Author: Eilon Greenstein Date: Thu Feb 12 08:38:27 2009 +0000 bnx2x: Re-arrange module parameters Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 359d8b1599050977771190cf938ef010e951ee04 Author: Eilon Greenstein Date: Thu Feb 12 08:38:25 2009 +0000 bnx2x: Moving includes Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8440d2b63667c7d09ccbe43b8bd928d3c4662879 Author: Eilon Greenstein Date: Thu Feb 12 08:38:22 2009 +0000 bnx2x: Driver dump Re-arrange the driver debug print to support the Tx multi-queue and add support for debug prints at the end of the ring (when start Signed-off-by: David S. Miller commit 0febaa42a3fa90ce9453c67a549525f365b77a9d Author: Eilon Greenstein Date: Thu Feb 12 08:38:20 2009 +0000 bnx2x: Removing unused struct Signed-off-by: Harvey Harrison Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4781bfad732af717784ee6b5bcdd97f4c3e8f597 Author: Eilon Greenstein Date: Thu Feb 12 08:38:17 2009 +0000 bnx2x: Sparse endianity annotation Resolving the majority of the issues, but there are still some left for future patches. Signed-off-by: Harvey Harrison Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0626b89971d75b35698f208fd7abe4303e1588b9 Author: Eilon Greenstein Date: Thu Feb 12 08:38:14 2009 +0000 bnx2x: Removing redundant macros Signed-off-by: Harvey Harrison Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5cd65a93e9335393d5e1f18d35d337b7ba1280f8 Author: Eilon Greenstein Date: Thu Feb 12 08:38:11 2009 +0000 bnx2x: Better struct naming This is the device info from the chip shared memory - rename to avoid confusion Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b5bf9068ebb1b4012e4c0fef58490f97e6b6a0db Author: Eilon Greenstein Date: Thu Feb 12 08:38:08 2009 +0000 bnx2x: Loopback in diag mode When loading in diag mode, set the device to loopback instead of normal link and then changing it to loopback mode Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 26e029752c8f8671b1de83fe86906fc29f9eda92 Author: Eilon Greenstein Date: Thu Feb 12 08:38:01 2009 +0000 bnx2x: Optimize chip MPS configuration Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit cfb18c5cb7ef5506a2864f9ec360cbb2ca6e8d28 Author: Eilon Greenstein Date: Thu Feb 12 08:37:57 2009 +0000 bnx2x: Memory clean up on failure Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3ce2c3f9a30dd7756dcbe2322841754f18f098f0 Author: Eilon Greenstein Date: Thu Feb 12 08:37:52 2009 +0000 bnx2x: Using nvram default WoL config The driver default WoL setting is set to the nvram default value Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3e5b510eb8c9ea5f762e0a0a9ce59254d6671dce Author: Eilon Greenstein Date: Thu Feb 12 08:37:25 2009 +0000 bnx2x: smp_mb and not just smp_rmb Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8b3a0f0ba3c6c26330b49db178de3898a54f9f8a Author: Eilon Greenstein Date: Thu Feb 12 08:37:23 2009 +0000 bnx2x: Increasing FW timeout When enabling many debug prints, it can take a while before processing an event. To ease the debug process, allow bigger timeout before giving up Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 36e552ab1a51067c5ff8de63416e3fcf2c86a7bf Author: Eilon Greenstein Date: Thu Feb 12 08:37:21 2009 +0000 bnx2x: Returning EBUSY in debug mode as well Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8d5726c404fd41fedb7a49e1fbef62c60754021a Author: Eilon Greenstein Date: Thu Feb 12 08:37:19 2009 +0000 bnx2x: Manual setting for MRRS Allows better debug capabilities if the user wants to force an MRRS value Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 052a38e096dece43e38a19a896ae7ad019415bc1 Author: Eilon Greenstein Date: Thu Feb 12 08:37:16 2009 +0000 bnx2x: Using registers name Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c2c8b03e200bdda3ba23d27f5c33bac784dced01 Author: Eilon Greenstein Date: Thu Feb 12 08:37:14 2009 +0000 bnx2x: Pre emphasis configuration Supporting non-default pre-emphasis settings for the internal and some external PHYs Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ed8680a7e68fc07d6b2bfa977e8f5f3d3c568d14 Author: Eilon Greenstein Date: Thu Feb 12 08:37:12 2009 +0000 bnx2x: GMII not SGMII Fixing the function name Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3a36f2efbf9ac5da1d08cb44d237ba35ec354888 Author: Eilon Greenstein Date: Thu Feb 12 08:37:09 2009 +0000 bnx2x: Removing CL73 code This code is disabled, so removing it to avoid confusion Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c1b7399027254a45a4036c548c13eb97c7d0d8fa Author: Eilon Greenstein Date: Thu Feb 12 08:37:07 2009 +0000 bnx2x: Using the HW 5th lane This 1G interface (on top of the 4 lanes 10G interface) requires additional setting to work in CL45 Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 811a2f2d3be9a39bd4e0930501fda8630857748d Author: Eilon Greenstein Date: Thu Feb 12 08:37:04 2009 +0000 bnx2x: EMAC reset The NIG_ENABLE does not reset the emac. Replace it with explicit reset Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a35da8dbf1ff403633bb6256fba691b224f17f61 Author: Eilon Greenstein Date: Thu Feb 12 08:37:02 2009 +0000 bnx2x: Saving PHY FW version Some PHYs (like the BCM8726) FW version cannot be read after activating the PHY, so we need to save this information Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 285771852891b52a740b4ab2f2903cbfef5ec6a9 Author: Eilon Greenstein Date: Thu Feb 12 08:37:00 2009 +0000 bnx2x: Supporting BCM8481 PHY Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 46c6a67495b3ec76204db800fc8d60a260f91cfe Author: Eilon Greenstein Date: Thu Feb 12 08:36:58 2009 +0000 bnx2x: PHY lock list Some dual port PHY require HW lock since they are used by both interfaces (different driver instances). Since this list is getting longer, update a parameter at load time instead of calculating it on runtime Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 589abe3a0f594a7707a15674ca9e80370c972832 Author: Eilon Greenstein Date: Thu Feb 12 08:36:55 2009 +0000 bnx2x: Supporting BCM8726 PHY Also adding the ability to recognize the optic module and disable it if it is not authorized for safety reasons - since this feature might upset some users which are willing to take the risk, it is optional and can be disabled by setting an nvram bit (or a trivial driver patch to set this bit). This dual port PHY requires special handling if the ports are swapped. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4acac6a53a3c9dfc604a9a8647f16b0242080e93 Author: Eilon Greenstein Date: Thu Feb 12 08:36:52 2009 +0000 bnx2x: GPIO accessories A GPIO is used with the 8726 PHY. Adding the GPIO related functions in this Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 87942b467880fb65381af87a5ff61fdb7ede5eb3 Author: Eilon Greenstein Date: Thu Feb 12 08:36:49 2009 +0000 bnx2x: Removing redundant device parameters Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 35b19ba51c1e6258a338a0855c72384abc33ce11 Author: Eilon Greenstein Date: Thu Feb 12 08:36:47 2009 +0000 bnx2x: Removing the board type There are too many different board types and this field is not scalable. Removing it and making decisions according to other fields Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1c06328c0345638ea7532b45cadfe713c9e9781e Author: Eilon Greenstein Date: Thu Feb 12 08:36:43 2009 +0000 bnx2x: Flow control enhancement Setting better HW thresholds and enabling FW capabilities for better enforcement. Also set the HW to more efficiently use the internal buffers if this is a single port design Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8a1c38d17d88c8df3dcbea1c01a390ab2087f8ad Author: Eilon Greenstein Date: Thu Feb 12 08:36:40 2009 +0000 bnx2x: BW shaper enhancements Some of the configuration can be set when loading the device and shouldn't be re-calculated after each link up indication since it is not dependent on the link speed Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 748e543974eec6afb1f55f8430781150d0da8b0a Author: Eilon Greenstein Date: Thu Feb 12 08:36:37 2009 +0000 bnx2x: Moving skb_record_rx_queue Should be called for all incoming packets and not just for GRO packets Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit de832a55d28bdcc38a3f3c160554d2dfa5a62069 Author: Eilon Greenstein Date: Thu Feb 12 08:36:33 2009 +0000 bnx2x: Per queue statistics Re-ordering the statistics to enhance readability and adding per queue statistics (available via ethtool -S) Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d3d4f49527249e87d11219a22469dff25b674c08 Author: Eilon Greenstein Date: Thu Feb 12 08:36:27 2009 +0000 bnx2x: Removing microcode assertion check This check is unreliable since latest MC can issue warnings on rare occasions which are not fatal errors Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f1ef27ef42dc946a255de4cc7b878630011735d8 Author: Eilon Greenstein Date: Thu Feb 12 08:36:23 2009 +0000 bnx2x: Disabling interrupts after iSCSI-boot Before initializing the chip after iSCSI boot, the interrupts of the function that was used to boot must be disabled. That means that the driver needs to set the chip as if it is the iSCSI PCI function - this bug is exposed only with MSI Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0f00846deb9c9eaaeb4668b81496b783a04a241f Author: Eilon Greenstein Date: Thu Feb 12 08:36:18 2009 +0000 bnx2x: System-page alignment Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8badd27aa0d7c02572fcd1a4a3c6b57d67f40b78 Author: Eilon Greenstein Date: Thu Feb 12 08:36:15 2009 +0000 bnx2x: MSI support Enabling MSI on top of MSI-X and INTA. Also changing the module parameter to allow choosing INTA or MSI even when MSI-X is available. The default status block should not be reversed for endianity. Since MSI can issue re-configuration, the interrupt disable function now requires mmiowb Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 555f6c78373f969f14487253abe331d085449360 Author: Eilon Greenstein Date: Thu Feb 12 08:36:11 2009 +0000 bnx2x: Multi-queue Adding Tx multi-queue and enabling multi-queue by default Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8d9c5f34a25d6a30d15a800d83a3428ad44271d8 Author: Eilon Greenstein Date: Sun Feb 15 23:24:08 2009 -0800 bnx2x: New FW This is the FW blob and the relevant definitions without any logic. It also contains the minimal mandatory code changes to work with this FW but it does not contain enabling of the new features that this FW provides. This FW is needed for: - More efficient multi-queue - per queue statistics - Big-endian issue with MSI - Improved pause response Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 33af6bcc005a826726b48e8775df5d58112bc10b Author: Patrick Ohly Date: Thu Feb 12 05:03:43 2009 +0000 igb: use timecompare to implement hardware time stamping Both TX and RX hardware time stamping are implemented. Due to hardware limitations it is not possible to verify reliably which packet was time stamped when multiple were pending for sending; this could be solved by only allowing one packet marked for hardware time stamping into the queue (not implemented yet). RX time stamping relies on the flag in the packet descriptor which marks packets that were time stamped. In "all packet" mode this flag is not set. TODO: also support that mode (even though it'll suffer from race conditions). Signed-off-by: John Ronciak Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit c6cb090ba7cd88aec03718dab76e4dad56862cae Author: Patrick Ohly Date: Thu Feb 12 05:03:42 2009 +0000 igb: stub support for SIOCSHWTSTAMP Signed-off-by: John Ronciak Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit 38c845c7648ee354fd1d2fb8a7fbc352f2d3dcc3 Author: Patrick Ohly Date: Thu Feb 12 05:03:41 2009 +0000 igb: access to NIC time Adds the register definitions and code to read the time register. Signed-off-by: John Ronciak Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit d24fff22d8dba13cc21034144f68f213415cb7c8 Author: Patrick Ohly Date: Thu Feb 12 05:03:40 2009 +0000 net: pass new SIOCSHWTSTAMP through to device drivers Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit 51f31cabe3ce5345b51e4a4f82138b38c4d5dc91 Author: Patrick Ohly Date: Thu Feb 12 05:03:39 2009 +0000 ip: support for TX timestamps on UDP and RAW sockets Instructions for time stamping outgoing packets are take from the socket layer and later copied into the new skb. Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit 20d4947353be60e909e6b1a79d241457edd6833f Author: Patrick Ohly Date: Thu Feb 12 05:03:38 2009 +0000 net: socket infrastructure for SO_TIMESTAMPING The overlap with the old SO_TIMESTAMP[NS] options is handled so that time stamping in software (net_enable_timestamp()) is enabled when SO_TIMESTAMP[NS] and/or SO_TIMESTAMPING_RX_SOFTWARE is set. It's disabled if all of these are off. Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit ac45f602ee3d1b6f326f68bc0c2591ceebf05ba4 Author: Patrick Ohly Date: Thu Feb 12 05:03:37 2009 +0000 net: infrastructure for hardware time stamping The additional per-packet information (16 bytes for time stamps, 1 byte for flags) is stored for all packets in the skb_shared_info struct. This implementation detail is hidden from users of that information via skb_* accessor functions. A separate struct resp. union is used for the additional information so that it can be stored/copied easily outside of skb_shared_info. Compared to previous implementations (reusing the tstamp field depending on the context, optional additional structures) this is the simplest solution. It does not extend sk_buff itself. TX time stamping is implemented in software if the device driver doesn't support hardware time stamping. The new semantic for hardware/software time stamping around ndo_start_xmit() is based on two assumptions about existing network device drivers which don't support hardware time stamping and know nothing about it: - they leave the new skb_shared_tx unmodified - the keep the connection to the originating socket in skb->sk alive, i.e., don't call skb_orphan() Given that skb_shared_tx is new, the first assumption is safe. The second is only true for some drivers. As a result, software TX time stamping currently works with the bnx2 driver, but not with the unmodified igb driver (the two drivers this patch series was tested with). Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit cb9eff097831007afb30d64373f29d99825d0068 Author: Patrick Ohly Date: Thu Feb 12 05:03:36 2009 +0000 net: new user space API for time stamping of incoming and outgoing packets User space can request hardware and/or software time stamping. Reporting of the result(s) via a new control message is enabled separately for each field in the message because some of the fields may require additional computation and thus cause overhead. User space can tell the different kinds of time stamps apart and choose what suits its needs. When a TX timestamp operation is requested, the TX skb will be cloned and the clone will be time stamped (in hardware or software) and added to the socket error queue of the skb, if the skb has a socket associated with it. The actual TX timestamp will reach userspace as a RX timestamp on the cloned packet. If timestamping is requested and no timestamping is done in the device driver (potentially this may use hardware timestamping), it will be done in software after the device's start_hard_xmit routine. Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit a75244c3d519fcb490ca2bf3f123c98017f1e8d0 Author: Patrick Ohly Date: Thu Feb 12 05:03:35 2009 +0000 timecompare: generic infrastructure to map between two time bases Mapping from a struct timecounter to a time returned by functions like ktime_get_real() is implemented. This is sufficient to use this code in a network device driver which wants to support hardware time stamping and transformation of hardware time stamps to system time. The interface could have been made more versatile by not depending on a time counter, but this wasn't done to avoid writing glue code elsewhere. The method implemented here is the one used and analyzed under the name "assisted PTP" in the LCI PTP paper: http://www.linuxclustersinstitute.org/conferences/archive/2008/PDF/Ohly_92221.pdf Acked-by: John Stultz Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit a038a353c3de4040d8445ec568acebdac144436f Author: Patrick Ohly Date: Thu Feb 12 05:03:34 2009 +0000 clocksource: allow usage independent of timekeeping.c So far struct clocksource acted as the interface between time/timekeeping.c and hardware. This patch generalizes the concept so that a similar interface can also be used in other contexts. For that it introduces new structures and related functions *without* touching the existing struct clocksource. The reasons for adding these new structures to clocksource.[ch] are * the APIs are clearly related * struct clocksource could be cleaned up to use the new structs * avoids proliferation of files with similar names (timesource.h? timecounter.h?) As outlined in the discussion with John Stultz, this patch adds * struct cyclecounter: stateless API to hardware which counts clock cycles * struct timecounter: stateful utility code built on a cyclecounter which provides a nanosecond counter * only the function to read the nanosecond counter; deltas are used internally and not exposed to users of timecounter The code does no locking of the shared state. It must be called at least as often as the cycle counter wraps around to detect these wrap arounds. Both is the responsibility of the timecounter user. Acked-by: John Stultz Signed-off-by: Patrick Ohly Signed-off-by: David S. Miller commit 970ec1a8213cd1a1ea29972ebbe4575a8b30bca1 Author: Yinghai Lu Date: Sun Feb 15 14:06:13 2009 -0800 [IA64] fix __apci_unmap_table Impact: fix build error to fix: tip/arch/ia64/kernel/acpi.c:203: error: conflicting types for '__acpi_unmap_table' tip/include/linux/acpi.h:82: error: previous declaration of '__acpi_unmap_table' was here tip/arch/ia64/kernel/acpi.c:203: error: conflicting types for '__acpi_unmap_table' tip/include/linux/acpi.h:82: error: previous declaration of '__acpi_unmap_table' was here Signed-off-by: Yinghai Lu Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 2dc6b0d48ca0599837df21b14bb8393d0804af57 Author: Duane Griffin Date: Sun Feb 15 18:09:20 2009 -0500 ext4: tighten restrictions on inode flags At the moment there are few restrictions on which flags may be set on which inodes. Specifically DIRSYNC may only be set on directories and IMMUTABLE and APPEND may not be set on links. Tighten that to disallow TOPDIR being set on non-directories and only NODUMP and NOATIME to be set on non-regular file, non-directories. Introduces a flags masking function which masks flags based on mode and use it during inode creation and when flags are set via the ioctl to facilitate future consistency. Signed-off-by: Duane Griffin Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 8fa43a81b97853fc69417bb6054182e78f95cbeb Author: Duane Griffin Date: Sun Feb 15 18:57:26 2009 -0500 ext4: don't inherit inappropriate inode flags from parent At present INDEX and EXTENTS are the only flags that new ext4 inodes do NOT inherit from their parent. In addition prevent the flags DIRTY, ECOMPR, IMAGIC, TOPDIR, HUGE_FILE and EXT_MIGRATE from being inherited. List inheritable flags explicitly to prevent future flags from accidentally being inherited. This fixes the TOPDIR flag inheritance bug reported at http://bugzilla.kernel.org/show_bug.cgi?id=9866. Signed-off-by: Duane Griffin Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 705895b61133ef43d106fe6a6bbdb2eec923867e Author: Pekka Enberg Date: Sun Feb 15 18:07:52 2009 -0500 ext4: allocate ->s_blockgroup_lock separately As spotted by kmemtrace, struct ext4_sb_info is 17664 bytes on 64-bit which makes it a very bad fit for SLAB allocators. The culprit of the wasted memory is ->s_blockgroup_lock which can be as big as 16 KB when NR_CPUS >= 32. To fix that, allocate ->s_blockgroup_lock, which fits nicely in a order 2 page in the worst case, separately. This shinks down struct ext4_sb_info enough to fit a 2 KB slab cache so now we allocate 16 KB + 2 KB instead of 32 KB saving 14 KB of memory. Acked-by: Andreas Dilger Signed-off-by: Pekka Enberg Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit e5a3b95f581da62e2054ef79d3be2d383e9ed664 Author: Tetsuo Handa Date: Sat Feb 14 11:46:56 2009 +0900 TOMOYO: Don't create securityfs entries unless registered. TOMOYO should not create /sys/kernel/security/tomoyo/ interface unless TOMOYO is registered. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 6700ec65c207068a81a535e9dca616fefac21671 Author: Ingo Molnar Date: Sun Feb 15 21:18:17 2009 +0100 lockdep: annotate reclaim context (__GFP_NOFS), fix Impact: fix build warning Fix: mm/vmscan.c: In function ‘kswapd’: mm/vmscan.c:1969: warning: ISO C90 forbids mixed declarations and code node_to_cpumask_ptr(cpumask, pgdat->node_id), has a side-effect: it defines the 'cpumask' local variable as well, so it has to go into the variable definition section. Sidenote: it might make sense to make this purpose of these macros more apparent, by naming them the standard way, such as: DEFINE_node_to_cpumask_ptr(cpumask, pgdat->node_id); (But that is outside the scope of this patch.) Cc: Rusty Russell Cc: Mike Travis Cc: Andrew Morton Cc: Nick Piggin Signed-off-by: Ingo Molnar commit a0a522ce3d6d8c907e45d4f2730ee8573484cc88 Author: Henrik Austad Date: Fri Feb 13 20:35:45 2009 +0100 sched: idle_at_tick is only used when CONFIG_SMP is set Impact: struct rq size optimization The idle_at_tick in struct rq is only used in SMP settings and it does not make sense to have this in the rq in an UP setup. Signed-off-by: Henrik Austad Signed-off-by: Ingo Molnar commit 5274f8354d6a1ed9d6688e6a89b705b94aa1b6e9 Merge: ad0b0fd... a0490fa... d2f8d7e... Author: Ingo Molnar Date: Sun Feb 15 21:15:16 2009 +0100 Merge branch 'sched/urgent'; commit 'v2.6.29-rc5' into sched/core commit 72b623c73685e86b70a51855e1058ebc98a9f6ed Merge: 9abd603... b5f9fd0... Author: Ingo Molnar Date: Sun Feb 15 20:43:03 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/power-tracer commit a234aa9ecdf47a5461573a21dc0b154278df5ba8 Author: Rakib Mullick Date: Sat Feb 14 09:36:00 2009 +0600 tracing: fix section mismatch in trace_hw_branches.c The function bts_trace_init() references a variable bts_hotcpu_notifier which is marked as __cpuinitdata. Thus causes section mismatch. This patch fixes it. LD kernel/trace/built-in.o WARNING: kernel/trace/built-in.o(.text+0xc90c): Section mismatch in reference from the function bts_trace_init() to the variable .cpuinit.data:bts_hotcpu_notifier The function bts_trace_init() references the variable __cpuinitdata bts_hotcpu_notifier. This is often because bts_trace_init lacks a __cpuinitdata annotation or the annotation of bts_hotcpu_notifier is wrong. WARNING: kernel/trace/built-in.o(.text+0xc92a): Section mismatch in reference from the function bts_trace_reset() to the variable .cpuinit.data:bts_hotcpu_notifier The function bts_trace_reset() references the variable __cpuinitdata bts_hotcpu_notifier. This is often because bts_trace_reset lacks a __cpuinitdata annotation or the annotation of bts_hotcpu_notifier is wrong. Signed-off-by: Rakib Mullick Cc: markus.t.metzger@gmail.com Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 9abd60304816a5b0fd9e51034f78e3eaed89f901 Merge: 5fb896a... f9aa28a... Author: Ingo Molnar Date: Sun Feb 15 20:08:55 2009 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core Conflicts: kernel/trace/trace_mmiotrace.c commit 88d0f550d71493cd975a11a03c166211b2f3bd32 Author: Yinghai Lu Date: Sat Feb 14 23:57:28 2009 -0800 x86: make 32bit to call enable_IO_APIC early like 64bit Impact: cleanup So we remove some #ifdefs. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ae88a23b32fa7e0dc9fa7ce735966e68eb41b0bc Author: Ingo Molnar Date: Sun Feb 15 11:29:50 2009 +0100 irq: refactor and clean up the free_irq() code flow Impact: cleanup - separate out the loop from the actual freeing logic, this wins us two indentation levels allowing a number of followup prettifications - turn the WARN_ON() into a more informative WARN(). - clean up the comments and the code flow some more Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 327ec5699c29454322d0136375f717f509c145b6 Author: Ingo Molnar Date: Sun Feb 15 11:21:37 2009 +0100 irq: clean up manage.c - make printk message git-greppable - fix a few style details Signed-off-by: Ingo Molnar commit f6db44df5bd39ed33883786d35342759af796e4a Author: Yinghai Lu Date: Sat Feb 14 23:59:18 2009 -0800 x86: fix typo in filter_cpuid_features() Impact: fix wrong disabling of cpu features an amd system got this strange output: CPU: CPU feature monitor disabled due to lack of CPUID level 0x5 but in /proc/cpuinfo I have: cpuid level : 5 on intel system: CPU: CPU feature monitor disabled due to lack of CPUID level 0x5 CPU: CPU feature dca disabled due to lack of CPUID level 0x9 but in /proc/cpuinfo i have: cpuid level : 11 Tt turns out there is a typo, and we should use level member in df. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit b69bc3967445169ea4dc11171118b414eafab271 Merge: c466ed2... d2f8d7e... Author: Ingo Molnar Date: Sun Feb 15 09:00:18 2009 +0100 Merge commit 'v2.6.29-rc5' into x86/apic commit 0a834a36ac92375cd82d9e4fe4f571e257997d6a Author: dave graham Date: Sat Feb 14 23:46:10 2009 -0800 e1000e: Remove mutex_trylock and associated WARN on failure. Single-thread access must be ensured for ICH8 NVM and PHY operations. This synchronization is provided by the nvm_mutex. To assist in understanding the contexts from which this code could be reached, a WARN was output if the mutex was not going to be immediately acquirable (if !mutex_trylock()). The code has now been optimized, and we have verified that the few remaining mutex contentions are reasonable and non-blocking, and it is time to remove the mutex_trylock() and WARN messages. Signed-off-by: dave graham Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5e30589521518bff36fd2638b3c3d69679c50436 Merge: ac178ef... d2f8d7e... Author: David S. Miller Date: Sat Feb 14 23:12:00 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit ac178ef0ae9eb44fd527d87aa9b6394e05f56e1f Merge: f3a7c66... 6d08b9b... Author: David S. Miller Date: Sat Feb 14 23:06:44 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit f3a7c66b5ce0b75a9774a50b5dcce93e5ba28370 Author: Harvey Harrison Date: Sat Feb 14 22:58:35 2009 -0800 net: replace __constant_{endian} uses in net headers Base versions handle constant folding now. For headers exposed to userspace, we must only expose the __ prefixed versions. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 35c26c2cf6a6a2d1c48add732d8ba002bd90784c Author: Harvey Harrison Date: Sat Feb 14 22:56:56 2009 -0800 rndis: remove private wrapper of __constant_cpu_to_le32 Use cpu_to_le32 directly as it handles constant folding now, replace direct uses of __constant_cpu_to_{endian} as well. Signed-off-by: Harvey Harrison Acked-by: David Brownell Signed-off-by: David S. Miller commit ab46d779661d7a03b7aa00279eead5dc3f0b3901 Author: Herbert Xu Date: Sat Feb 14 20:46:39 2009 -0800 tun: Fix merge error When forward-porting the tun accounting patch I managed to break the send path compltely by dropping the tun_get call. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3d0518f4758eca4339e75e5b9dbb7e06a5ce08b4 Author: Wei Yongjun Date: Sat Feb 14 23:01:36 2009 -0500 ext4: New rec_len encoding for very large blocksizes The rec_len field in the directory entry is 16 bits, so to encode blocksizes larger than 64k becomes problematic. This patch allows us to supprot block sizes up to 256k, by using the low 2 bits to extend the range of rec_len to 2**18-1 (since valid rec_len sizes must be a multiple of 4). We use the convention that a rec_len of 0 or 65535 means the filesystem block size, for compatibility with older kernels. It's unlikely we'll see VM pages of up to 256k, but at some point we might find that the Linux VM has been enhanced to support filesystem block sizes > than the VM page size, at which point it might be useful for some applications to allow very large filesystem block sizes. Signed-off-by: Wei Yongjun Signed-off-by: "Theodore Ts'o" commit 8bad4597c2d71365adfa846ea1ca6cf99161a455 Author: Theodore Ts'o Date: Sat Feb 14 21:46:54 2009 -0500 ext4: Use unsigned int for blocksize in dx_make_map() and dx_pack_dirents() Signed-off-by: Wei Yongjun Signed-off-by: "Theodore Ts'o" commit 868a23a8043f2a3042dae60105c89bd4680187ba Author: Peter Zijlstra Date: Sun Feb 15 00:25:21 2009 +0100 lockdep: build fix for !PROVE_LOCKING The __GFP_FS annotations fail to build with CONFIG_LOCKDEP=y, CONFIG_PROVE_LOCKING=n, ammend that. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9833f8cb952b9aa3f98a71e7bef8820cee3261a0 Author: Peter Zijlstra Date: Sat Feb 14 16:59:04 2009 +0100 lockstat: warn about disabled lock debugging Avoid confusion and clearly state lock debugging got disabled. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b4b136f44b3b7adb9265fd5566d0ea9b99b1cd5f Author: Peter Zijlstra Date: Thu Jan 29 14:50:36 2009 +0100 lockdep: use stringify.h Arnd pointed out we have the stringify macro magic already in-kernel. Signed-off-by: Peter Zijlstra CC: Arnd Bergmann Signed-off-by: Ingo Molnar commit 4f367d8adca947bed4385740a13d1efb1a06fba1 Author: Peter Zijlstra Date: Thu Jan 22 18:10:42 2009 +0100 lockdep: simplify check_prev_add_irq() Remove the manual state iteration thingy. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f510b233cfc7bfd57b6007071c52aa42e3d16b06 Author: Peter Zijlstra Date: Thu Jan 22 17:53:47 2009 +0100 lockdep: get_user_chars() redo Generic, states independent, get_user_chars(). Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3ff176ca47911630d1555f150d36daa2d0819ea9 Author: Peter Zijlstra Date: Thu Jan 22 17:40:42 2009 +0100 lockdep: simplify get_user_chars() there's too much repetition of code.. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 38aa2714382d886f77f2565277fce293122808b0 Author: Peter Zijlstra Date: Tue Jan 27 14:53:50 2009 +0100 lockdep: add comments to mark_lock_irq() re-add some of the comments that got lost in the refactoring. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cf2ad4d13c4ac6366c730fcf6c6be00db12fb75f Author: Peter Zijlstra Date: Tue Jan 27 13:58:08 2009 +0100 lockdep: remove macro usage from mark_held_locks() Now that we have nice numerical relations for the states, remove the macro magics. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9d3651a23dc1f7ed7d207f9118459d3a73d485a7 Author: Peter Zijlstra Date: Thu Jan 22 17:18:32 2009 +0100 lockdep: fully reduce mark_lock_irq() Now what its only two functions, they again look rather similar. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 42c50d544e009cd9b1a8e74d7c5ce8d03ca917ad Author: Peter Zijlstra Date: Thu Jan 22 16:58:16 2009 +0100 lockdep: merge the !_READ mark_lock_irq() helpers These two are also remakably similar Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 780e820b2dfefdfead9243724c2d2b73f379fda6 Author: Peter Zijlstra Date: Thu Jan 22 16:51:29 2009 +0100 lockdep: merge the _READ mark_lock_irq() helpers The _READ helpers show remarkable similarity, merge them. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cd95302d255264c5e6ebe1063320d80517bf2f83 Author: Peter Zijlstra Date: Thu Jan 22 16:38:21 2009 +0100 lockdep: simplify mark_lock_irq() helpers #3 Kill another argument Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f989209e2f604730888a6daa3b3ff30ed0c9d7c0 Author: Peter Zijlstra Date: Thu Jan 22 16:09:59 2009 +0100 lockdep: further simplify mark_lock_irq() helpers take away another parameter Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 604de3b5b63ebc33a762c44d9c742f235b010346 Author: Peter Zijlstra Date: Thu Jan 22 16:24:44 2009 +0100 lockdep: simplify the mark_lock_irq() helpers In order to unify them, take some arguments away Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6a6904d3475cc5e4a506b5c3c3684444e22c4cc4 Author: Peter Zijlstra Date: Thu Jan 22 16:07:44 2009 +0100 lockdep: split up mark_lock_irq() split mark_lock_irq() into 4 simple helper functions Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit fabe9c42c6328de314d811887b4752eb3d202291 Author: Peter Zijlstra Date: Thu Jan 22 14:51:01 2009 +0100 lockdep: generate usage strings generate the usage strings XXX capital invasion :-( Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d7b1b02134272840f4b655136e00c461e1cf1d53 Author: Peter Zijlstra Date: Thu Jan 22 14:38:38 2009 +0100 lockdep: generate the state bit definitions Generate the state bit definitions from the lockdep_states.h file. Also, move LOCK_USED to last, so that the USED_IN USED_IN_READ ENABLED ENABLED_READ states are nicely bit aligned -- we're going to use that property Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9851673bc32bc9fcafbbaeffc858ead434bd6d58 Author: Peter Zijlstra Date: Thu Jan 22 14:18:40 2009 +0100 lockdep: move state bit definitions around For convenience later. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5346417e17daf5a7712e4cf030b45414e46607cf Author: Peter Zijlstra Date: Thu Jan 22 14:15:53 2009 +0100 lockdep: simplify mark_lock() remove the state iteration Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 36bfb9bb03db2002a8574600c6aeb4cdd1ba01a6 Author: Peter Zijlstra Date: Thu Jan 22 14:12:41 2009 +0100 lockdep: simplify mark_held_locks remove the explicit state iteration Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9fe51abf7a1c787f918f66fa3cef9cd0cedb3791 Author: Peter Zijlstra Date: Thu Jan 22 14:09:46 2009 +0100 lockdep: lockdep_states.h Introduce a header file to generate all the states from. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a652d7081bc96b3094e85ca30e47f50185d2f717 Author: Peter Zijlstra Date: Thu Jan 22 13:13:11 2009 +0100 lockdep: sanitize reclaim bit names s/HELD_OVER/ENABLED/g so that its similar to the hard and soft-irq names. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4fc95e867f1e75351b89db3c68212dfcce7ea563 Author: Peter Zijlstra Date: Thu Jan 22 13:10:52 2009 +0100 lockdep: sanitize bit names s/\(LOCKF\?_ENABLED_[^ ]*\)S\(_READ\)\?\>/\1\2/g So that the USED_IN and ENABLED have the same names. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cf40bd16fdad42c053040bcd3988f5fdedbb6c57 Author: Nick Piggin Date: Wed Jan 21 08:12:39 2009 +0100 lockdep: annotate reclaim context (__GFP_NOFS) Here is another version, with the incremental patch rolled up, and added reclaim context annotation to kswapd, and allocation tracing to slab allocators (which may only ever reach the page allocator in rare cases, so it is good to put annotations here too). Haven't tested this version as such, but it should be getting closer to merge worthy ;) -- After noticing some code in mm/filemap.c accidentally perform a __GFP_FS allocation when it should not have been, I thought it might be a good idea to try to catch this kind of thing with lockdep. I coded up a little idea that seems to work. Unfortunately the system has to actually be in __GFP_FS page reclaim, then take the lock, before it will mark it. But at least that might still be some orders of magnitude more common (and more debuggable) than an actual deadlock condition, so we have some improvement I hope (the concept is no less complete than discovery of a lock's interrupt contexts). I guess we could even do the same thing with __GFP_IO (normal reclaim), and even GFP_NOIO locks too... but filesystems will have the most locks and fiddly code paths, so let's start there and see how it goes. It *seems* to work. I did a quick test. ================================= [ INFO: inconsistent lock state ] 2.6.28-rc6-00007-ged31348-dirty #26 --------------------------------- inconsistent {in-reclaim-W} -> {ov-reclaim-W} usage. modprobe/8526 [HC0[0]:SC0[0]:HE1:SE1] takes: (testlock){--..}, at: [] brd_init+0x55/0x216 [brd] {in-reclaim-W} state was registered at: [] __lock_acquire+0x75b/0x1a60 [] lock_acquire+0x91/0xc0 [] mutex_lock_nested+0xb1/0x310 [] brd_init+0x2b/0x216 [brd] [] _stext+0x3b/0x170 [] sys_init_module+0xaf/0x1e0 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff irq event stamp: 3929 hardirqs last enabled at (3929): [] mutex_lock_nested+0x285/0x310 hardirqs last disabled at (3928): [] mutex_lock_nested+0x59/0x310 softirqs last enabled at (3732): [] sk_filter+0x83/0xe0 softirqs last disabled at (3730): [] sk_filter+0x16/0xe0 other info that might help us debug this: 1 lock held by modprobe/8526: #0: (testlock){--..}, at: [] brd_init+0x55/0x216 [brd] stack backtrace: Pid: 8526, comm: modprobe Not tainted 2.6.28-rc6-00007-ged31348-dirty #26 Call Trace: [] print_usage_bug+0x193/0x1d0 [] mark_lock+0xaf0/0xca0 [] mark_held_locks+0x55/0xc0 [] ? brd_init+0x0/0x216 [brd] [] trace_reclaim_fs+0x2a/0x60 [] __alloc_pages_internal+0x475/0x580 [] ? mutex_lock_nested+0x26e/0x310 [] ? brd_init+0x0/0x216 [brd] [] brd_init+0x6a/0x216 [brd] [] ? brd_init+0x0/0x216 [brd] [] _stext+0x3b/0x170 [] ? mutex_unlock+0x9/0x10 [] ? __mutex_unlock_slowpath+0x10d/0x180 [] ? trace_hardirqs_on_caller+0x12c/0x190 [] sys_init_module+0xaf/0x1e0 [] system_call_fastpath+0x16/0x1b Signed-off-by: Nick Piggin Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6f2b9b9a9d750a9175dc79c74bfed5add840983c Author: Johannes Berg Date: Thu Jan 29 16:03:20 2009 +0100 timer: implement lockdep deadlock detection This modifies the timer code in a way to allow lockdep to detect deadlocks resulting from a lock being taken in the timer function as well as around the del_timer_sync() call. Signed-off-by: Johannes Berg commit 6c7120902305b3a21460cd2f0f917a39307df566 Author: Madhulika Madishetty Date: Thu Feb 5 13:31:36 2009 +0000 AMCC PPC 460SX redwood SoC platform initial framework This patch contains initial framework for the AMCC Redwood board. Signed-off-by: Madhulika Madishetty Signed-off-by: Tirumala Marri Signed-off-by: Feng Kan Signed-off-by: Vidhyananth Venkatasamy Signed-off-by: Preetesh Parekh Acked-by: Loc Ho Acked-by: Feng Kan Signed-off-by: Josh Boyer commit 41b6a085e48d0d9e1200946755f49f31dd930137 Author: Benjamin Herrenschmidt Date: Sun Feb 1 16:59:13 2009 +0000 powerpc/4xx: Enable PCI domains on 4xx 4xx chips commonly now have multiple PHBs, there is no reason to not enable PCI domains on them. The main issue with PCI domains is X but currently its already somewhat busted for other reasons such as the 36-bit physical address space, which I'm fixing separately. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 018f76ec516c09a5381e517d0739d377a60ec0d5 Author: Benjamin Herrenschmidt Date: Sun Feb 1 16:50:55 2009 +0000 powerpc/4xx: Add missing USB and i2c devices to Canyonlands This adds the device-tree entries for a handful of devices on the Canyonlands board, such as the EHCI and OHCI controllers, the real time clock and the AD7414 thermal monitor. I also updated the defconfig to enable various options related to these devices. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit e12401222f749c37277a313d631dc024bbfd3b00 Author: Yuri Tikhonov Date: Thu Jan 29 01:40:44 2009 +0000 powerpc/44x: Support for 256KB PAGE_SIZE This patch adds support for 256KB pages on ppc44x-based boards. For simplification of implementation with 256KB pages we still assume 2-level paging. As a side effect this leads to wasting extra memory space reserved for PTE tables: only 1/4 of pages allocated for PTEs are actually used. But this may be an acceptable trade-off to achieve the high performance we have with big PAGE_SIZEs in some applications (e.g. RAID). Also with 256KB PAGE_SIZE we increase THREAD_SIZE up to 32KB to minimize the risk of stack overflows in the cases of on-stack arrays, which size depends on the page size (e.g. multipage BIOs, NTFS, etc.). With 256KB PAGE_SIZE we need to decrease the PKMAP_ORDER at least down to 9, otherwise all high memory (2 ^ 10 * PAGE_SIZE == 256MB) we'll be occupied by PKMAP addresses leaving no place for vmalloc. We do not separate PKMAP_ORDER for 256K from 16K/64K PAGE_SIZE here; actually that value of 10 in support for 16K/64K had been selected rather intuitively. Thus now for all cases of PAGE_SIZE on ppc44x (including the default, 4KB, one) we have 512 pages for PKMAP. Because ELF standard supports only page sizes up to 64K, then you should use binutils later than 2.17.50.0.3 with '-zmax-page-size' set to 256K for building applications, which are to be run with the 256KB-page sized kernel. If using the older binutils, then you should patch them like follows: --- binutils/bfd/elf32-ppc.c.orig +++ binutils/bfd/elf32-ppc.c -#define ELF_MAXPAGESIZE 0x10000 +#define ELF_MAXPAGESIZE 0x40000 One more restriction we currently have with 256KB page sizes is inability to use shmem safely, so, for now, the 256KB is available only if you turn the CONFIG_SHMEM option off (another variant is to use BROKEN). Though, if you need shmem with 256KB pages, you can always remove the !SHMEM dependency in 'config PPC_256K_PAGES', and use the workaround available here: http://lkml.org/lkml/2008/12/19/20 Signed-off-by: Yuri Tikhonov Signed-off-by: Ilya Yanok Signed-off-by: Josh Boyer commit 8b9dbc16d4f5786c6c930ab028722e3ed7e4285b Author: Russell King Date: Thu Feb 12 10:12:59 2009 +0000 [ARM] omap: arrange for clock recalc methods to return the rate linux-omap source commit 33d000c99ee393fe2042f93e8422f94976d276ce introduces a way to "dry run" clock changes before they're committed. However, this involves putting logic to handle this into each and every recalc function, and unfortunately due to the caching, led to some bugs. Solve both of issues by making the recalc methods always return the clock rate for the clock, which the caller decides what to do with. Signed-off-by: Russell King commit 33043cbb9fd49a957089f5948fe814764d7abbd6 Author: Tetsuo Handa Date: Fri Feb 13 16:00:58 2009 +0900 TOMOYO: Fix exception policy read failure. Due to wrong initialization, "cat /sys/kernel/security/tomoyo/exception_policy" returned nothing. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 26036651c562609d1f52d181f9d2cccbf89929b1 Author: Eric Paris Date: Thu Feb 12 14:51:04 2009 -0500 SELinux: convert the avc cache hash list to an hlist We do not need O(1) access to the tail of the avc cache lists and so we are wasting lots of space using struct list_head instead of struct hlist_head. This patch converts the avc cache to use hlists in which there is a single pointer from the head which saves us about 4k of global memory. Resulted in about a 1.5% decrease in time spent in avc_has_perm_noaudit based on oprofile sampling of tbench. Although likely within the noise.... Signed-off-by: Eric Paris Reviewed-by: Paul Moore Signed-off-by: James Morris commit edf3d1aecd0d608acbd561b0c527e1d41abcb657 Author: Eric Paris Date: Thu Feb 12 14:50:59 2009 -0500 SELinux: code readability with avc_cache The code making use of struct avc_cache was not easy to read thanks to liberal use of &avc_cache.{slots_lock,slots}[hvalue] throughout. This patch simply creates local pointers and uses those instead of the long global names. Signed-off-by: Eric Paris Signed-off-by: James Morris commit f1c6381a6e337adcecf84be2a838bd9e610e2365 Author: Eric Paris Date: Thu Feb 12 14:50:54 2009 -0500 SELinux: remove unused av.decided field It appears there was an intention to have the security server only decide certain permissions and leave other for later as some sort of a portential performance win. We are currently always deciding all 32 bits of permissions and this is a useless couple of branches and wasted space. This patch completely drops the av.decided concept. This in a 17% reduction in the time spent in avc_has_perm_noaudit based on oprofile sampling of a tbench benchmark. Signed-off-by: Eric Paris Reviewed-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit 21193dcd1f3570ddfd8a04f4465e484c1f94252f Author: Eric Paris Date: Thu Feb 12 14:50:49 2009 -0500 SELinux: more careful use of avd in avc_has_perm_noaudit we are often needlessly jumping through hoops when it comes to avd entries in avc_has_perm_noaudit and we have extra initialization and memcpy which are just wasting performance. Try to clean the function up a bit. This patch resulted in a 13% drop in time spent in avc_has_perm_noaudit in my oprofile sampling of a tbench benchmark. Signed-off-by: Eric Paris Reviewed-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit 906d27d9d28fd50fb40026e56842d8f6806a7a04 Author: Eric Paris Date: Thu Feb 12 14:50:43 2009 -0500 SELinux: remove the unused ae.used Currently SELinux code has an atomic which was intended to track how many times an avc entry was used and to evict entries when they haven't been used recently. Instead we never let this atomic get above 1 and evict when it is first checked for eviction since it hits zero. This is a total waste of time so I'm completely dropping ae.used. This change resulted in about a 3% faster avc_has_perm_noaudit when running oprofile against a tbench benchmark. Signed-off-by: Eric Paris Reviewed by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit a5dda683328f99c781f92c66cc52ffc0639bef58 Author: Eric Paris Date: Thu Feb 12 14:50:11 2009 -0500 SELinux: check seqno when updating an avc_node The avc update node callbacks do not check the seqno of the caller with the seqno of the node found. It is possible that a policy change could happen (although almost impossibly unlikely) in which a permissive or permissive_domain decision is not valid for the entry found. Simply pass and check that the seqno of the caller and the seqno of the node found match. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 4cb912f1d1447077160ace9ce3b3a10696dd74e5 Author: Eric Paris Date: Thu Feb 12 14:50:05 2009 -0500 SELinux: NULL terminate al contexts from disk When a context is pulled in from disk we don't know that it is null terminated. This patch forecebly null terminates contexts when we pull them from disk. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 4ba0a8ad63e12a03ae01c039482967cc496b9174 Author: Eric Paris Date: Thu Feb 12 15:01:10 2009 -0500 SELinux: better printk when file with invalid label found Currently when an inode is read into the kernel with an invalid label string (can often happen with removable media) we output a string like: SELinux: inode_doinit_with_dentry: context_to_sid([SOME INVALID LABEL]) returned -22 dor dev=[blah] ino=[blah] Which is all but incomprehensible to all but a couple of us. Instead, on EINVAL only, I plan to output a much more user friendly string and I plan to ratelimit the printk since many of these could be generated very rapidly. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 200ac532a4bc3134147ca06686c56a6420e66c46 Author: Eric Paris Date: Thu Feb 12 15:01:04 2009 -0500 SELinux: call capabilities code directory For cleanliness and efficiency remove all calls to secondary-> and instead call capabilities code directly. capabilities are the only module that selinux stacks with and so the code should not indicate that other stacking might be possible. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 8960f8c8e779fa405f031ca6866d6d3ab88e2eae Merge: 9b3651c... 22796b1... Author: Jeremy Fitzhardinge Date: Fri Feb 13 12:53:17 2009 -0800 Merge commit 'tip/x86/headers' into x86/untangle2 * commit 'tip/x86/headers': (42 commits) x86: fix "__udivdi3" [drivers/scsi/aha1542.ko] undefined unconditionally include asm/types.h from linux/types.h make linux/types.h as assembly safe Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h headers_check fix cleanup: linux/reiserfs_fs.h headers_check fix cleanup: linux/nubus.h headers_check fix cleanup: linux/coda_psdev.h headers_check fix: x86, setup.h headers_check fix: x86, prctl.h headers_check fix: linux/reinserfs_fs.h headers_check fix: linux/socket.h headers_check fix: linux/nubus.h headers_check fix: linux/in6.h headers_check fix: linux/coda_psdev.h headers_check fix: xtensa, swab.h headers_check fix: powerpc, swab.h headers_check fix: powerpc, spu_info.h headers_check fix: powerpc, ps3fb.h headers_check fix: powerpc, kvm.h headers_check fix: powerpc, elf.h ... commit bf3dbe5c8c4b85f98c36d35432efa6573b75e6d3 Author: Kevin Hilman Date: Fri Feb 13 11:36:37 2009 -0800 ASoC: Fix DaVinci module unload error Fix for the error when the audio module is unloaded. On unregistering the platform_device, platform_device_release will free the platform data.If platform data is static the kernel panics when it is freed. Instead use the platform device helper function to add data. This change has been tested on DM644x EVM, DM644x SFFSDR and DM355 EVM. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit 22796b15725488002437ebbf98a22fdbe596cf89 Merge: bf33a70... 0fb807c... Author: Ingo Molnar Date: Fri Feb 13 21:05:03 2009 +0100 Merge branch 'core/header-fixes' into x86/headers Conflicts: arch/x86/include/asm/setup.h commit bf33a70a73876b163d62612e9567cbac6604ba7e Author: James Bottomley Date: Fri Feb 13 12:52:44 2009 -0600 x86: fix "__udivdi3" [drivers/scsi/aha1542.ko] undefined Commit 976e8f677e42757e5586ea04a9ac8bb8ddaa037e ("x86: asm/io.h: unify virt_to_phys/phys_to_virt") changed the return of virt_to_phys from long to phys_addr_t which is unsigned long long on a PAE platform. So, I could suggest a fix below since isa addresses may never be above 32 bits. Signed-off-by: Ingo Molnar commit 9b3651cbc26cfcea8276ecaff66718ea087f2e91 Author: Jeremy Fitzhardinge Date: Fri Feb 13 11:01:54 2009 -0800 x86: move more pagetable-related definitions into pgtable*.h PAGETABLE_LEVELS and the PTE masks should be in pgtable*.h Signed-off-by: Jeremy Fitzhardinge commit 0341c14da49e7b93d2998926f6ac89a3129e3fa1 Author: Jeremy Fitzhardinge Date: Fri Feb 13 11:14:01 2009 -0800 x86: use _types.h headers in asm where available In general, the only definitions that assembly files can use are in _types.S headers (where available), so convert them. Signed-off-by: Jeremy Fitzhardinge commit 6d08b9b9c6eb2414c4a037407dd121298a74fb36 Author: Luis R. Rodriguez Date: Tue Feb 10 15:35:27 2009 -0800 ath9k: add udelay() for AR5416 on ath9k_hw_configpcipowersave() We need the udelay() for all families, including AR5416. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 24c1a280c8db6beddbb62662c30b79cd3c8d4d01 Author: Luis R. Rodriguez Date: Tue Feb 10 15:35:22 2009 -0800 ath9k: add comments for ath9k_hw_configpcipowersave() This is used for ASPM. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a89d03c4230beb50756c98d2d1ba036c83da7680 Author: Reinette Chatre Date: Tue Feb 10 15:19:04 2009 -0800 iwlwifi: fix FAT channel config for 5000 series The test to find out if we have FAT channels do not consider that the value of regulatory_bands for the 5000 series is larger than its eeprom size. Using the eeprom size is strange in itself. Use a new EEPROM_REGULATORY_BAND_NO_FAT to indicate no FAT support and test for that explicitly. Signed-off-by: Reinette Chatre Acked-by: Samuel Ortiz Tested-by: Johannes Berg Signed-off-by: John W. Linville commit 24566f4a15e2626cfaf2854057b636ef40ee8481 Author: Tomas Winkler Date: Tue Feb 10 15:19:03 2009 -0800 iwlwifi: drop PCIe workaround applicable for development boards This patch remove w/a used for development boards. These boards are not available thus no need to keep it inside driver Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3fdb68de22c9881691c485b05ed3204bdc431a18 Author: Tomas Winkler Date: Tue Feb 10 15:19:02 2009 -0800 iwlwifi: use pci registers defined in pci_regs.h This patch replaces where possible usage of pci register defined in the driver by ones defined in pci_regs.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe3d2c3fe32dd4d0a421ba39caba1cf87402314e Author: Johannes Berg Date: Tue Feb 10 21:26:03 2009 +0100 mac80211: split managed/ibss code a little more It appears that you can completely mess up mac80211 in IBSS mode by sending it a disassoc or deauth: it'll stop queues and do a lot more but not ever do anything again. Fix this by not handling all those frames in IBSS mode, Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a71800f3e3de15583c5d336aafa2853786be18a2 Author: Johannes Berg Date: Tue Feb 10 21:26:02 2009 +0100 mac80211: fix IBSS auth The code beyond this point is supposed to be used for non-IBSS (managed) mode only. Signed-off-by: Johannes Berg Cc: Jouni Malinen Signed-off-by: John W. Linville commit 9a03d6d7a8698f26f8ef02dd3c91f8f68c4edcc7 Author: Johannes Berg Date: Tue Feb 10 21:26:01 2009 +0100 mac80211: calculate wstats_flags on the fly Just to make wext.c more self-contained. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 00d3f14cf9f12c21428121026a5e1d5f65926447 Author: Johannes Berg Date: Tue Feb 10 21:26:00 2009 +0100 mac80211: use cfg80211s BSS infrastructure Remove all the code from mac80211 to keep track of BSSes and use the cfg80211-provided code completely. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 79420f09e76e8e1dd1149d6ce9c20e06cbb5802a Author: Johannes Berg Date: Tue Feb 10 21:25:59 2009 +0100 cfg80211: add more flexible BSS lookup Add a more flexible BSS lookup function so that mac80211 or other drivers can actually use this for getting the BSS to connect to. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d491af19db3adcc1eb1653e60a427fb4df36f361 Author: Johannes Berg Date: Tue Feb 10 21:25:58 2009 +0100 cfg80211: allow users to request removing a BSS This patch introduces cfg80211_unlink_bss, a function to allow a driver to remove a BSS from the internal list and make it not show up in scan results any more -- this is to be used when the driver detects that the BSS is no longer available. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 78c1c7e109f1f14e7c18f290c4ebc58da220c7ba Author: Johannes Berg Date: Tue Feb 10 21:25:57 2009 +0100 cfg80211: free_priv for BSS info When cfg80211 users have their own allocated data in the per-BSS private data, they will need to free this when the BSS struct is destroyed. Add a free_priv method and fix one place where the BSS was kfree'd rather than released properly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 99cf5f5f3571ce3a837e379d3b87bf5ddf54f17d Author: Johannes Berg Date: Tue Feb 10 21:25:56 2009 +0100 mac80211: dont add BSS when creating IBSS There's no need to create a BSS struct only to pass it to ieee80211_sta_join_ibss, so refactor this function into __ieee80211_sta_join_ibss which takes all the relevant paramters, and ieee80211_sta_join_ibss which takes a BSS struct (used when joining an IBSS that already has other members). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2a5193119269062608582418deba7af82844159a Author: Johannes Berg Date: Tue Feb 10 21:25:55 2009 +0100 cfg80211/nl80211: scanning (and mac80211 update to use it) This patch adds basic scan capability to cfg80211/nl80211 and changes mac80211 to use it. The BSS list that cfg80211 maintains is made driver-accessible with a private area in each BSS struct, but mac80211 doesn't yet use it. That's another large project. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 849b7967818995a32c3017542e33eb3155944368 Author: Johannes Berg Date: Tue Feb 10 21:25:54 2009 +0100 mac80211: further cleanups to stopping BA sessions Essentially consisting of passing the sta_info pointer around, instead of repeatedly doing hash lookups. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d75636ef9c1af224f1097941879d5a8db7cd04e5 Author: Johannes Berg Date: Tue Feb 10 21:25:53 2009 +0100 mac80211: RX aggregation: clean up stop session Clean up the locking by splitting it into two functions, this will also enable further cleanups of stopping all sessions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2dace10efb8b761ccbd18d524f3b14d823edf8c0 Author: Johannes Berg Date: Tue Feb 10 21:25:52 2009 +0100 mac80211: clean up BA session teardown The sta_info pointer can very well be passed to ieee80211_sta_tear_down_BA_sessions, this will later allow us to pass it through even further. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 55687e380a3965ac448e03281e027553a6ae6dac Author: Johannes Berg Date: Tue Feb 10 21:25:51 2009 +0100 mac80211: fix aggregation timer lockups As far as I can tell, there are possible lockups because both the RX session_timer and TX addba_resp_timer are del_timer_sync'ed under the sta spinlock which both timer functions take. Additionally, the TX agg code seems to leak memory when TX aggregation is not disabled before the sta_info is freed. Fix this by making the free code a little smarter in the RX agg case, and actually make the sta_info_destroy code free the TX agg info in the TX agg case. We won't notify the peer, but it'll notice something is wrong anyway, and normally this only happens after we've told it in some other way we will no longer talk to it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 23e6a7ea5cb1a902d37ab0c783709c178fa834df Author: Johannes Berg Date: Tue Feb 10 21:25:50 2009 +0100 mac80211: fix race in TX aggregation When disabling TX aggregation because it was rejected or from the timer (it was not accepted), there is a window where we first set the state to operation, unlock, and then undo the whole thing. Avoid that by splitting up the stop function. Also get rid of the pointless sta_info indirection in the timer. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 86ab6c5a6c5204f6c25281b9039330b8f5e9b692 Author: Johannes Berg Date: Tue Feb 10 21:25:49 2009 +0100 mac80211: document TX aggregation (and small cleanup) Add documentation and move ieee80211_start_tx_ba_cb_irqsafe to right after ieee80211_start_tx_ba_cb. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 955d3fe3e8b38de19761e4ac7afdb9d7a33b9566 Author: Johannes Berg Date: Tue Feb 10 21:25:48 2009 +0100 mac80211: hardware should not deny going back to legacy Doing so would be an MLME protocol violation when the peer disabled the aggregation session. Quick driver review indicates that there are error codes passed all over the drivers but cannot ever be nonzero except in error conditions that would indicate mac80211 bugs. No real changes here, since no drivers currently can return -EBUSY. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8abd3f9bc476b5b7f6de1b6fb576b87ba338f7fd Author: Johannes Berg Date: Tue Feb 10 21:25:47 2009 +0100 mac80211: restrict aggregation to supported interface modes We can only support aggregation on AP/STA right now. HT isn't defined for IBSS, WDS or MESH. In the WDS/MESH cases it's not clear what to put into the IBSS field, and we don't handle that in the code at all. Also fix the code to handle VLAN correctly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b8695a8fe6d89140f8d17668e99ebd39358d7c0b Author: Johannes Berg Date: Tue Feb 10 21:25:46 2009 +0100 mac80211: restructure HT code Create two new files, agg-tx.c and agg-rx.c to make it clearer which code is common (ht.c) and which is specific (agg-*.c). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 20ad19d0ac7389b04b566ebf3e0e497974f63ffa Author: Johannes Berg Date: Tue Feb 10 21:25:45 2009 +0100 mac80211: fix RX aggregation timeouts The values are in TUs (1.024ms), not ms. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8b1c814d65ae3219ee19d39ad6097f3d5249c23d Author: Johannes Berg Date: Tue Feb 10 21:25:44 2009 +0100 mac80211: remove stray aggregation debugfs definition Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7ab17c45b566b8a4a87ceac6cd6c6d77857189ab Author: Johannes Berg Date: Tue Feb 10 21:25:43 2009 +0100 mac80211: remove bssid argument from prepare_for_handlers It's a little confusing to get the BSSID outside the function and pass it in, when it's only needed for this function, so change that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 14b80724367dfdc86f4807461dd1f7f2dd630416 Author: Johannes Berg Date: Tue Feb 10 21:25:42 2009 +0100 mac80211: fix beacon enable more Hopefully the last required fix ... disable beaconing only on beaconing interfaces, and thus avoid calling ieee80211_if_config for purely virtual interfaces (those driver doesn't know about). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 60b22511921fe79b2a94a27c09cadfd32fcef5d5 Author: Johannes Berg Date: Tue Feb 10 21:25:41 2009 +0100 mac80211: reject extra IEs for probe request when hw_scan We cannot currently hand off extra IEs to hw_scan, so reject configuring extra IEs for probe request frames when hw_scan is set. Signed-off-by: Johannes Berg Cc: Jouni Malinen Signed-off-by: John W. Linville commit e4e5e2b0b83c816e581ca4671569306bcba77667 Author: Johannes Berg Date: Tue Feb 10 21:25:40 2009 +0100 mac80211: properly validate/translate IW_AUTH_MFP values Make sure nobody passes in bogus values, and translate the values (although it isn't necessary). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a4727801004f255f589478b2d75ec00f0a9e30c5 Author: Johannes Berg Date: Tue Feb 10 21:25:39 2009 +0100 zd1211rw: honour enable_beacon conf This makes zd1211rw honour enable_beacon, as well as fixing a memory leak: the beacon skb is leaked when configuring it to the hardware fails. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5e1333624827e7a91b2d2cc04ce978f050cae15e Author: Johannes Berg Date: Tue Feb 10 21:25:38 2009 +0100 mac80211: disable IBSS beacon before join Before we have a probe response frame (which is used as the beacon too) there's no need to ask drivers to beacon, they will not get a beacon anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 570a0a7c3ba6e44b0fe7f1d42e69ba139b533737 Author: Johannes Berg Date: Tue Feb 10 21:25:37 2009 +0100 zd1211rw: do not ratelimit no-ops It is rather confusing to see this in the log: [ 695.606877] __ratelimit: 40 callbacks suppressed [ 700.726878] __ratelimit: 40 callbacks suppressed without ever seeing any actual message. This is because zd1211rw doesn't compile out the net_ratelimit() call properly if debugging is not enabled. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 572e00122190e3064fa19bd9780b146d2d0f1905 Author: Kalle Valo Date: Tue Feb 10 17:09:31 2009 +0200 mac80211: use ps-poll when dynamic power save mode is disabled When a directed tim bit is set, mac80211 currently disables power save ands sends a null frame to the AP. But if dynamic power save is disabled, mac80211 will not enable power save ever gain. Fix this by adding ps-poll functionality to mac80211. When a directed tim bit is set, mac80211 sends a ps-poll frame to the AP and checks for the more data bit in the returned data frames. Using ps-poll is slower than waking up with null frame, but it's saves more power in cases where the traffic is low. Userspace can control if either ps-poll or null wakeup method is used by enabling and disabling dynamic power save. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 1fb3606bc5864c64c78ce4e1751e5382a9a5aa84 Author: Kalle Valo Date: Tue Feb 10 17:09:24 2009 +0200 mac80211: remove multicast check from check_tim() Currently mac80211 checks for the multicast tim bit from beacons, disables power save and sends a null frame if the bit is set. This was added to support ath9k. But this is a bit controversial because the AP will send multicast frames immediately after the beacon and the time constraints are really high. Relying mac80211 to be fast enough here might not be reliable in all situations. And there's no need to send a null frame, AP will send the frames immediately after the dtim beacon no matter what. Also if dynamic power save is disabled (iwconfig wlan0 power timeout 0) currently mac80211 disables power save whenever the multicast bit is set but it's never enabled again after receiving the first multicast/broadcast frame. The current implementation is not usable on p54/stlc45xx and the easiest way to fix this is to remove the multicast tim bit check altogether. Handling multicast tim bit in host is rare, most of the designs do this in firmware/hardware, so it's better not to have it in mac80211. It's a lot better to do this in firmware/hardware, or if that's not possible it could be done in the driver. Also renamed the function to ieee80211_check_tim() to follow the style of the file. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f733ded107ff15022e3f0f8204f11ab2e83a2aa4 Author: Tobias Klauser Date: Mon Feb 9 23:06:53 2009 +0100 orinoco: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: John W. Linville commit 925be8a3077351edbf2b59ca689105df214a0792 Author: Tobias Klauser Date: Mon Feb 9 23:05:40 2009 +0100 ath5k: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Acked-by: Jiri Slaby Signed-off-by: John W. Linville commit 2660b81a378ab227b78c4cc618453fa7e19a7c7b Author: Sujith Date: Mon Feb 9 13:27:26 2009 +0530 ath9k: Remove all the useless ah_ variable prefixes Signed-off-by: Sujith Signed-off-by: John W. Linville commit f74df6fbe31561091bf42be0ed30232be2b9d3ac Author: Sujith Date: Mon Feb 9 13:27:24 2009 +0530 ath9k: Cleanup EEPROM operations This patch removes the various function pointer assignments and unifies them in a single ops structure. Signed-off-by: Sujith Signed-off-by: John W. Linville commit e153789dc3846b35494435b4a8ae82a034c99dae Author: Sujith Date: Mon Feb 9 13:27:15 2009 +0530 ath9k: Add callbacks hooks for EEPROM operations This is preparatory work for removing the individual function pointer assignments in eeprom.c Signed-off-by: Sujith Signed-off-by: John W. Linville commit cbe61d8a41210600bc76b212edcd4dc0f55c014f Author: Sujith Date: Mon Feb 9 13:27:12 2009 +0530 ath9k: Merge ath_hal and ath_hal_5416 structures Finally, merge these structures and have a single HW specific data structure. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ba52da58be0acf3b7775972b2b5234ce64388c79 Author: Sujith Date: Mon Feb 9 13:27:10 2009 +0530 ath9k: Remove duplicate variables A few variables (bssid, bssidmask, curaid) were duplicated in struct ath_softc and in ath_hal, remove them. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d6bad496c6fbe3adb3323915a8b0430fa2955199 Author: Sujith Date: Mon Feb 9 13:27:08 2009 +0530 ath9k: Move regulatory information to a separate structure Signed-off-by: Sujith Signed-off-by: John W. Linville commit d535a42a21eb62bb0e7f35b8ae39da07b679dda4 Author: Sujith Date: Mon Feb 9 13:27:06 2009 +0530 ath9k: Store HW version information in a separate structure This patch moves all the HW version/revision specific information into a separate structure. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 17d7904de85125c62c7258d7cb21207f26d04048 Author: Sujith Date: Mon Feb 9 13:27:03 2009 +0530 ath9k: Remove all the sc_ prefixes This patch removes the useless sc_ prefixes for all variables. Also, refer to interfaces as VIFs and not as VAPs anymore. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ee6e8d1c234e62e503f2dd8137643b24cf424886 Author: Sujith Date: Mon Feb 9 13:29:49 2009 +0530 ath9k: Convert ANI channel to a pointer This patch converts the ANI channel reference to a pointer, this facilitates moving struct ar5416AniState to ani.h Signed-off-by: Sujith Signed-off-by: John W. Linville commit 394cf0a1ca02e7998c8d01975b60a3cdc121e7d8 Author: Sujith Date: Mon Feb 9 13:26:54 2009 +0530 ath9k: Header file cleanup Split the core header files into manageable pieces. Signed-off-by: Sujith Signed-off-by: John W. Linville commit fa8419d08e58c82add921b4e4eb01eb589b8586b Author: Nick Kossifidis Date: Mon Feb 9 06:17:45 2009 +0200 ath5k: Don't call reset on config_interface * We call reset too often and this can result various PHY problems. On config_interface we don't need to reset the whole device. TODO: Create a function hw_fast_reset that only resets the PCU (tx/rx stuff) and not the whole device so that we can use this for stuck beacons etc. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 1e3e6e8fe2f422f75619b1110f78bb638ae905b9 Author: Nick Kossifidis Date: Mon Feb 9 06:15:42 2009 +0200 ath5k: Disable BMISS interrupts * Don't enable BMISS interrupts as we don't handle them yet Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit e8f055f0c3ba226ca599c14c2e5fe829f6f57cbb Author: Nick Kossifidis Date: Mon Feb 9 06:12:58 2009 +0200 ath5k: Update reset code * Update reset and sync with HALs * Clean up eeprom settings and tweaking of initvals and put them on separate functions * Set/Restore 32KHz ref clk operation * Add some more documentation TODO: Spur mitigation, tpc, half/quarter rate, compression etc v2: Address comments from Bob and Felix and fix RSSI threshold bug introduced on the first version of the patch Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit a406c139091902acebafb2462b64ba498901e820 Author: Nick Kossifidis Date: Mon Feb 9 06:08:51 2009 +0200 ath5k: Update initvals * Update initvals to match legacy and Sam's HAL Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8892e4ec62f1553d36c88e613890aa4d7c5a372e Author: Nick Kossifidis Date: Mon Feb 9 06:06:34 2009 +0200 ath5k: Update RF Buffer handling * Use the new way to modify rf buffer and put some rf buffer documentation on rfbufer.h * Merge all rf regs functions to one * Sync with legacy HAL and Sam's HAL * Set gain_F settings so that gain_F optimization engine works on RF5111/RF5112 (note that both HALs only use step 0 for RF5111 and they don't use gain_F optimization for this chip, code is there but is never used) Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 6f3b414aca060a847e243f676b8601731938eb48 Author: Nick Kossifidis Date: Mon Feb 9 06:03:41 2009 +0200 ath5k: Update gain_F calibration code and add documentation * Update and cleanup rf gain optimization code * Add comments and refferences to docs and use sane function names * Use only step index on ath5k_gain, no need to have a pointer to the current step since we can determine te step from it's index, this also allows us to put all other structs on rfgain.h and cleanup ath5k.h a little * No need for ah_rfgain variable, we use ah_gain.g_state for everything * Tested on RF2112B chip but gain_F calibration is not yet done (we will finish this on the next patch where we'll rewrite rf-buffer handling) * Use initial rf gain settings for 2316 and 2317 SoCs introduced on a previous patch It seems big but it's mostly cleanup, very few functional changes have been made on phy.c Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 33a31826b4fe9f26d6b383bad19b7ae522fda006 Author: Nick Kossifidis Date: Mon Feb 9 06:00:34 2009 +0200 ath5k: PHY code cleanup * Clean up initial rf buffer settings (new file rfbufer.h) and introduce a new way to access specific rf registers (will use it later) * Clean up initial rf gain settings by moving them on a new file (rfgain.h) so we can later work on gain optimization functions * Update initial rf buffer settings and initial rf gain settings from HALs. This breaks things for now because our current dumps come from pre-configured rf buffer (regdumps already had the needed values set from binary HAL). Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 7b08b3b4a973de20d28d8a322c002c0a5444002a Author: Alina Friedrichsen Date: Thu Feb 5 17:58:34 2009 +0100 mac80211: Remove TSF atomic requirement from the documentation The atomic requirement for the TSF callbacks is outdated. get_tsf() is only called by ieee80211_rx_bss_info() which is indirectly called by the work queue ieee80211_sta_work(). In the same context are called several other non-atomic functions, too. And the atomic requirement causes problems for drivers of USB wifi cards. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 97d97b80984d0207e5c125c1b7b9467aad365d8d Author: Vivek Natarajan Date: Thu Feb 5 20:05:15 2009 +0530 mac80211: Fix the wrong WARN_ON message appearing on enabling power save. This issue happens only when we are associated with a 11n AP and power save is enabled. In the function 'ieee80211_master_start_xmit', ps_disable_work is queued where wake_queues is called. But before this work is executed, we check if the queues are stopped in _ieee80211_tx and return TX_AGAIN to ieee8011_tx which leads to the warning message. This patch fixes this erroneous case. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit dec59d6faffb44e741d9c19ffdf368d69a968a54 Author: David Kilroy Date: Wed Feb 4 23:05:58 2009 +0000 orinoco: hermes doesn't need to be a separate module Just compile it into the orinoco module. If we merge USB support, the module can then be split as appropriate. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit f90d8d4789eba79b0a715e41aba4c09403088847 Author: David Kilroy Date: Wed Feb 4 23:05:57 2009 +0000 orinoco: hermes_dld does not need to be a module Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit cb1576a829826d56fab59e22aa3af8c5a7db9936 Author: David Kilroy Date: Wed Feb 4 23:05:56 2009 +0000 orinoco: Move WEXT handlers into a separate file No functional change. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 712a4342a0d89e855a03ba06fb11f7eb29456d45 Author: David Kilroy Date: Wed Feb 4 23:05:55 2009 +0000 orinoco: Move hardware functions into separate file No functional change. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5865d015cf85c619a51f8be93d44ec932bc90038 Author: David Kilroy Date: Wed Feb 4 23:05:54 2009 +0000 orinoco: Add hardware function to set multicast mode No functional change. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit cfeb1db6db80435ccf1f9b18ea71bb233f7db20c Author: David Kilroy Date: Wed Feb 4 23:05:53 2009 +0000 orinoco: Use accessor functions for bitrate tables ... when used by the WEXT ioctl functions. This will allow us to separate the card specific stuff from the WEXT code. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 37a2e566f82de9a88fe119479162f9984af2180d Author: David Kilroy Date: Wed Feb 4 23:05:52 2009 +0000 orinoco: Move firmware handling into a separate file No functional change. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 4adb474b6b7e26e1318acab5e98864aa78f9b233 Author: David Kilroy Date: Wed Feb 4 23:05:51 2009 +0000 orinoco: Move MIC helpers into new file No functional change. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit c466ed2e4337c5eb03b283da507eb5328ab06c73 Author: Dimitri Sivanich Date: Fri Feb 13 08:40:55 2009 -0600 x86, UV: set full apicid in uv_hub_send_ipi The uv_hub_send_ipi() function needs to set the full apicid in the UVH_IPI_INT mmr. Signed-off-by: Dimitri Sivanich Signed-off-by: Ingo Molnar commit f1464ede550b8fda75086cb9bacf8d60fc9f6780 Merge: 9e30d77... c85e5a4... Author: Takashi Iwai Date: Fri Feb 13 15:10:35 2009 +0100 Merge branch 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit b5f9fd0f8a05c9bafb91a9a85b9110938d8e585b Author: Jason Baron Date: Wed Feb 11 13:57:25 2009 -0500 tracing: convert c/p state power tracer to use tracepoints Convert the c/p state "power" tracer to use tracepoints. Avoids a function call when the tracer is disabled. Signed-off-by: Jason Baron Acked-by: Ingo Molnar Signed-off-by: Steven Rostedt commit c85e5a4161b4768599deaee7a5df3ded9c34ea3b Merge: d5e9ba1... 14fa43f... Author: Mark Brown Date: Fri Feb 13 14:02:08 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit d5e9ba1d58b6da1c58a91113fc350ece97ec5a0b Author: Timur Tabi Date: Tue Feb 3 11:09:32 2009 -0600 ASoC: add additional controls to the CS4270 codec driver Update the CS4270 codec driver to allow applications to use the mixer to control Digital Loopback, Soft Ramp, Zero Cross, Popguard, and Auto-Mute. Soft Ramp, Zero Cross, and Auto-Mute are disabled by the driver when it first initializes the hardware, but these features either don't work or interfere with normal ALSA behavior. However, they can now be re-enabled by an application if desired. Remove CONFIG_SND_SOC_CS4270_HWMUTE and always allow ASoC to control the mute bits. The driver previously and erroneously assumed that these bits control only external muting circuitry, but they also control internal muting circuitry, so they should always be used. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit 694aa960608d2976666d850bd4ef78053bbd0c84 Author: Ian Campbell Date: Thu Feb 12 16:25:42 2009 -0800 xen: fix xen_flush_tlb_others The commit commit 4595f9620cda8a1e973588e743cf5f8436dd20c6 Author: Rusty Russell Date: Sat Jan 10 21:58:09 2009 -0800 x86: change flush_tlb_others to take a const struct cpumask causes xen_flush_tlb_others to allocate a multicall and then issue it without initializing it in the case where the cpumask is empty, leading to: [ 8.354898] 1 multicall(s) failed: cpu 1 [ 8.354921] Pid: 2213, comm: bootclean Not tainted 2.6.29-rc3-x86_32p-xenU-tip #135 [ 8.354937] Call Trace: [ 8.354955] [] xen_mc_flush+0x133/0x1b0 [ 8.354971] [] ? xen_force_evtchn_callback+0x1a/0x30 [ 8.354988] [] xen_flush_tlb_others+0xb0/0xd0 [ 8.355003] [] flush_tlb_page+0x53/0xa0 [ 8.355018] [] do_wp_page+0x2a0/0x7c0 [ 8.355034] [] ? notify_remote_via_irq+0x3a/0x70 [ 8.355049] [] handle_mm_fault+0x7b0/0xa50 [ 8.355065] [] ? wake_up_new_task+0x8e/0xb0 [ 8.355079] [] ? do_fork+0xe5/0x320 [ 8.355095] [] do_page_fault+0xe9/0x240 [ 8.355109] [] ? do_page_fault+0x0/0x240 [ 8.355125] [] error_code+0x72/0x78 [ 8.355139] call 1/1: op=2863311530 arg=[aaaaaaaa] result=-38 xen_flush_tlb_others+0x41/0xd0 Since empty cpumasks are rare and undoing an xen_mc_entry() is tricky just issue such requests normally. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit beb6943d8df7ce9278282101af4e0f6f7b648451 Author: Ingo Molnar Date: Fri Feb 13 13:36:47 2009 +0100 x86 headers: protect page_32.h via __ASSEMBLY__ Signed-off-by: Ingo Molnar commit e43623b4ed1d0a1a86f0e05a2df8b9637b90ddd7 Author: Ingo Molnar Date: Fri Feb 13 13:24:19 2009 +0100 x86 headers: include page_types.h in pgtable_types.h To properly pick up details like PTE_FLAGS_MASK. Signed-off-by: Ingo Molnar commit 56cefcea7c8769ffc04a5609e6ac849e36685468 Author: Ingo Molnar Date: Fri Feb 13 13:23:02 2009 +0100 x86 headers: include linux/types.h To properly pick up types relied on by prototypes like 'bool'. Signed-off-by: Ingo Molnar commit 999c7880cc8eeb0cbe6610b8c6d0ab0ec51cd848 Author: Ingo Molnar Date: Fri Feb 13 13:15:55 2009 +0100 x86 headers: remove duplicate pud_large() definition Signed-off-by: Ingo Molnar commit b233969eaa98c7b339d955fe25a58bf6bf25739a Merge: d040c16... 54321d9... Author: Ingo Molnar Date: Fri Feb 13 13:09:00 2009 +0100 Merge branch 'x86/untangle2' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/headers Conflicts: arch/x86/include/asm/page.h arch/x86/include/asm/pgtable.h arch/x86/mach-voyager/voyager_smp.c arch/x86/mm/fault.c commit d040c1614c24162adc3fe106b182596999264e26 Merge: d88316c... 7032e86... Author: Ingo Molnar Date: Fri Feb 13 13:05:57 2009 +0100 Merge branch 'x86/core' into x86/headers commit 6a05ac4afa90ac9c38fedd3f6940fe8da5d1fcf6 Author: Takashi Iwai Date: Fri Feb 13 11:19:09 2009 +0100 ALSA: hda - Support multiple digital outs with auto-probing Added the support of multiple digital outputs via auto-probing for Realtek ALC88x codecs. The multiple outputs are handled as slave streams, so only one PCM stream (and the corresponding IEC958* elements) is provided to control both digital outputs. Signed-off-by: Takashi Iwai commit 9b5f12e5a4029c1cd03784754687faef6d9e54fa Author: Takashi Iwai Date: Fri Feb 13 11:47:37 2009 +0100 ALSA: hda - Add proper cleanup for multiout-dig for ALC codecs The recent patch_realtek.c contains the slave digital-out support as well. Signed-off-by: Takashi Iwai commit c8a1a8985d705339a346203f26d2d6ff137f84c9 Merge: 9468350... 9411e21... Author: Takashi Iwai Date: Fri Feb 13 11:59:26 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 8f8573ae9f5deefada6f5d64d0a52c9b39c730c7 Merge: 37bed90... 0e43785... 005bf0e6... 548c893... Author: Ingo Molnar Date: Fri Feb 13 11:57:18 2009 +0100 Merge branches 'irq/genirq', 'irq/sparseirq' and 'irq/urgent' into irq/core commit 5fb896a4e916e72efec4772b66be1cce3d6a9143 Merge: d351c8d... 2a7b8df... Author: Ingo Molnar Date: Fri Feb 13 11:02:40 2009 +0100 Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 0e43785c57fee50fbc00ea0378e941efb61fa0c2 Author: Johannes Weiner Date: Fri Feb 13 04:38:04 2009 +0100 irq: use GFP_KERNEL for action allocation in request_irq() request_irq() calls into proc code via __setup_irq() which is not safe in an atomic context, so request_irq() can itself use the more reliable GFP_KERNEL allocation for the action descriptor. Signed-off-by: Johannes Weiner Signed-off-by: Ingo Molnar commit d351c8db95953b1b673de3966cb39640dc6c2f5f Merge: 1c511f7... 45141d4... Author: Ingo Molnar Date: Fri Feb 13 10:26:45 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 1c511f740fe7031867f51831854360e8be1ba34c Merge: e7669b8... 00f62f6... b22f485... 071a0bc... Author: Ingo Molnar Date: Fri Feb 13 10:25:18 2009 +0100 Merge branches 'tracing/ftrace', 'tracing/ring-buffer', 'tracing/sysprof', 'tracing/urgent' and 'linus' into tracing/core commit 7032e8696726354d6180d8a2d17191f958cd93ae Merge: f268fe7... 3bd323a... b13e246... Author: Ingo Molnar Date: Fri Feb 13 09:47:32 2009 +0100 Merge branches 'x86/paravirt', 'x86/pat', 'x86/setup-v2', 'x86/subarch', 'x86/uaccess' and 'x86/urgent' into x86/core commit f268fe7333ccd16e3e5b7de0be1df201e40a8e7c Merge: a56cdcb... 0464ac9... Author: Ingo Molnar Date: Fri Feb 13 09:47:24 2009 +0100 Merge branch 'x86/mm' into x86/core commit a56cdcb662032a732f7c4f35cc5a9acf37759d8c Merge: 881c477... 8e1568f... 063f891... f5deb79... 2c344e9... bd28242... d88316c... 39ba5d4... Author: Ingo Molnar Date: Fri Feb 13 09:46:36 2009 +0100 Merge branches 'x86/acpi', 'x86/asm', 'x86/cpudetect', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/header-fixes', 'x86/headers' and 'x86/minor-fixes' into x86/core commit 881c47760bc66b43360337da37d2a9de4af865b0 Merge: ab639f3... 8913937... Author: Ingo Molnar Date: Fri Feb 13 09:45:42 2009 +0100 Merge branch 'x86/cleanups' into x86/core commit ab639f3593f0b5e4439d549831442c18c3baf989 Merge: f8a6b2b... 58105ef... Author: Ingo Molnar Date: Fri Feb 13 09:45:09 2009 +0100 Merge branch 'core/percpu' into x86/core commit f8a6b2b9cee298a9663cbe38ce1eb5240987cb62 Merge: ba1511b... 071a0bc... Author: Ingo Molnar Date: Fri Feb 13 09:44:22 2009 +0100 Merge branch 'linus' into x86/apic Conflicts: arch/x86/kernel/acpi/boot.c arch/x86/mm/fault.c commit 946835074e026f4bbe9f3c2b091dca6346bd1474 Author: Takashi Iwai Date: Fri Feb 13 09:31:20 2009 +0100 ALSA: hda - Add quirk for Acer AX1700-U3700A Force model=auto for Acer AX1700-U3700A with ALC888 codec. Since Acer devices are handlded as model=acer as default, the auto parsing has to be specified explicitly. (Maybe it's better rather to remove this default model=acer handling, though.) Signed-off-by: Takashi Iwai commit 344384494e7d3feb0a945a31280a35c5fcca2bbc Merge: 27e0898... 92258a3... Author: Takashi Iwai Date: Fri Feb 13 08:41:44 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 27e089888fb1a3d1d13892262f9d522b03985044 Author: Aristeu Sergio Rozanski Filho Date: Thu Feb 12 17:50:37 2009 -0500 ALSA: hda: add quirk for Lenovo X200 laptop dock Currently the HP connector on X200 dock doesn't detect when a HP is connected nor allows sound to be played using it. This patch fixes the problem by adding a quirk for this specific model. It's possible that others have the same NID (0x19) to report when dock HP is connected, but I don't have access to any. Please Cc me in the reply since I'm not subscribed to alsa-devel@. Signed-off-by: Aristeu Rozanski Signed-off-by: Takashi Iwai commit 8bb0ac5573ff0879fef511e1a80a4a4db0316daa Author: Matthew Ranostay Date: Thu Feb 12 16:50:01 2009 -0500 ALSA: hda: Add STAC_DELL_S14 quirk Add STAC_DELL_S14 quirk for new laptop series. Removed un-needed pins in pin_nids for stac92hd83xxx. Also reorganized connection selection code for the respective ports per quirk define. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit ae374d667a54fb5e2c9c0c4e87b206bd665f3ad6 Author: Takashi Iwai Date: Fri Feb 13 08:33:55 2009 +0100 ALSA: hda - Update documentation Update documentation regarding codec probing; the new probe_only option and the new probe_mask usage. Signed-off-by: Takashi Iwai commit 20db7cb0acd0ba5a3b12f686148d670294a69366 Author: Takashi Iwai Date: Fri Feb 13 08:18:48 2009 +0100 ALSA: hda - Add forced codec-slots for ASUS W5F ASUS W5F needs the fixed codec-slots to probe to override the BIOS problem. Tested-by: Giovanni Moser Frainer Signed-off-by: Takashi Iwai commit f1eaaeec11982c6b529d4255987fdf507a5fa69e Author: Takashi Iwai Date: Fri Feb 13 08:16:55 2009 +0100 ALSA: hda - Allow fixed codec-probe mask Some devices have broken BIOS and they don't set the codec probe-bit properly after cleared by the driver. This makes the driver skipping the necessary codec slots. Since BIOS update isn't always easy, now the semantics of probe_mask option is changed a bit. When it contains the bit 8 (0x100), the lower bits are used to probe that slots regardless of codec-probe bits returned by the hardware. For example, probe_mask=0x103 will force to probe the codec slot #0 and #1. Signed-off-by: Takashi Iwai commit ce3dd39595d9d64f4ba6ee8dd24c6269a3b56b6a Author: Jarek Poplawski Date: Thu Feb 12 16:51:43 2009 -0800 net: Fix page seeking for skb_splice_bits(). struct page walking should be done with proper accessor functions, not directly. With doubts from David S. Miller and Herbert Xu. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 96a8bac5895a41b0fb05a6aa7c3fa1ea631a91fe Author: Kumar Gala Date: Thu Feb 12 09:39:23 2009 -0600 powerpc/fsl-booke: Fix compile warning arch/powerpc/mm/fsl_booke_mmu.c: In function 'adjust_total_lowmem': arch/powerpc/mm/fsl_booke_mmu.c:221: warning: format '%ld' expects type 'long int', but argument 3 has type 'phys_addr_t' Signed-off-by: Kumar Gala commit 70fe3af8403f85196bb74f22ce4813db7dfedc1a Author: Kumar Gala Date: Thu Feb 12 16:12:40 2009 -0600 powerpc/book-3e: Introduce concept of Book-3e MMU The Power ISA 2.06 spec introduces a standard MMU programming model that is based on the Freescale Book-E MMU programing model. The Freescale version is pretty backwards compatiable with the ISA 2.06 definition so we are starting to refactor some of the Freescale code so it can be easily shared. Signed-off-by: Kumar Gala commit d66c82ea456853a71d88359b0c19a92ac1d393ff Author: Kumar Gala Date: Tue Feb 10 18:10:50 2009 -0600 powerpc/fsl-booke: Add new ISA 2.06 page sizes and MAS defines The Power ISA 2.06 added power of two page sizes to the embedded MMU architecture. Its done it such a way to be code compatiable with the existing HW. Made the minor code changes to support both power of two and power of four page sizes. Also added some new MAS bits and macros that are defined as part of the 2.06 ISA. Renamed some things to use the 'Book-3e' concept to convey the new MMU that is based on the Freescale Book-E MMU programming model. Note, its still invalid to try and use a page size that isn't supported by cpu. Signed-off-by: Kumar Gala commit b53fab9d48e9bd9aeba0b500dec550becd981a91 Author: Randy Dunlap Date: Thu Feb 12 09:54:14 2009 -0800 ima: fix build error IMA_LSM_RULES requires AUDIT. This is automatic if SECURITY_SELINUX=y but not when SECURITY_SMACK=y (and SECURITY_SELINUX=n), so make the dependency explicit. This fixes the following build error: security/integrity/ima/ima_policy.c:111:error: implicit declaration of function 'security_audit_rule_match' security/integrity/ima/ima_policy.c:230:error: implicit declaration of function 'security_audit_rule_init' Signed-off-by: Randy Dunlap Acked-by: Mimi Zohar Signed-off-by: James Morris commit 8aa4349ad527db56724b1ab9478db65a8065e0bb Merge: b747664... 7c8f7af... Author: Felix Blyakher Date: Thu Feb 12 15:06:27 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs commit b747664516aaced3395f8969f291703fd5d879d7 Merge: 8e08f6e... 071a0bc... Author: Felix Blyakher Date: Thu Feb 12 15:05:33 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 2a7b8df04c11a70105c1abe67d006455d3bdc944 Author: Steven Rostedt Date: Thu Feb 12 14:16:46 2009 -0500 sched: do not account for NMIs Impact: avoid corruption in system time accounting Martin Schwidefsky told me that there was an issue with NMIs and system accounting. The problem is that the accounting code is not reentrant, and if an NMI goes off after an interrupt it can corrupt the accounting. For now, the best we can do is to treat NMIs like SMIs and they are not accounted for. This patch changes nmi_enter to not call __irq_enter and to do the preempt-count and tracing calls directly. Signed-off-by: Steven Rostedt commit 7c8f7af67de19a7ae33a6fc06764771265b0cc56 Author: Christoph Hellwig Date: Thu Feb 12 19:56:00 2009 +0100 xfs: reject swapext ioctl on swapfiles Swapfiles are magic - I/O is directly initialized by the VM without involving the filesystem. Swapping out extents underneath the VM thus can cause severe problems. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit 264307520b120593ba63c4a23c58dd5e2ec5e822 Author: Christoph Hellwig Date: Thu Feb 12 19:55:48 2009 +0100 xfs: fix error handling in xfs_log_mount We can't just call xfs_log_unmount_dealloc on any failure because the ail thread which is torn down by xfs_log_unmount_dealloc might not be initialized yet. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Reported-by: Lachlan McIlroy commit 45141d4667d208421ca787a3301542b6a5e0b112 Author: Steven Rostedt Date: Thu Feb 12 13:19:48 2009 -0500 ring-buffer: rename label out_unlock to out_reset Impact: clean up While reviewing the ring buffer code, I thougth I saw a bug with if (!__raw_spin_trylock(&cpu_buffer->lock)) goto out_unlock; But I forgot that we use a variable "lock_taken" that is set if the spinlock is taken, and only unlock it if that variable is set. To avoid further confusion from other reviewers, this patch renames the label out_unlock with out_reset, which is the more appropriate name. Signed-off-by: Steven Rostedt commit 5a5fb7dbe88dd57dc2bef0f3be9da991e789612d Author: Steven Rostedt Date: Thu Feb 12 10:53:37 2009 -0500 preempt-count: force hardirq-count to max of 10 To add a bit in the preempt_count to be set when in NMI context, we found that some archs did not have enough bits to spare. This is due to the hardirq_count being a mask that can hold NR_IRQS. Some archs allow for over 16000 IRQs, and that would require a mask of 14 bits. The sofitrq mask is 8 bits and the preempt disable mask is also 8 bits. The PREEMP_ACTIVE bit is bit 30, and bit 31 would make the preempt_count (which is type int) a negative number. A negative preempt_count is a sign of failure. Add them up 14+8+8+1+1 you get 32 bits. No room for the NMI bit. But the hardirq_count is to track the number of nested IRQs, not the number of total IRQs. This originally took the paranoid approach of setting the max nesting to NR_IRQS. But when we have archs with over 1000 IRQs, it is not practical to think they will ever all nest on a single CPU. Not to mention that this would most definitely cause a stack overflow. This patch sets a max of 10 bits to be used for IRQ nesting. I did a 'git grep HARDIRQ' to examine all users of HARDIRQ_BITS and HARDIRQ_MASK, and found that making it a max of 10 would not hurt anyone. I did find that the m68k expected it to be 8 bits, so I allow for the archs to set the number to be less than 10. I removed the setting of HARDIRQ_BITS from the archs that set it to more than 10. This includes ALPHA, ia64 and avr32. This will always allow room for the NMI bit, and if we need to allow for NMI nesting, we have 4 bits to play with. Signed-off-by: Steven Rostedt commit d88316c243e5458a1888edbe0353c4dec6e61c73 Author: Ingo Molnar Date: Thu Feb 12 15:16:03 2009 +0100 x86, 32-bit: refactor find_low_pfn_range() Impact: cleanup Make the max_low_pfn logic a bit more standard between lowmem_pfn_init() and highmem_pfn_init(). Signed-off-by: Ingo Molnar commit 4769843bc265a9c24584b98709cf39e1df5c1404 Author: Ingo Molnar Date: Thu Feb 12 13:31:41 2009 +0100 x86, 32-bit: clean up find_low_pfn_range() Impact: cleanup Split find_low_pfn_range() into two functions: - lowmem_pfn_init() - highmem_pfn_init() The former gets called if all of RAM fits into lowmem, otherwise we call highmem_pfn_init(). Signed-off-by: Ingo Molnar commit 3023533de43c5c01c660e1b48d3700b028eb4615 Author: Ingo Molnar Date: Thu Feb 12 13:28:43 2009 +0100 x86: fix warning in find_low_pfn_range() Signed-off-by: Ingo Molnar commit 2d7c11bfc91637e5f9bc5f8c9a82aaffcc0e97aa Author: Catalin Marinas Date: Wed Feb 11 13:07:53 2009 +0100 [ARM] 5382/1: unwind: Reorganise the stacktrace support This patch changes the walk_stacktrace and its callers for easier integration of stack unwinding. The arch/arm/kernel/stacktrace.h file is also moved to arch/arm/include/asm/stacktrace.h. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 67a94c23bb7338c321ae71aa33f8d398c94e1d0c Author: Catalin Marinas Date: Wed Feb 11 13:06:53 2009 +0100 [ARM] 5381/1: unwind: Reorganise the traps.c code This patch moves code around in the arch/arm/kernel/traps.c file for easier integration of the stack unwinding support. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit bd282422fe9566a89bc34af325efb6d2701903be Author: Ingo Molnar Date: Thu Feb 12 12:59:05 2009 +0100 x86, defconfig: turn off CONFIG_SCSI_ISCSI_ATTRS=y It was enabled by mistake - iscsi is not included in a typical default PC, and no other architecture has it built-in (=y) either. Turn it off. Signed-off-by: Ingo Molnar commit 556831063bcf8fd818e92227c40e3eaabe759bab Author: Ingo Molnar Date: Thu Feb 12 12:51:29 2009 +0100 x86, defconfig: turn off CONFIG_ENABLE_WARN_DEPRECATED deprecation warnings have become rather noisy lately: drivers/i2c/i2c-core.c: In function ‘i2c_new_device’: drivers/i2c/i2c-core.c:283: warning: ‘i2c_attach_client’ is deprecated (declared at include/linux/i2c.h:434) drivers/i2c/i2c-core.c: In function ‘i2c_del_adapter’: drivers/i2c/i2c-core.c:646: warning: ‘detach_client’ is deprecated (declared at include/linux/i2c.h:154) drivers/i2c/i2c-core.c: In function ‘i2c_register_driver’: drivers/i2c/i2c-core.c:713: warning: ‘detach_client’ is deprecated (declared at include/linux/i2c.h:154) drivers/i2c/i2c-core.c: In function ‘__detach_adapter’: drivers/i2c/i2c-core.c:780: warning: ‘detach_client’ is deprecated (declared at include/linux/i2c.h:154) drivers/i2c/i2c-core.c: At top level: drivers/i2c/i2c-core.c:876: warning: ‘i2c_attach_client’ is deprecated (declared at drivers/i2c/i2c-core.c:827) drivers/i2c/i2c-core.c:876: warning: ‘i2c_attach_client’ is deprecated (declared at drivers/i2c/i2c-core.c:827) drivers/i2c/i2c-core.c:904: warning: ‘i2c_detach_client’ is deprecated (declared at drivers/i2c/i2c-core.c:879) drivers/i2c/i2c-core.c:904: warning: ‘i2c_detach_client’ is deprecated (declared at drivers/i2c/i2c-core.c:879) So turn it off for now - these reminders can obscure critical warnings. Signed-off-by: Ingo Molnar commit dd5fc55449c5e7e4f008d7d26cda9e6e2bc94980 Author: Ingo Molnar Date: Thu Feb 12 12:48:48 2009 +0100 x86, defconfig: update the 64-bit defconfig Signed-off-by: Ingo Molnar commit bc8bd002b8371ece81c9adbdce49d7e68f0a0cbc Author: Ingo Molnar Date: Thu Feb 12 12:43:52 2009 +0100 x86, defconfig: update the 32-bit defconfig Signed-off-by: Ingo Molnar commit a12370f12fdc6a35463842e41eaf04299167eb12 Author: wanzongshun Date: Thu Feb 12 02:57:21 2009 +0100 [ARM] 5393/1: Add W90P910 EVB NOR flash driver Add W90P910 Evaluate Board NOR flash driver support, The EV Board default support W19B320ABT7H of Winbond inc. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 9ee8c9f0124dd70779c400459d57bdbbed60fcfe Author: wanzongshun Date: Thu Feb 12 02:56:04 2009 +0100 [ARM] 5392/1: Delete redundant macros for w90p910 Delete the macros W90X900_RES and W90X900_DEVICE I thought it will be better to define the structures for each device directly. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit e9fc78230cb77647eb79d4b2f7c4d6c070f611f1 Author: Catalin Marinas Date: Wed Feb 11 13:14:57 2009 +0100 [ARM] 5389/1: Make sure the pmd entries are visible by the secondary CPU The __cpu_up() function in arch/arm/kernel/smp.c sets the pmd entries without flushing or cleaning them. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 7279dc3e914635ab4b288ec39383272a06c466f3 Author: Catalin Marinas Date: Wed Feb 11 13:13:56 2009 +0100 [ARM] 5388/1: Add hwcap bits for VFPv3 and VFPv3D16 The VFPv3D16 is a VFPv3 CPU configuration where only 16 double registers are present, as the VFPv2 configuration. This patch adds the corresponding hwcap bits so that applications or debuggers have more information about the supported features. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 3d1228ead618b88e8606015cbabc49019981805d Author: Catalin Marinas Date: Wed Feb 11 13:12:56 2009 +0100 [ARM] 5387/1: Add ptrace VFP support on ARM This patch adds ptrace support for setting and getting the VFP registers using PTRACE_SETVFPREGS and PTRACE_GETVFPREGS. The user_vfp structure defined in asm/user.h contains 32 double registers (to cover VFPv3 and Neon hardware) and the FPSCR register. Cc: Paul Brook Cc: Daniel Jacobowitz Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit f373e8c0639f1720d2d0fe414990f504e113c2ba Author: Ryan Mallon Date: Tue Feb 10 21:02:08 2009 +0100 [ARM] 5373/2: Add gpiolib support to AT91 Add support for gpiolib, including debugfs output, to the AT91 family. The at91_get/set_gpio_value calls still exist since they are used by the atmel serial driver. Signed-off-by: Ryan Mallon Signed-off-by: Russell King commit 35d50e60e8b12e4adc2fa317343a176d87294a72 Author: Tetsuo Handa Date: Thu Feb 12 15:53:38 2009 +0900 tomoyo: fix sparse warning Fix sparse warning. $ make C=2 SUBDIRS=security/tomoyo CF="-D__cold__=" CHECK security/tomoyo/common.c CHECK security/tomoyo/realpath.c CHECK security/tomoyo/tomoyo.c security/tomoyo/tomoyo.c:110:8: warning: symbol 'buf' shadows an earlier one security/tomoyo/tomoyo.c:100:7: originally declared here Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 41480ae7a383dcffa497decdd97b3cb2caaa18ec Merge: 508eb2c... 34aeb43... Author: Paul Mundt Date: Thu Feb 12 17:27:56 2009 +0900 Merge branch 'sh/stable-updates' commit 42d5aaa2d826f54924e260b58a8e410e59d54163 Author: James Morris Date: Thu Feb 12 16:29:04 2009 +1100 security: change link order of LSMs so security=tomoyo works LSMs need to be linked before root_plug to ensure the security= boot parameter works with them. Do this for Tomoyo. (root_plug probably needs to be taken out and shot at some point, too). Signed-off-by: James Morris commit d74db3b22a75fac474abe711f582ffe25eacce25 Author: Kentaro Takeda Date: Thu Feb 5 17:18:18 2009 +0900 MAINTAINERS info The archive of tomoyo-users-en mailing list is available at http://lists.sourceforge.jp/mailman/archives/tomoyo-users-en/ . Mailing lists for Japanese users are at http://lists.sourceforge.jp/mailman/archives/tomoyo-users/ and http://lists.sourceforge.jp/mailman/archives/tomoyo-dev/ . TOMOYO Linux English portal is at http://elinux.org/TomoyoLinux . Signed-off-by: Kentaro Takeda Signed-off-by: James Morris commit 00d7d6f840ddc947237307e022de5e75ded4105f Author: Kentaro Takeda Date: Thu Feb 5 17:18:17 2009 +0900 Kconfig and Makefile TOMOYO uses LSM hooks for pathname based access control and securityfs support. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit f7433243770c77979c396b4c7449a10e9b3521db Author: Kentaro Takeda Date: Thu Feb 5 17:18:16 2009 +0900 LSM adapter functions. DAC's permissions and TOMOYO's permissions are not one-to-one mapping. Regarding DAC, there are "read", "write", "execute" permissions. Regarding TOMOYO, there are "allow_read", "allow_write", "allow_read/write", "allow_execute", "allow_create", "allow_unlink", "allow_mkdir", "allow_rmdir", "allow_mkfifo", "allow_mksock", "allow_mkblock", "allow_mkchar", "allow_truncate", "allow_symlink", "allow_rewrite", "allow_link", "allow_rename" permissions. +----------------------------------+----------------------------------+ | requested operation | required TOMOYO's permission | +----------------------------------+----------------------------------+ | sys_open(O_RDONLY) | allow_read | +----------------------------------+----------------------------------+ | sys_open(O_WRONLY) | allow_write | +----------------------------------+----------------------------------+ | sys_open(O_RDWR) | allow_read/write | +----------------------------------+----------------------------------+ | open_exec() from do_execve() | allow_execute | +----------------------------------+----------------------------------+ | open_exec() from !do_execve() | allow_read | +----------------------------------+----------------------------------+ | sys_read() | (none) | +----------------------------------+----------------------------------+ | sys_write() | (none) | +----------------------------------+----------------------------------+ | sys_mmap() | (none) | +----------------------------------+----------------------------------+ | sys_uselib() | allow_read | +----------------------------------+----------------------------------+ | sys_open(O_CREAT) | allow_create | +----------------------------------+----------------------------------+ | sys_open(O_TRUNC) | allow_truncate | +----------------------------------+----------------------------------+ | sys_truncate() | allow_truncate | +----------------------------------+----------------------------------+ | sys_ftruncate() | allow_truncate | +----------------------------------+----------------------------------+ | sys_open() without O_APPEND | allow_rewrite | +----------------------------------+----------------------------------+ | setfl() without O_APPEND | allow_rewrite | +----------------------------------+----------------------------------+ | sys_sysctl() for writing | allow_write | +----------------------------------+----------------------------------+ | sys_sysctl() for reading | allow_read | +----------------------------------+----------------------------------+ | sys_unlink() | allow_unlink | +----------------------------------+----------------------------------+ | sys_mknod(S_IFREG) | allow_create | +----------------------------------+----------------------------------+ | sys_mknod(0) | allow_create | +----------------------------------+----------------------------------+ | sys_mknod(S_IFIFO) | allow_mkfifo | +----------------------------------+----------------------------------+ | sys_mknod(S_IFSOCK) | allow_mksock | +----------------------------------+----------------------------------+ | sys_bind(AF_UNIX) | allow_mksock | +----------------------------------+----------------------------------+ | sys_mknod(S_IFBLK) | allow_mkblock | +----------------------------------+----------------------------------+ | sys_mknod(S_IFCHR) | allow_mkchar | +----------------------------------+----------------------------------+ | sys_symlink() | allow_symlink | +----------------------------------+----------------------------------+ | sys_mkdir() | allow_mkdir | +----------------------------------+----------------------------------+ | sys_rmdir() | allow_rmdir | +----------------------------------+----------------------------------+ | sys_link() | allow_link | +----------------------------------+----------------------------------+ | sys_rename() | allow_rename | +----------------------------------+----------------------------------+ TOMOYO requires "allow_execute" permission of a pathname passed to do_execve() but does not require "allow_read" permission of that pathname. Let's consider 3 patterns (statically linked, dynamically linked, shell script). This description is to some degree simplified. $ cat hello.c #include int main() { printf("Hello\n"); return 0; } $ cat hello.sh #! /bin/sh echo "Hello" $ gcc -static -o hello-static hello.c $ gcc -o hello-dynamic hello.c $ chmod 755 hello.sh Case 1 -- Executing hello-static from bash. (1) The bash process calls fork() and the child process requests do_execve("hello-static"). (2) The kernel checks "allow_execute hello-static" from "bash" domain. (3) The kernel calculates "bash hello-static" as the domain to transit to. (4) The kernel overwrites the child process by "hello-static". (5) The child process transits to "bash hello-static" domain. (6) The "hello-static" starts and finishes. Case 2 -- Executing hello-dynamic from bash. (1) The bash process calls fork() and the child process requests do_execve("hello-dynamic"). (2) The kernel checks "allow_execute hello-dynamic" from "bash" domain. (3) The kernel calculates "bash hello-dynamic" as the domain to transit to. (4) The kernel checks "allow_read ld-linux.so" from "bash hello-dynamic" domain. I think permission to access ld-linux.so should be charged hello-dynamic program, for "hello-dynamic needs ld-linux.so" is not a fault of bash program. (5) The kernel overwrites the child process by "hello-dynamic". (6) The child process transits to "bash hello-dynamic" domain. (7) The "hello-dynamic" starts and finishes. Case 3 -- Executing hello.sh from bash. (1) The bash process calls fork() and the child process requests do_execve("hello.sh"). (2) The kernel checks "allow_execute hello.sh" from "bash" domain. (3) The kernel calculates "bash hello.sh" as the domain to transit to. (4) The kernel checks "allow_read /bin/sh" from "bash hello.sh" domain. I think permission to access /bin/sh should be charged hello.sh program, for "hello.sh needs /bin/sh" is not a fault of bash program. (5) The kernel overwrites the child process by "/bin/sh". (6) The child process transits to "bash hello.sh" domain. (7) The "/bin/sh" requests open("hello.sh"). (8) The kernel checks "allow_read hello.sh" from "bash hello.sh" domain. (9) The "/bin/sh" starts and finishes. Whether a file is interpreted as a program or not depends on an application. The kernel cannot know whether the file is interpreted as a program or not. Thus, TOMOYO treats "hello-static" "hello-dynamic" "ld-linux.so" "hello.sh" "/bin/sh" equally as merely files; no distinction between executable and non-executable. Therefore, TOMOYO doesn't check DAC's execute permission. TOMOYO checks "allow_read" permission instead. Calling do_execve() is a bold gesture that an old program's instance (i.e. current process) is ready to be overwritten by a new program and is ready to transfer control to the new program. To split purview of programs, TOMOYO requires "allow_execute" permission of the new program against the old program's instance and performs domain transition. If do_execve() succeeds, the old program is no longer responsible against the consequence of the new program's behavior. Only the new program is responsible for all consequences. But TOMOYO doesn't require "allow_read" permission of the new program. If TOMOYO requires "allow_read" permission of the new program, TOMOYO will allow an attacker (who hijacked the old program's instance) to open the new program and steal data from the new program. Requiring "allow_read" permission will widen purview of the old program. Not requiring "allow_read" permission of the new program against the old program's instance is my design for reducing purview of the old program. To be able to know whether the current process is in do_execve() or not, I want to add in_execve flag to "task_struct". Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 26a2a1c9eb88d9aca8891575b3b986812e073872 Author: Kentaro Takeda Date: Thu Feb 5 17:18:15 2009 +0900 Domain transition handler. This file controls domain creation/deletion/transition. Every process belongs to a domain in TOMOYO Linux. Domain transition occurs when execve(2) is called and the domain is expressed as 'process invocation history', such as ' /sbin/init /etc/init.d/rc'. Domain information is stored in current->cred->security field. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit b69a54ee582373d76e4b5560970db5b8c618b12a Author: Kentaro Takeda Date: Thu Feb 5 17:18:14 2009 +0900 File operation restriction part. This file controls file related operations of TOMOYO Linux. tomoyo/tomoyo.c calls the following six functions in this file. Each function handles the following access types. * tomoyo_check_file_perm sysctl()'s "read" and "write". * tomoyo_check_exec_perm "execute". * tomoyo_check_open_permission open(2) for "read" and "write". * tomoyo_check_1path_perm "create", "unlink", "mkdir", "rmdir", "mkfifo", "mksock", "mkblock", "mkchar", "truncate" and "symlink". * tomoyo_check_2path_perm "rename" and "unlink". * tomoyo_check_rewrite_permission "rewrite". ("rewrite" are operations which may lose already recorded data of a file, i.e. open(!O_APPEND) || open(O_TRUNC) || truncate() || ftruncate()) The functions which actually checks ACLs are the following three functions. Each function handles the following access types. ACL directive is expressed by "allow_". * tomoyo_check_file_acl Open() operation and execve() operation. ("read", "write", "read/write" and "execute") * tomoyo_check_single_write_acl Directory modification operations with 1 pathname. ("create", "unlink", "mkdir", "rmdir", "mkfifo", "mksock", "mkblock", "mkchar", "truncate", "symlink" and "rewrite") * tomoyo_check_double_write_acl Directory modification operations with 2 pathname. ("link" and "rename") Also, this file contains handlers of some utility directives for file related operations. * "allow_read": specifies globally (for all domains) readable files. * "path_group": specifies pathname macro. * "deny_rewrite": restricts rewrite operation. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 9590837b89aaa4523209ac91c52db5ea0d9142fd Author: Kentaro Takeda Date: Thu Feb 5 17:18:13 2009 +0900 Common functions for TOMOYO Linux. This file contains common functions (e.g. policy I/O, pattern matching). -------------------- About pattern matching -------------------- Since TOMOYO Linux is a name based access control, TOMOYO Linux seriously considers "safe" string representation. TOMOYO Linux's string manipulation functions make reviewers feel crazy, but there are reasons why TOMOYO Linux needs its own string manipulation functions. ----- Part 1 : preconditions ----- People definitely want to use wild card. To support pattern matching, we have to support wild card characters. In a typical Linux system, filenames are likely consists of only alphabets, numbers, and some characters (e.g. + - ~ . / ). But theoretically, the Linux kernel accepts all characters but NUL character (which is used as a terminator of a string). Some Linux systems can have filenames which contain * ? ** etc. Therefore, we have to somehow modify string so that we can distinguish wild card characters and normal characters. It might be possible for some application's configuration files to restrict acceptable characters. It is impossible for kernel to restrict acceptable characters. We can't accept approaches which will cause troubles for applications. ----- Part 2 : commonly used approaches ----- Text formatted strings separated by space character (0x20) and new line character (0x0A) is more preferable for users over array of NUL-terminated string. Thus, people use text formatted configuration files separated by space character and new line. We sometimes need to handle non-printable characters. Thus, people use \ character (0x5C) as escape character and represent non-printable characters using octal or hexadecimal format. At this point, we remind (at least) 3 approaches. (1) Shell glob style expression (2) POSIX regular expression (UNIX style regular expression) (3) Maverick wild card expression On the surface, (1) and (2) sound good choices. But they have a big pitfall. All meta-characters in (1) and (2) are legal characters for representing a pathname, and users easily write incorrect expression. What is worse, users unlikely notice incorrect expressions because characters used for regular pathnames unlikely contain meta-characters. This incorrect use of meta-characters in pathname representation reveals vulnerability (e.g. unexpected results) only when irregular pathname is specified. The authors of TOMOYO Linux think that approaches which adds some character for interpreting meta-characters as normal characters (i.e. (1) and (2)) are not suitable for security use. Therefore, the authors of TOMOYO Linux propose (3). ----- Part 3: consideration points ----- We need to solve encoding problem. A single character can be represented in several ways using encodings. For Japanese language, there are "ShiftJIS", "ISO-2022-JP", "EUC-JP", "UTF-8" and more. Some languages (e.g. Japanese language) supports multi-byte characters (where a single character is represented using several bytes). Some multi-byte characters may match the escape character. For Japanese language, some characters in "ShiftJIS" encoding match \ character, and bothering Web's CGI developers. It is important that the kernel string is not bothered by encoding problem. Linus said, "I really would expect that kernel strings don't have an encoding. They're just C strings: a NUL-terminated stream of bytes." http://lkml.org/lkml/2007/11/6/142 Yes. The kernel strings are just C strings. We are talking about how to store and carry "kernel strings" safely. If we store "kernel string" into policy file as-is, the "kernel string" will be interpreted differently depending on application's encoding settings. One application may interpret "kernel string" as "UTF-8", another application may interpret "kernel string" as "ShiftJIS". Therefore, we propose to represent strings using ASCII encoding. In this way, we are no longer bothered by encoding problems. We need to avoid information loss caused by display. It is difficult to input and display non-printable characters, but we have to be able to handle such characters because the kernel string is a C string. If we use only ASCII printable characters (from 0x21 to 0x7E) and space character (0x20) and new line character (0x0A), it is easy to input from keyboard and display on all terminals which is running Linux. Therefore, we propose to represent strings using only characters which value is one of "from 0x21 to 0x7E", "0x20", "0x0A". We need to consider ease of splitting strings from a line. If we use an approach which uses "\ " for representing a space character within a string, we have to count the string from the beginning to check whether this space character is accompanied with \ character or not. As a result, we cannot monotonically split a line using space character. If we use an approach which uses "\040" for representing a space character within a string, we can monotonically split a line using space character. If we use an approach which uses NUL character as a delimiter, we cannot use string manipulation functions for splitting strings from a line. Therefore, we propose that we represent space character as "\040". We need to avoid wrong designations (incorrect use of special characters). Not all users can understand and utilize POSIX's regular expressions correctly and perfectly. If a character acts as a wild card by default, the user will get unexpected result if that user didn't know the meaning of that character. Therefore, we propose that all characters but \ character act as a normal character and let the user add \ character to make a character act as a wild card. In this way, users needn't to know all wild card characters beforehand. They can learn when they encountered an unseen wild card character for their first time. ----- Part 4: supported wild card expressions ----- At this point, we have wild card expressions listed below. +-----------+--------------------------------------------------------------+ | Wild card | Meaning and example | +-----------+--------------------------------------------------------------+ | \* | More than or equals to 0 character other than '/'. | | | /var/log/samba/\* | +-----------+--------------------------------------------------------------+ | \@ | More than or equals to 0 character other than '/' or '.'. | | | /var/www/html/\@.html | +-----------+--------------------------------------------------------------+ | \? | 1 byte character other than '/'. | | | /tmp/mail.\?\?\?\?\?\? | +-----------+--------------------------------------------------------------+ | \$ | More than or equals to 1 decimal digit. | | | /proc/\$/cmdline | +-----------+--------------------------------------------------------------+ | \+ | 1 decimal digit. | | | /var/tmp/my_work.\+ | +-----------+--------------------------------------------------------------+ | \X | More than or equals to 1 hexadecimal digit. | | | /var/tmp/my-work.\X | +-----------+--------------------------------------------------------------+ | \x | 1 hexadecimal digit. | | | /tmp/my-work.\x | +-----------+--------------------------------------------------------------+ | \A | More than or equals to 1 alphabet character. | | | /var/log/my-work/\$-\A-\$.log | +-----------+--------------------------------------------------------------+ | \a | 1 alphabet character. | | | /home/users/\a/\*/public_html/\*.html | +-----------+--------------------------------------------------------------+ | \- | Pathname subtraction operator. | | | +---------------------+------------------------------------+ | | | | Example | Meaning | | | | +---------------------+------------------------------------+ | | | | /etc/\* | All files in /etc/ directory. | | | | +---------------------+------------------------------------+ | | | | /etc/\*\-\*shadow\* | /etc/\* other than /etc/\*shadow\* | | | | +---------------------+------------------------------------+ | | | | /\*\-proc\-sys/ | /\*/ other than /proc/ /sys/ | | | | +---------------------+------------------------------------+ | +-----------+--------------------------------------------------------------+ +----------------+---------------------------------------------------------+ | Representation | Meaning and example | +----------------+---------------------------------------------------------+ | \\ | backslash character itself. | +----------------+---------------------------------------------------------+ | \ooo | 1 byte character. | | | ooo is 001 <= ooo <= 040 || 177 <= ooo <= 377. | | | | | | \040 for space character. | | | \177 for del character. | | | | +----------------+---------------------------------------------------------+ ----- Part 5: Advantages ----- We can obtain extensibility. Since our proposed approach adds \ to a character to interpret as a wild card, we can introduce new wild card in future while maintaining backward compatibility. We can process monotonically. Since our proposed approach separates strings using a space character, we can split strings using existing string manipulation functions. We can reliably analyze access logs. It is guaranteed that a string doesn't contain space character (0x20) and new line character (0x0A). It is guaranteed that a string won't be converted by FTP and won't be damaged by a terminal's settings. It is guaranteed that a string won't be affected by encoding converters (except encodings which insert NUL character (e.g. UTF-16)). ----- Part 6: conclusion ----- TOMOYO Linux is using its own encoding with reasons described above. There is a disadvantage that we need to introduce a series of new string manipulation functions. But TOMOYO Linux's encoding is useful for all users (including audit and AppArmor) who want to perform pattern matching and safely exchange string information between the kernel and the userspace. -------------------- About policy interface -------------------- TOMOYO Linux creates the following files on securityfs (normally mounted on /sys/kernel/security) as interfaces between kernel and userspace. These files are for TOMOYO Linux management tools *only*, not for general programs. * profile * exception_policy * domain_policy * manager * meminfo * self_domain * version * .domain_status * .process_status ** /sys/kernel/security/tomoyo/profile ** This file is used to read or write profiles. "profile" means a running mode of process. A profile lists up functions and their modes in "$number-$variable=$value" format. The $number is profile number between 0 and 255. Each domain is assigned one profile. To assign profile to domains, use "ccs-setprofile" or "ccs-editpolicy" or "ccs-loadpolicy" commands. (Example) [root@tomoyo]# cat /sys/kernel/security/tomoyo/profile 0-COMMENT=-----Disabled Mode----- 0-MAC_FOR_FILE=disabled 0-MAX_ACCEPT_ENTRY=2048 0-TOMOYO_VERBOSE=disabled 1-COMMENT=-----Learning Mode----- 1-MAC_FOR_FILE=learning 1-MAX_ACCEPT_ENTRY=2048 1-TOMOYO_VERBOSE=disabled 2-COMMENT=-----Permissive Mode----- 2-MAC_FOR_FILE=permissive 2-MAX_ACCEPT_ENTRY=2048 2-TOMOYO_VERBOSE=enabled 3-COMMENT=-----Enforcing Mode----- 3-MAC_FOR_FILE=enforcing 3-MAX_ACCEPT_ENTRY=2048 3-TOMOYO_VERBOSE=enabled - MAC_FOR_FILE: Specifies access control level regarding file access requests. - MAX_ACCEPT_ENTRY: Limits the max number of ACL entries that are automatically appended during learning mode. Default is 2048. - TOMOYO_VERBOSE: Specifies whether to print domain policy violation messages or not. ** /sys/kernel/security/tomoyo/manager ** This file is used to read or append the list of programs or domains that can write to /sys/kernel/security/tomoyo interface. By default, only processes with both UID = 0 and EUID = 0 can modify policy via /sys/kernel/security/tomoyo interface. You can use keyword "manage_by_non_root" to allow policy modification by non root user. (Example) [root@tomoyo]# cat /sys/kernel/security/tomoyo/manager /usr/lib/ccs/loadpolicy /usr/lib/ccs/editpolicy /usr/lib/ccs/setlevel /usr/lib/ccs/setprofile /usr/lib/ccs/ld-watch /usr/lib/ccs/ccs-queryd ** /sys/kernel/security/tomoyo/exception_policy ** This file is used to read and write system global settings. Each line has a directive and operand pair. Directives are listed below. - initialize_domain: To initialize domain transition when specific program is executed, use initialize_domain directive. * initialize_domain "program" from "domain" * initialize_domain "program" from "the last program part of domain" * initialize_domain "program" If the part "from" and after is not given, the entry is applied to all domain. If the "domain" doesn't start with "", the entry is applied to all domain whose domainname ends with "the last program part of domain". This directive is intended to aggregate domain transitions for daemon program and program that are invoked by the kernel on demand, by transiting to different domain. - keep_domain To prevent domain transition when program is executed from specific domain, use keep_domain directive. * keep_domain "program" from "domain" * keep_domain "program" from "the last program part of domain" * keep_domain "domain" * keep_domain "the last program part of domain" If the part "from" and before is not given, this entry is applied to all program. If the "domain" doesn't start with "", the entry is applied to all domain whose domainname ends with "the last program part of domain". This directive is intended to reduce total number of domains and memory usage by suppressing unneeded domain transitions. To declare domain keepers, use keep_domain directive followed by domain definition. Any process that belongs to any domain declared with this directive, the process stays at the same domain unless any program registered with initialize_domain directive is executed. In order to control domain transition in detail, you can use no_keep_domain/no_initialize_domain keywrods. - alias: To allow executing programs using the name of symbolic links, use alias keyword followed by dereferenced pathname and reference pathname. For example, /sbin/pidof is a symbolic link to /sbin/killall5 . In normal case, if /sbin/pidof is executed, the domain is defined as if /sbin/killall5 is executed. By specifying "alias /sbin/killall5 /sbin/pidof", you can run /sbin/pidof in the domain for /sbin/pidof . (Example) alias /sbin/killall5 /sbin/pidof - allow_read: To grant unconditionally readable permissions, use allow_read keyword followed by canonicalized file. This keyword is intended to reduce size of domain policy by granting read access to library files such as GLIBC and locale files. Exception is, if ignore_global_allow_read keyword is given to a domain, entries specified by this keyword are ignored. (Example) allow_read /lib/libc-2.5.so - file_pattern: To declare pathname pattern, use file_pattern keyword followed by pathname pattern. The pathname pattern must be a canonicalized Pathname. This keyword is not applicable to neither granting execute permissions nor domain definitions. For example, canonicalized pathname that contains a process ID (i.e. /proc/PID/ files) needs to be grouped in order to make access control work well. (Example) file_pattern /proc/\$/cmdline - path_group To declare pathname group, use path_group keyword followed by name of the group and pathname pattern. For example, if you want to group all files under home directory, you can define path_group HOME-DIR-FILE /home/\*/\* path_group HOME-DIR-FILE /home/\*/\*/\* path_group HOME-DIR-FILE /home/\*/\*/\*/\* in the exception policy and use like allow_read @HOME-DIR-FILE to grant file access permission. - deny_rewrite: To deny overwriting already written contents of file (such as log files) by default, use deny_rewrite keyword followed by pathname pattern. Files whose pathname match the patterns are not permitted to open for writing without append mode or truncate unless the pathnames are explicitly granted using allow_rewrite keyword in domain policy. (Example) deny_rewrite /var/log/\* - aggregator To deal multiple programs as a single program, use aggregator keyword followed by name of original program and aggregated program. This keyword is intended to aggregate similar programs. For example, /usr/bin/tac and /bin/cat are similar. By specifying "aggregator /usr/bin/tac /bin/cat", you can run /usr/bin/tac in the domain for /bin/cat . For example, /usr/sbin/logrotate for Fedora Core 3 generates programs like /tmp/logrotate.\?\?\?\?\?\? and run them, but TOMOYO Linux doesn't allow using patterns for granting execute permission and defining domains. By specifying "aggregator /tmp/logrotate.\?\?\?\?\?\? /tmp/logrotate.tmp", you can run /tmp/logrotate.\?\?\?\?\?\? as if /tmp/logrotate.tmp is running. ** /sys/kernel/security/tomoyo/domain_policy ** This file contains definition of all domains and permissions that are granted to each domain. Lines from the next line to a domain definition ( any lines starting with "") to the previous line to the next domain definitions are interpreted as access permissions for that domain. ** /sys/kernel/security/tomoyo/meminfo ** This file is to show the total RAM used to keep policy in the kernel by TOMOYO Linux in bytes. (Example) [root@tomoyo]# cat /sys/kernel/security/tomoyo/meminfo Shared: 61440 Private: 69632 Dynamic: 768 Total: 131840 You can set memory quota by writing to this file. (Example) [root@tomoyo]# echo Shared: 2097152 > /sys/kernel/security/tomoyo/meminfo [root@tomoyo]# echo Private: 2097152 > /sys/kernel/security/tomoyo/meminfo ** /sys/kernel/security/tomoyo/self_domain ** This file is to show the name of domain the caller process belongs to. (Example) [root@etch]# cat /sys/kernel/security/tomoyo/self_domain /usr/sbin/sshd /bin/zsh /bin/cat ** /sys/kernel/security/tomoyo/version ** This file is used for getting TOMOYO Linux's version. (Example) [root@etch]# cat /sys/kernel/security/tomoyo/version 2.2.0-pre ** /sys/kernel/security/tomoyo/.domain_status ** This is a view (of a DBMS) that contains only profile number and domainnames of domain so that "ccs-setprofile" command can do line-oriented processing easily. ** /sys/kernel/security/tomoyo/.process_status ** This file is used by "ccs-ccstree" command to show "list of processes currently running" and "domains which each process belongs to" and "profile number which the domain is currently assigned" like "pstree" command. This file is writable by programs that aren't registered as policy manager. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit c73bd6d473ceb5d643d3afd7e75b7dc2e6918558 Author: Kentaro Takeda Date: Thu Feb 5 17:18:12 2009 +0900 Memory and pathname management functions. TOMOYO Linux performs pathname based access control. To remove factors that make pathname based access control difficult (e.g. symbolic links, "..", "//" etc.), TOMOYO Linux derives realpath of requested pathname from "struct dentry" and "struct vfsmount". The maximum length of string data is limited to 4000 including trailing '\0'. Since TOMOYO Linux uses '\ooo' style representation for non ASCII printable characters, maybe TOMOYO Linux should be able to support 16336 (which means (NAME_MAX * (PATH_MAX / (NAME_MAX + 1)) * 4 + (PATH_MAX / (NAME_MAX + 1))) including trailing '\0'), but I think 4000 is enough for practical use. TOMOYO uses only 0x21 - 0x7E (as printable characters) and 0x20 (as word delimiter) and 0x0A (as line delimiter). 0x01 - 0x20 and 0x80 - 0xFF is handled in \ooo style representation. The reason to use \ooo is to guarantee that "%s" won't damage logs. Userland program can request open("/tmp/file granted.\nAccess /tmp/file ", O_WRONLY | O_CREAT, 0600) and logging such crazy pathname using "Access %s denied.\n" format will cause "fabrication of logs" like Access /tmp/file granted. Access /tmp/file denied. TOMOYO converts such characters to \ooo so that the logs will become Access /tmp/file\040granted.\012Access\040/tmp/file denied. and the administrator can read the logs safely using /bin/cat . Likewise, a crazy request like open("/tmp/\x01\x02\x03\x04\x05\x06\x07\x08\x09", O_WRONLY | O_CREAT, 0600) will be processed safely by converting to Access /tmp/\001\002\003\004\005\006\007\010\011 denied. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit f9ce1f1cda8b73a36f47e424975a9dfa78b7840c Author: Kentaro Takeda Date: Thu Feb 5 17:18:11 2009 +0900 Add in_execve flag into task_struct. This patch allows LSM modules to determine whether current process is in an execve operation or not so that they can behave differently while an execve operation is in progress. This patch is needed by TOMOYO. Please see another patch titled "LSM adapter functions." for backgrounds. Signed-off-by: Tetsuo Handa Signed-off-by: David Howells Signed-off-by: James Morris commit 58105ef1857112a186696c9b8957020090226a28 Author: Randy Dunlap Date: Sat Jan 31 12:32:26 2009 -0800 x86: UV: fix header struct usage Impact: Fixes warning Fix uv.h struct usage: arch/x86/include/asm/uv/uv.h:16: warning: 'struct mm_struct' declared inside parameter list arch/x86/include/asm/uv/uv.h:16: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Randy Dunlap Signed-off-by: H. Peter Anvin commit 744525092727827a9cf0044074db3e22dcf354fd Author: H. Peter Anvin Date: Wed Feb 11 16:31:40 2009 -0800 x86: merge sys_rt_sigreturn between 32 and 64 bits Impact: cleanup With the recent changes in the 32-bit code to make system calls which use struct pt_regs take a pointer, sys_rt_sigreturn() have become identical between 32 and 64 bits, and both are empty wrappers around do_rt_sigreturn(). Remove both wrappers and rename both to sys_rt_sigreturn(). Cc: Brian Gerst Cc: Tejun Heo Signed-off-by: H. Peter Anvin commit e930e99500e5bd055270c668cca8bd2f33056895 Author: Harvey Harrison Date: Wed Feb 11 14:49:30 2009 -0800 ALSA: echoaudio - replace uses of __constant_{endian} The base versions handle constant folding now. Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit c98041f7d71890ac6aa2257d78ef175db44d2cd3 Author: Herton Ronaldo Krzesinski Date: Wed Feb 11 20:33:15 2009 -0200 ALSA: hda - Cleanup setting of pin_configs in patch_stac927x After commit "ALSA: hda - Fix restore of pin configs at resume for STAC/IDT codecs", the introduced stac_save_pin_cfgs function checks already for pins == NULL case, saving then default pin configs from machine with stac92xx_save_bios_config_regs. So we can remove the extra checks when stac927x_brd_tbl[spec->board_config] == NULL. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit a1152e3570e271dbf217391d549d3e47e258fe05 Merge: 0852d7a... 26a74f1... Author: Takashi Iwai Date: Thu Feb 12 00:14:34 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 0852d7a654f75d22a3c09fd7da4a3551bbb37740 Author: Takashi Iwai Date: Wed Feb 11 11:35:15 2009 +0100 ALSA: hda - Detect multiple digital-out pins Detect multiple digital-out pins in snd_hda_parse_pin_defconfig(). The dig_out_pin and dig_out_type fields become arrays. The codec parser still doesn't use this multiple pins detection, though. Signed-off-by: Takashi Iwai commit 54321d947ae9d6a051b81e3eccaf2d8658aeecc6 Author: Jeremy Fitzhardinge Date: Wed Feb 11 10:20:05 2009 -0800 x86: move pte types into pgtable*.h pgtable*.h is intended for definitions relating to actual pagetables and their entries, so move all the definitions for (pte|pmd|pud|pgd)(val)?_t to the appropriate pgtable*.h headers. Signed-off-by: Jeremy Fitzhardinge commit e2f5bda94152fa567f6b48126741014123f982b8 Author: Jeremy Fitzhardinge Date: Mon Feb 9 00:09:52 2009 -0800 x86: define pud_flags and pud_large properly to allow non-PAE builds commit e42778de31d78ae262a3b901264eabefb9c3b51b Author: Jeremy Fitzhardinge Date: Sun Feb 8 23:42:01 2009 -0800 x86: move defs around to allow paravirt.h to just include page_types.h Signed-off-by: Jeremy Fitzhardinge commit 1dfc07aad5479f1fb832ff6f61a5a9ce822d9e1f Author: Jeremy Fitzhardinge Date: Sun Feb 8 23:24:26 2009 -0800 x86: move 2 and 3 level asm-generic defs into page-defs Signed-off-by: Jeremy Fitzhardinge commit 51c78eb3f0eb033f9fb4f2316851df1d9b07b953 Author: Jeremy Fitzhardinge Date: Sun Feb 8 22:52:14 2009 -0800 x86: create _types.h counterparts for page*.h Signed-off-by: Jeremy Fitzhardinge commit 1484096ceb4d5f2b27c0fe53f125ee0903eac9af Author: Jeremy Fitzhardinge Date: Sun Feb 8 19:02:47 2009 -0800 x86: Include pgtable_32|64_types.h in pgtable_types.h Signed-off-by: Jeremy Fitzhardinge commit fb3551491b20442c0de0d4debd54f40c654bbe98 Author: Jeremy Fitzhardinge Date: Sun Feb 8 18:50:52 2009 -0800 x86: Split pgtable_64.h into pgtable_64_types.h and pgtable_64.h Signed-off-by: Jeremy Fitzhardinge commit f402a65f93c7127b2bd93a4b2fe182cd859fb4c1 Author: Jeremy Fitzhardinge Date: Sun Feb 8 18:49:05 2009 -0800 x86: Split pgtable_32.h into pgtable_32.h and pgtable_32_types.h Signed-off-by: Jeremy Fitzhardinge commit 8d19c99faf6165ef095138dd595d46b9bbb34055 Author: Jeremy Fitzhardinge Date: Sun Feb 8 18:46:18 2009 -0800 Split pgtable.h into pgtable_types.h and pgtable.h Signed-off-by: Jeremy Fitzhardinge commit b924a28138572f03bc8647c2be8f876d27e2666a Author: Jeremy Fitzhardinge Date: Wed Feb 11 12:08:01 2009 -0800 x86: rename *-defs.h to *-_types.h for consistency The kernel tends to call definition-only headers *_types.h, so rename the x86 page/pgtable headers accordingly. Signed-off-by: Jeremy Fitzhardinge commit 523979adfa0b79d4e3aa053220c37a9233294206 Author: Mimi Zohar Date: Wed Feb 11 11:12:28 2009 -0500 integrity: audit update Based on discussions on linux-audit, as per Steve Grubb's request http://lkml.org/lkml/2009/2/6/269, the following changes were made: - forced audit result to be either 0 or 1. - made template names const - Added new stand-alone message type: AUDIT_INTEGRITY_RULE Signed-off-by: Mimi Zohar Acked-by: Steve Grubb Signed-off-by: James Morris commit b12bdaf11f935d7be030207e3c77faeaeab8ded3 Author: Brian Gerst Date: Wed Feb 11 16:43:58 2009 -0500 x86: use regparm(3) for passed-in pt_regs pointer Some syscalls need to access the pt_regs structure, either to copy user register state or to modifiy it. This patch adds stubs to load the address of the pt_regs struct into the %eax register, and changes the syscalls to take the pointer as an argument instead of relying on the assumption that the pt_regs structure overlaps the function arguments. Drop the use of regparm(1) due to concern about gcc bugs, and to move in the direction of the eventual removal of regparm(0) for asmlinkage. Signed-off-by: Brian Gerst Signed-off-by: H. Peter Anvin commit 51621fbdb1ea8709ab67170b54e71be6d9fa29ad Author: Hannes Hering Date: Wed Feb 11 13:47:57 2009 -0800 ehea: Fix: Remove adapter from adapter list in error path Remove adapter from adapter list before freeing data structure in error path. Signed-off-by: Hannes Hering Signed-off-by: David S. Miller commit 89e4b5930d8a59395219e7e3e4702e4653022b93 Author: Jaswinder Singh Rajput Date: Thu Feb 12 00:36:39 2009 +0530 arlan-main.c fix compilation warnings for phys_addr_t Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 76a856397a5e08c43268b76afb1ef607f68e0fe2 Author: Jaswinder Singh Rajput Date: Thu Feb 12 00:28:09 2009 +0530 ne3210.c fix compilation warning for phys_addr_t Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f537a53da9389f56df277057684df23997410e9c Author: Jaswinder Singh Rajput Date: Wed Feb 11 23:51:34 2009 +0530 iscsi_ibft.c fix compilation warning drivers/firmware/iscsi_ibft.c: In function ‘ibft_init’: drivers/firmware/iscsi_ibft.c:942: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘phys_addr_t’ Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 9c8976a1a51ce4a3e458cdf1c10cf651e7e97113 Author: Jaswinder Singh Rajput Date: Wed Feb 11 23:49:52 2009 +0530 falcon fix compilation warnings drivers/net/sfc/falcon.c: In function ‘falcon_alloc_special_buffer’: drivers/net/sfc/falcon.c:340: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 10 has type ‘phys_addr_t’ drivers/net/sfc/falcon.c: In function ‘falcon_free_special_buffer’: drivers/net/sfc/falcon.c:355: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 10 has type ‘phys_addr_t’ drivers/net/sfc/falcon.c: In function ‘falcon_probe_port’: drivers/net/sfc/falcon.c:2346: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 7 has type ‘phys_addr_t’ drivers/net/sfc/falcon.c: In function ‘falcon_probe_nic’: drivers/net/sfc/falcon.c:2924: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 7 has type ‘phys_addr_t’ Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 804852e4ffc983f9ee7600f78218698546fdc58d Author: Jaswinder Singh Rajput Date: Wed Feb 11 23:42:59 2009 +0530 drm_proc.c fix compilation warning drivers/gpu/drm/drm_proc.c: In function ‘drm__vma_info’: drivers/gpu/drm/drm_proc.c:681: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 5 has type ‘phys_addr_t’ Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit ba1511bf7fbda452138e4096bf10d5a382710f4f Author: Jaswinder Singh Rajput Date: Wed Feb 11 23:38:25 2009 +0530 x86: kernel/mpparse.c fix compilation warnings arch/x86/kernel/mpparse.c: In function ‘smp_scan_config’: arch/x86/kernel/mpparse.c:696: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 3 has type ‘phys_addr_t’ arch/x86/kernel/mpparse.c: In function ‘update_mp_table’: arch/x86/kernel/mpparse.c:1014: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘phys_addr_t’ Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 7651194fb715b2d57658c05a710408f6b8448951 Author: Jaswinder Singh Rajput Date: Wed Feb 11 22:26:52 2009 +0530 x86: mm/init_32.c fix compilation warning arch/x86/mm/init_32.c: In function ‘find_low_pfn_range’: arch/x86/mm/init_32.c:696: warning: format ‘%u’ expects type ‘unsigned int’, but Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 9049a11de73d3ecc623f1903100d099f82ede56c Merge: c47c1b1... e4d0407... Author: Jeremy Fitzhardinge Date: Wed Feb 11 11:52:22 2009 -0800 Merge commit 'remotes/tip/x86/paravirt' into x86/untangle2 * commit 'remotes/tip/x86/paravirt': (175 commits) xen: use direct ops on 64-bit xen: make direct versions of irq_enable/disable/save/restore to common code xen: setup percpu data pointers xen: fix 32-bit build resulting from mmu move x86/paravirt: return full 64-bit result x86, percpu: fix kexec with vmlinux x86/vmi: fix interrupt enable/disable/save/restore calling convention. x86/paravirt: don't restore second return reg xen: setup percpu data pointers x86: split loading percpu segments from loading gdt x86: pass in cpu number to switch_to_new_gdt() x86: UV fix uv_flush_send_and_wait() x86/paravirt: fix missing callee-save call on pud_val x86/paravirt: use callee-saved convention for pte_val/make_pte/etc x86/paravirt: implement PVOP_CALL macros for callee-save functions x86/paravirt: add register-saving thunks to reduce caller register pressure x86/paravirt: selectively save/restore regs around pvops calls x86: fix paravirt clobber in entry_64.S x86/pvops: add a paravirt_ident functions to allow special patching xen: move remaining mmu-related stuff into mmu.c ... Conflicts: arch/x86/mach-voyager/voyager_smp.c arch/x86/mm/fault.c commit fb791b1cfb74937332a22d6bf06eed7866fbcc3c Author: David Kilroy Date: Wed Feb 4 23:05:50 2009 +0000 orinoco: Move scan helpers to a separate file No functional change. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit aea48b1529c6c4d39af82fc36728da49668392c6 Author: David Kilroy Date: Wed Feb 4 23:05:49 2009 +0000 orinoco: use orinoco_private instead of net_device in scan helper This makes the interface to the scan helpers consistent, so we can split them out. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 47445cb95015bef0d54ca799f31e454797378a71 Author: David Kilroy Date: Wed Feb 4 23:05:48 2009 +0000 orinoco: Rename orinoco.c So that we can split up the file and still produce a module named orinoco.o. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 2131266d6e53e8f84f8111323036343d72bcb856 Author: David Kilroy Date: Wed Feb 4 23:05:47 2009 +0000 orinoco: Fix interesting checkpatch errors ERROR: "foo * bar" should be "foo *bar" ERROR: do not initialise statics to 0 or NULL WARNING: printk() should include KERN_ facility level WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit b2f30a0a2395b6c7e7138fbdabec2cb02ff373a7 Author: David Kilroy Date: Wed Feb 4 23:05:46 2009 +0000 orinoco: keep line length below 80 characters Remove most checkpatch warnings of the type WARNING: line over 80 characters Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 566f2d9eac49119289cd73e6c302ecc392eaf932 Author: David Kilroy Date: Wed Feb 4 23:05:45 2009 +0000 orinoco: remove unnecessary braces Remove the following checkpatch warnings WARNING: braces {} are not necessary for any arm of this statement WARNING: braces {} are not necessary for single statement blocks Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a94e8427c8bd358b602288d0b1e0cff83a9401bc Author: David Kilroy Date: Wed Feb 4 23:05:44 2009 +0000 orinoco: spaces in parenthesised expressions Remove checkpatch warnings of the following type: ERROR: space prohibited after that open parenthesis '(' ERROR: space prohibited before that close parenthesis ')' ERROR: space prohibited after that '!' (ctx:BxW) ERROR: space required before the open parenthesis '(' ERROR: space required before the open brace '{' Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 6fe9deb1747e1e3b9f626878a9954b9eef8ab17d Author: David Kilroy Date: Wed Feb 4 23:05:43 2009 +0000 orinoco: address leading and trailing whitespace Remove the following checkpatch errors from orinoco.c ERROR: trailing whitespace ERROR: code indent should use tabs where possible WARNING: suspect code indent for conditional statements Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ce1a9ee33a5864f3d199baa1d3e154a1f9a6f3dd Author: Michael Buesch Date: Wed Feb 4 19:55:22 2009 +0100 b43: Add parts of LP-PHY TX power control This adds the initial parts of the LP-PHY TX power control. This also adds helper functions for bulk access of LP tables. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 7a9470806053f765ecf7f3932acb4c95c204ad4b Author: Vasanthakumar Thiagarajan Date: Wed Feb 4 18:28:48 2009 +0530 mac80211: Free current bss information in few places where we don't need it any more Signed-off-by: Vasanthakumar Thiagarajan Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 029bc43270e770e0d57d67dc431fe711c58e74f5 Author: Sujith Date: Wed Feb 4 08:10:26 2009 +0530 ath9k: Add retry counters to rate control debug file Signed-off-by: Sujith Signed-off-by: John W. Linville commit d42c6b71a8e722e00a302e7e3365909560de478a Author: Sujith Date: Wed Feb 4 08:10:22 2009 +0530 ath9k: Handle mac80211's FIF_CONTROL flag properly Signed-off-by: Sujith Signed-off-by: John W. Linville commit 254ad0ff9387d1c0a2f975ff40b2f4d1302ccc3a Author: Sujith Date: Wed Feb 4 08:10:19 2009 +0530 ath9k: Remove all the redundant internal buffer types Use mac80211's primitives for identifying the frame type, and cleanup the driver-specific macros. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 141b38b6bc6db69348a9eaed87137451240bc55f Author: Sujith Date: Wed Feb 4 08:10:07 2009 +0530 ath9k: Lock mac80211 callbacks with a mutex Signed-off-by: Sujith Signed-off-by: John W. Linville commit 17993b49b1f540aace8e9b4242530d0b3376eb2a Author: Ingo Molnar Date: Wed Feb 11 17:20:51 2009 +0100 x86: make hibernation always-possible This commit: aced3ce: x86/Voyager: remove HIBERNATION Kconfig quirk Made hibernation only available on UP - instead of making it available on all of x86. Fix it. Reported-by: Jiri Slaby Signed-off-by: Ingo Molnar commit 8e1568f3500287d0b36c9776132cb53a42d5651d Author: Yinghai Lu Date: Wed Feb 11 01:06:59 2009 -0800 pci, x86, acpi: fix early_ioremap() leak Pawel reported: ------------[ cut here ]------------ WARNING: at arch/x86/mm/ioremap.c:616 check_early_ioremap_leak+0x52/0x67() Hardware name: Debug warning: early ioremap leak of 1 areas detected. Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.29-rc4-tip #2 ... Reported-by: Pawel Dziekonski Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c5c606d9dce6e0852a401c57a8b0542acdbb6796 Author: Ravikiran G Thirumalai Date: Mon Feb 9 18:18:14 2009 -0800 x86: cleanup, rename CONFIG_X86_NON_STANDARD to CONFIG_X86_EXTENDED_PLATFORM Patch to rename the CONFIG_X86_NON_STANDARD to CONFIG_X86_EXTENDED_PLATFORM. The new name represents the subarches better. Also, default this to 'y' so that many of the sub architectures that were not easily visible now become visible. Also re-organize the extended architecture platform and non standard platform list alphabetically as suggested by Ingo. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Shai Fultheim Signed-off-by: Ingo Molnar commit 1afa6e2e1d26d0b9d96785ee1823bf11c4c5f202 Author: Roel Kluin Date: Wed Feb 11 13:53:26 2009 +0100 sound: OSS: dmabuf: too many loops loop adev->dmap_out->nbufs times Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 1c0040047d5499599cc231ca3f105be3ceff8562 Author: Dean Nelson Date: Mon Feb 9 10:25:20 2009 -0600 SGI IA64 UV: fix ia64 build error in the linux-next tree Fix the ia64 build error that occurs in the linux-next tree by introducing an ia64 version of uv.h. Additionally, clean up the usage of is_uv_system(). Signed-off-by: Dean Nelson Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 00f62f614bb713027b9296068d1879fbca511eb7 Author: Arnaldo Carvalho de Melo Date: Mon Feb 9 17:04:06 2009 -0200 ring_buffer: pahole struct ring_buffer While fixing some bugs in pahole (built-in.o files were not being processed due to relocation problems) I found out about these packable structures: $ pahole --packable kernel/trace/ring_buffer.o | grep ring ring_buffer 72 64 8 ring_buffer_per_cpu 112 104 8 If we take a look at the current layout of struct ring_buffer we can see that we have two 4 bytes holes. $ pahole -C ring_buffer kernel/trace/ring_buffer.o struct ring_buffer { unsigned int pages; /* 0 4 */ unsigned int flags; /* 4 4 */ int cpus; /* 8 4 */ /* XXX 4 bytes hole, try to pack */ cpumask_var_t cpumask; /* 16 8 */ atomic_t record_disabled; /* 24 4 */ /* XXX 4 bytes hole, try to pack */ struct mutex mutex; /* 32 32 */ /* --- cacheline 1 boundary (64 bytes) --- */ struct ring_buffer_per_cpu * * buffers; /* 64 8 */ /* size: 72, cachelines: 2, members: 7 */ /* sum members: 64, holes: 2, sum holes: 8 */ /* last cacheline: 8 bytes */ }; So, if I ask pahole to reorganize it: $ pahole -C ring_buffer --reorganize kernel/trace/ring_buffer.o struct ring_buffer { unsigned int pages; /* 0 4 */ unsigned int flags; /* 4 4 */ int cpus; /* 8 4 */ atomic_t record_disabled; /* 12 4 */ cpumask_var_t cpumask; /* 16 8 */ struct mutex mutex; /* 24 32 */ struct ring_buffer_per_cpu * * buffers; /* 56 8 */ /* --- cacheline 1 boundary (64 bytes) --- */ /* size: 64, cachelines: 1, members: 7 */ }; /* saved 8 bytes and 1 cacheline! */ We get it using just one 64 bytes cacheline. To see what it did: $ pahole -C ring_buffer --reorganize --show_reorg_steps \ kernel/trace/ring_buffer.o | grep \/ /* Moving 'record_disabled' from after 'cpumask' to after 'cpus' */ Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit b22f4858126a6aa852ad745b94f6b25dbdea708e Author: Frederic Weisbecker Date: Tue Feb 10 15:49:11 2009 +0100 tracing/sysprof: add missing tracing_{start,stop}_record_cmdline() Add the missing pair tracing_{start,stop}_record_cmdline() to record well the cmdline associated with pid. Changes in v2: - fix a build error, the sched_switch tracer is needed to record the cmdline. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9c8bb6b534d1c89a20bf9bb45e1471cf8f4747c0 Author: Brian Gerst Date: Tue Feb 10 09:51:47 2009 -0500 x86: drop -fno-stack-protector annotations after pt_regs fixes Now that no functions rely on struct pt_regs being passed by value, various "no stack protector" annotations can be dropped. Signed-off-by: Brian Gerst Acked-by: Tejun Heo Signed-off-by: Ingo Molnar commit 253f29a4ae9cc6cdc7b94f96517f27a93885a6ce Author: Brian Gerst Date: Tue Feb 10 09:51:46 2009 -0500 x86: pass in pt_regs pointer for syscalls that need it Some syscalls need to access the pt_regs structure, either to copy user register state or to modifiy it. This patch adds stubs to load the address of the pt_regs struct into the %eax register, and changes the syscalls to regparm(1) to receive the pt_regs pointer as the first argument. Signed-off-by: Brian Gerst Acked-by: Tejun Heo Signed-off-by: Ingo Molnar commit aa78bcfa01dec3cdbde3cda098ce32abbd9c3bf6 Author: Brian Gerst Date: Tue Feb 10 09:51:45 2009 -0500 x86: use pt_regs pointer in do_device_not_available() The generic exception handler (error_code) passes in the pt_regs pointer and the error code (unused in this case). The commit "x86: fix math_emu register frame access" changed this to pass by value, which doesn't work correctly with stack protector enabled. Change it back to use the pt_regs pointer. Signed-off-by: Brian Gerst Acked-by: Tejun Heo Signed-off-by: Ingo Molnar commit ebd9026d9f8499abc60d82d949bd37f88fe34a41 Author: Ingo Molnar Date: Wed Feb 11 12:17:29 2009 +0100 stackprotector: fix multi-word cross-builds Stackprotector builds were failing if CROSS_COMPILER was more than a single world (such as when distcc was used) - because the check scripts used $1 instead of $*. Signed-off-by: Ingo Molnar commit 891393745aad5c5acdb01b6ce61c08d4cc064649 Merge: a448720... 8e49215... Author: Ingo Molnar Date: Wed Feb 11 11:38:55 2009 +0100 Merge commit 'v2.6.29-rc4' into x86/cleanups commit 5c79d2a517a9905599d192db8ce77ab5f1a2faca Author: Tejun Heo Date: Wed Feb 11 16:31:00 2009 +0900 x86: fix x86_32 stack protector bugs Impact: fix x86_32 stack protector Brian Gerst found out that %gs was being initialized to stack_canary instead of stack_canary - 20, which basically gave the same canary value for all threads. Fixing this also exposed the following bugs. * cpu_idle() didn't call boot_init_stack_canary() * stack canary switching in switch_to() was being done too late making the initial run of a new thread use the old stack canary value. Fix all of them and while at it update comment in cpu_idle() about calling boot_init_stack_canary(). Reported-by: Brian Gerst Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 32d2c7fa1344ddf51886eddf31e228d139501dc6 Author: Takashi Iwai Date: Wed Feb 11 11:33:13 2009 +0100 ALSA: hda - Fix a wrong pin check in snd_hda_parse_pin_def_config() Fixed a wrong pin check (a typo) for debug print of digital input pin. Signed-off-by: Takashi Iwai commit 160d8dac12932ad6eb4a359b66521e2e3282ea7d Author: Ingo Molnar Date: Wed Feb 11 11:27:39 2009 +0100 x86, apic: make generic_apic_probe() generally available Impact: build fix Signed-off-by: Ingo Molnar commit d5b5a232b2f2b6e64762308e90d47248dddfd72f Merge: 0e81cb5... bf56957... Author: Ingo Molnar Date: Wed Feb 11 10:49:40 2009 +0100 Merge branch 'x86/apic' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/apic commit 0e81cb59c7120191c0243c686b591797bc79e5c6 Author: Alok Kataria Date: Tue Feb 10 16:45:37 2009 -0800 x86, apic: fix initialization of wakeup_cpu With refactoring of wake_cpu macros the 32bit code in tip doesn't execute generic_apic_probe if CONFIG_X86_32_NON_STANDARD is not set. Even on a x86 STANDARD cpu we need to execute the generic_apic_probe function, as we rely on this function to execute the update_genapic quirk which initilizes apic->wakeup_cpu. Failing to do so results in we making a call to a null function in do_boot_cpu. The stack trace without the patch goes like this. Booting processor 1 APIC 0x1 ip 0x6000 BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<(null)>] (null) *pdpt = 0000000000839001 *pde = 0000000000c97067 *pte = 0000000000000163 Oops: 0000 [#1] SMP last sysfs file: Modules linked in: Pid: 1, comm: swapper Not tainted (2.6.29-rc4-tip #18) VMware Virtual Platform EIP: 0062:[<00000000>] EFLAGS: 00010293 CPU: 0 EIP is at 0x0 EAX: 00000001 EBX: 00006000 ECX: c077ed00 EDX: 00006000 ESI: 00000001 EDI: 00000001 EBP: ef04cf40 ESP: ef04cf1c DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 006a Process swapper (pid: 1, ti=ef04c000 task=ef050000 task.ti=ef04c000) Stack: c0644e52 00000000 ef04cf24 ef04cf24 c064468d c0886dc0 00000000 c0702aea ef055480 00000001 00000101 dead4ead ffffffff ffffffff c08af530 00000000 c0709715 ef04cf60 ef04cf60 00000001 00000000 00000000 dead4ead ffffffff Call Trace: [] ? native_cpu_up+0x2de/0x45b [] ? do_fork_idle+0x0/0x19 [] ? _cpu_up+0x88/0xe8 [] ? cpu_up+0x42/0x4e [] ? kernel_init+0x99/0x14b [] ? kernel_init+0x0/0x14b [] ? kernel_thread_helper+0x7/0x10 Code: Bad EIP value. EIP: [<00000000>] 0x0 SS:ESP 006a:ef04cf1c I think we should call generic_apic_probe unconditionally for 32 bit now. Signed-off-by: Alok N Kataria Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ad0b0fd554dfc126b5750d14908dccc3bbf602be Author: Arjan van de Ven Date: Tue Feb 10 11:42:26 2009 -0800 sched, latencytop: incorporate review feedback from Andrew Morton Andrew had some suggestions for the latencytop file; this patch takes care of most of these: * Add documentation * Turn account_scheduler_latency into an inline function * Don't report negative values to userspace * Make the file operations struct const * Fix a few checkpatch.pl warnings Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit f437e8b53eab92a5829e65781e29aed23d8ffd0c Merge: 140573d... 8e49215... Author: Ingo Molnar Date: Wed Feb 11 10:17:42 2009 +0100 Merge commit 'v2.6.29-rc4' into sched/core commit e7669b8e329255bbcb40af65b38e342825d97a46 Author: Hannes Eder Date: Tue Feb 10 19:44:45 2009 +0100 tracing: fix sparse warning: attribute function with __acquires/__releases Fix this sparse warning: kernel/trace/trace.c:458:9: warning: context imbalance in 'register_tracer' - unexpected unlock Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 5e39841c45cf5e6ea930ede1b0303309e03037a2 Author: Hannes Eder Date: Tue Feb 10 19:44:34 2009 +0100 tracing: fix sparse warnings: fix (un-)signedness Fix these sparse warnings: kernel/trace/ring_buffer.c:70:37: warning: incorrect type in argument 2 (different signedness) kernel/trace/ring_buffer.c:84:39: warning: incorrect type in argument 2 (different signedness) kernel/trace/ring_buffer.c:96:43: warning: incorrect type in argument 2 (different signedness) kernel/trace/ring_buffer.c:2475:13: warning: incorrect type in argument 2 (different signedness) kernel/trace/ring_buffer.c:2475:13: warning: incorrect type in argument 2 (different signedness) kernel/trace/ring_buffer.c:2478:42: warning: incorrect type in argument 2 (different signedness) kernel/trace/ring_buffer.c:2478:42: warning: incorrect type in argument 2 (different signedness) kernel/trace/ring_buffer.c:2500:40: warning: incorrect type in argument 3 (different signedness) kernel/trace/ring_buffer.c:2505:44: warning: incorrect type in argument 2 (different signedness) kernel/trace/ring_buffer.c:2507:46: warning: incorrect type in argument 2 (different signedness) kernel/trace/trace.c:2130:40: warning: incorrect type in argument 3 (different signedness) kernel/trace/trace.c:2280:40: warning: incorrect type in argument 3 (different signedness) Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 4fd2735881bf4d8bf5e30979f31fc2f1b1d505fa Author: Hannes Eder Date: Tue Feb 10 19:44:12 2009 +0100 tracing: fix sparse warnings: make symbols static Impact: make global variables and a global function static The function '__trace_userstack' does not seem to have a caller, so it is commented out. Fix this sparse warnings: kernel/trace/trace.c:82:5: warning: symbol 'tracing_disabled' was not declared. Should it be static? kernel/trace/trace.c:600:10: warning: symbol 'trace_record_cmdline_disabled' was not declared. Should it be static? kernel/trace/trace.c:957:6: warning: symbol '__trace_userstack' was not declared. Should it be static? kernel/trace/trace.c:1694:5: warning: symbol 'tracing_release' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Ingo Molnar commit 4040068dce64f75c9d414f41fc2fb314a44bad65 Merge: d524e03... c3706f0... Author: Ingo Molnar Date: Wed Feb 11 10:03:53 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit d524e03207591a6de7e6b5069aabc778e3f0f5f8 Merge: ae216dd... 7d6d49b... Author: Ingo Molnar Date: Wed Feb 11 10:03:11 2009 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core commit df22313637acf58a9ae9fe890e10443b9be35053 Merge: 501ca25... a57c0eb... Author: Takashi Iwai Date: Wed Feb 11 09:09:29 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 9e30d7718bb7402c7bdee631ad2aae2658c324f0 Author: Takashi Iwai Date: Wed Feb 11 08:28:04 2009 +0100 ASoC: Fix forgotten replacements of socdev->codec The snd_soc_codec was moved into socdev->card, but this change wasn't applied in some places. Fixed now. Signed-off-by: Takashi Iwai commit a2404746f13b9df2cc6ee48010e921b9efdbba74 Author: Kumar Gala Date: Mon Feb 9 21:39:31 2009 -0600 powerpc/85xx: Added 36-bit physical device tree for mpc8572ds board Added a device tree that should be identical to mpc8572ds.dtb except the physical addresses for all IO are above the 4G boundary. Signed-off-by: Kumar Gala commit ca34040c402ff772507a6a164af5ba1da7604ddf Author: Kumar Gala Date: Mon Feb 9 21:33:06 2009 -0600 powerpc/85xx: Fixed PCI IO region sizes in mpc8572ds*.dts The PCI IO region sizes where incorrectly set to 1M instead of 64k. Signed-off-by: Kumar Gala commit 8d30c14cab30d405a05f2aaceda1e9ad57800f36 Author: Benjamin Herrenschmidt Date: Tue Feb 10 16:02:37 2009 +0000 powerpc/mm: Rework I$/D$ coherency (v3) This patch reworks the way we do I and D cache coherency on PowerPC. The "old" way was split in 3 different parts depending on the processor type: - Hash with per-page exec support (64-bit and >= POWER4 only) does it at hashing time, by preventing exec on unclean pages and cleaning pages on exec faults. - Everything without per-page exec support (32-bit hash, 8xx, and 64-bit < POWER4) does it for all page going to user space in update_mmu_cache(). - Embedded with per-page exec support does it from do_page_fault() on exec faults, in a way similar to what the hash code does. That leads to confusion, and bugs. For example, the method using update_mmu_cache() is racy on SMP where another processor can see the new PTE and hash it in before we have cleaned the cache, and then blow trying to execute. This is hard to hit but I think it has bitten us in the past. Also, it's inefficient for embedded where we always end up having to do at least one more page fault. This reworks the whole thing by moving the cache sync into two main call sites, though we keep different behaviours depending on the HW capability. The call sites are set_pte_at() which is now made out of line, and ptep_set_access_flags() which joins the former in pgtable.c The base idea for Embedded with per-page exec support, is that we now do the flush at set_pte_at() time when coming from an exec fault, which allows us to avoid the double fault problem completely (we can even improve the situation more by implementing TLB preload in update_mmu_cache() but that's for later). If for some reason we didn't do it there and we try to execute, we'll hit the page fault, which will do a minor fault, which will hit ptep_set_access_flags() to do things like update _PAGE_ACCESSED or _PAGE_DIRTY if needed, we just make this guys also perform the I/D cache sync for exec faults now. This second path is the catch all for things that weren't cleaned at set_pte_at() time. For cpus without per-pag exec support, we always do the sync at set_pte_at(), thus guaranteeing that when the PTE is visible to other processors, the cache is clean. For the 64-bit hash with per-page exec support case, we keep the old mechanism for now. I'll look into changing it later, once I've reworked a bit how we use _PAGE_EXEC. This is also a first step for adding _PAGE_EXEC support for embedded platforms Signed-off-by: Benjamin Herrenschmidt commit 4b7ad3593634c593d0e891ea415f9cf1bbcfcbd2 Author: Gerhard Pircher Date: Tue Feb 10 12:26:22 2009 +0000 powerpc/amigaone: Default config for AmigaOne boards CONFIG_CC_OPTIMIZE_FOR_SIZE is selected, because otherwise the kernel wouldn't boot. The AmigaOne's U-boot firmware seems to have a problem loading uImages bigger than 1.8 MB. Signed-off-by: Gerhard Pircher Signed-off-by: Benjamin Herrenschmidt commit 8f23735d8f8cfd4d46e3aa336690f52b8b5d3c75 Author: Gerhard Pircher Date: Tue Feb 10 12:26:11 2009 +0000 powerpc/amigaone: Bootwrapper and serial console support for AmigaOne This adds the bootwrapper for the cuImage target and a compatible property check for "pnpPNP,501" to the generic serial console support code. The default link address for the cuImage target is set to 0x800000. This allows to boot the kernel with AmigaOS4's second level bootloader, which always loads a uImage at 0x500000. Signed-off-by: Gerhard Pircher Signed-off-by: Benjamin Herrenschmidt commit 50408b7defa513a9ea1107b42674167e53ba7a4a Author: Gerhard Pircher Date: Tue Feb 10 12:26:03 2009 +0000 powerpc/amigaone: Generic device tree for all AmigaOne boards This device tree does not provide the correct CPU name, as various CPU models and revisions are used in AmigaOnes. Also the PCI root node does not contain a interrupt mapping property, as all boards have different interrupt routing. However the kernel can do a 1:1 mapping of all PCI interrupts, as only i8259 legacy interrupts are used. Signed-off-by: Gerhard Pircher Signed-off-by: Benjamin Herrenschmidt commit 54b318aa5211ab7bba617a27d9cbd7fd759dcfd0 Author: Gerhard Pircher Date: Tue Feb 10 12:20:49 2009 +0000 powerpc/amigaone: Add platform support for AmigaOne This commit adds the setup code for booting Linux on AmigaOne G3SE (G3 only), AmigaOne XE and uA1 (G3/G4) desktop computers. These boards were sold by Eyetech and are based on MAI Logic's Teron boards and its Articia S northbridge. The AmigaOne uses U-boot as firmware, which doesn't support a flattened device tree yet. The northbridge has some design flaws, which makes it necessary to use non cacheable memory for DMA operations (CONFIG_NOT_COHERENT_CACHE) and to avoid setting the coherence (M) flag for memory pages. Signed-off-by: Gerhard Pircher Signed-off-by: Benjamin Herrenschmidt commit 8535ef05a6904429ce72671c3035dbf05e6d5edf Author: Mike Mason Date: Tue Feb 10 11:12:21 2009 +0000 powerpc/eeh: Only disable/enable LSI interrupts in EEH The EEH code disables and enables interrupts during the device recovery process. This is unnecessary for MSI and MSI-X interrupts because they are effectively disabled by the DMA Stopped state when an EEH error occurs. The current code is also incorrect for MSI-X interrupts. It doesn't take into account that MSI-X interrupts are tracked in a different way than LSI/MSI interrupts. This patch ensures only LSI interrupts are disabled/enabled. Signed-off-by: Mike Mason Acked-by: Linas Vepstas Signed-off-by: Benjamin Herrenschmidt commit 10156ceac26b8adfd5d739a3931c8aa9d0d69d53 Author: Gabriel Paubert Date: Tue Feb 10 06:13:50 2009 +0000 powerpc: Disable mv643xx Ethernet port 0 on Pegasos After the last changes, the mv643xx_eth driver now detects a spurious interface on port 0. Since only port 1 is actually connected to a PHY, remove its description. Signed-off-by: Gabriel Paubert Signed-off-by: Benjamin Herrenschmidt commit 91b0f5ec53336cfc6b2cd894a248dfadab9f34a6 Author: Anton Blanchard Date: Mon Feb 9 20:42:17 2009 +0000 powerpc/mm: Move 64-bit unmapped_area to top of address space We currently place mmaps just below the stack on 32bit, but leave them in the middle of the address space on 64bit: 00100000-00120000 r-xp 00100000 00:00 0 [vdso] 10000000-10010000 r-xp 00000000 08:06 179534 /tmp/sleep 10010000-10020000 rw-p 00000000 08:06 179534 /tmp/sleep 10020000-10130000 rw-p 10020000 00:00 0 [heap] 40000000000-40000030000 r-xp 00000000 08:06 440743 /lib64/ld-2.9.so 40000030000-40000040000 rw-p 00020000 08:06 440743 /lib64/ld-2.9.so 40000050000-400001f0000 r-xp 00000000 08:06 440671 /lib64/libc-2.9.so 400001f0000-40000200000 r--p 00190000 08:06 440671 /lib64/libc-2.9.so 40000200000-40000220000 rw-p 001a0000 08:06 440671 /lib64/libc-2.9.so 40000220000-40008230000 rw-p 40000220000 00:00 0 fffffbc0000-fffffd10000 rw-p fffffeb0000 00:00 0 [stack] Right now it isn't an issue, but at some stage we will run into mmap or hugetlb allocation issues. Using the same layout as 32bit gives us a some breathing room. This matches what x86-64 is doing too. 00100000-00103000 r-xp 00100000 00:00 0 [vdso] 10000000-10001000 r-xp 00000000 08:06 554894 /tmp/test 10010000-10011000 r--p 00000000 08:06 554894 /tmp/test 10011000-10012000 rw-p 00001000 08:06 554894 /tmp/test 10012000-10113000 rw-p 10012000 00:00 0 [heap] fffefdf7000-ffff7df8000 rw-p fffefdf7000 00:00 0 ffff7df8000-ffff7f97000 r-xp 00000000 08:06 130591 /lib64/libc-2.9.so ffff7f97000-ffff7fa6000 ---p 0019f000 08:06 130591 /lib64/libc-2.9.so ffff7fa6000-ffff7faa000 r--p 0019e000 08:06 130591 /lib64/libc-2.9.so ffff7faa000-ffff7fc0000 rw-p 001a2000 08:06 130591 /lib64/libc-2.9.so ffff7fc0000-ffff7fc4000 rw-p ffff7fc0000 00:00 0 ffff7fc4000-ffff7fec000 r-xp 00000000 08:06 130663 /lib64/ld-2.9.so ffff7fee000-ffff7ff0000 rw-p ffff7fee000 00:00 0 ffff7ffa000-ffff7ffb000 rw-p ffff7ffa000 00:00 0 ffff7ffb000-ffff7ffc000 r--p 00027000 08:06 130663 /lib64/ld-2.9.so ffff7ffc000-ffff7fff000 rw-p 00028000 08:06 130663 /lib64/ld-2.9.so ffff7fff000-ffff8000000 rw-p ffff7fff000 00:00 0 fffffc59000-fffffc6e000 rw-p ffffffeb000 00:00 0 [stack] Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 2e74778c76521f180516a593fb2b2786d6fffa4e Author: roel kluin Date: Sun Jan 18 02:03:47 2009 +0000 therm_adt746x: Fix signed/unsigned confusion As suggested, this is used for signed rather than unsigned Signed-off-by: Roel Kluin Signed-off-by: Benjamin Herrenschmidt commit c3bd517de67d33c44059656194e316facef181a5 Author: Milton Miller Date: Thu Jan 8 02:19:46 2009 +0000 powerpc/pci: Move hose_list and pci_address_to_pio to pci-common move the definition of hose_list next to its hotplug spinlock. create pcibios_io_size to encapsulate ifdef in existing pci-common function pcibios_vaddr_is_ioport move pci_address_to_pio to pci-common, using new pcibios_io_size, and protect this GPL exported function against concurrent hotplug removal Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit ed850a52af971528b048812c4215cef298af0d3b Author: Mimi Zohar Date: Tue Feb 10 23:01:19 2009 -0500 integrity: shmem zero fix Based on comments from Mike Frysinger and Randy Dunlap: (http://lkml.org/lkml/2009/2/9/262) - moved ima.h include before CONFIG_SHMEM test to fix compiler error on Blackfin: mm/shmem.c: In function 'shmem_zero_setup': mm/shmem.c:2670: error: implicit declaration of function 'ima_shm_check' - added 'struct linux_binprm' in ima.h to fix compiler warning on Blackfin: In file included from mm/shmem.c:32: include/linux/ima.h:25: warning: 'struct linux_binprm' declared inside parameter list include/linux/ima.h:25: warning: its scope is only this definition or declaration, which is probably not what you want - moved fs.h include within _LINUX_IMA_H definition Signed-off-by: Mimi Zohar Signed-off-by: Mike Frysinger Signed-off-by: James Morris commit 6071ed0487c6ea8dcfadd9844b9b90944cd9de1e Author: Michael Ellerman Date: Thu Jan 22 20:54:33 2009 +0000 powerpc/pseries: Return the number of MSIs we could allocate If we can't allocate the requested number of MSIs, we can still tell the generic code how many we were able to allocate. That can then be passed onto the driver, allowing it to request that many in future, and probably succeeed. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 649781f82782d142443d895b98edbd8be4e75c56 Author: Michael Ellerman Date: Thu Jan 22 20:54:32 2009 +0000 powerpc/pseries: Check for MSI-X also in rtas_msi_pci_irq_fixup() We also need to check that the device isn't using MSI-X in the irq fixup routine, otherwise we might leave MSI-Xs configured at boot. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 3a51c0cbea947dc9194e18f11661eaa4dbfc5c13 Author: Michael Ellerman Date: Thu Jan 22 20:54:31 2009 +0000 powerpc/pseries: Add support for ibm,req#msi-x Firmware encodes the number of MSI-X requested by a device in a different property than for MSI. Pull the property name out as a parameter and share the logic for both cases. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit e27ed698b88b3387d326e84c0bbe9f83e19c747b Author: Michael Ellerman Date: Thu Jan 22 20:54:31 2009 +0000 powerpc/pseries: Fix MSI-X interrupt querying We need to increment i in the loop that queries what interrupts firmware gave us, otherwise we'll incorrectly use the first value over and over. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit c37682d907a615c9a8751748b58e9ba47d415429 Author: Michael Ellerman Date: Wed Jan 14 20:46:02 2009 +0000 lmb: Rework lmb_dump_all() output The lmb_dump_all() output didn't include the RMO size, which is interesting on powerpc. The output was also a bit spacey and not well aligned, and didn't show you the end addresses. Signed-off-by: Michael Ellerman Acked-by: David S. Miller Signed-off-by: Benjamin Herrenschmidt commit 059f134f844ec52772353c95693fcb5b86e80193 Author: Michael Ellerman Date: Wed Jan 14 20:46:01 2009 +0000 powerpc: Allow debugging of LMBs with lmb=debug The lmb debugging can be turned on at boottime with lmb=debug on the command line. However on powerpc that doesn't work, because we don't necessarily call lmb_dump_all(). So always call lmb_dump_all() after lmb_analyze(), no output is generated unless lmb=debug is found on the command line. Signed-off-by: Michael Ellerman Acked-by: David S. Miller Signed-off-by: Benjamin Herrenschmidt commit 33642d31d19c967b9739253912cdd48885509805 Author: Michael Ellerman Date: Wed Jan 14 20:43:15 2009 +0000 powerpc: Remove unused ppc64_terminate_msg() Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 7ce14a315db866605e6ac0b17fb33d10d7e49ab4 Author: Milton Miller Date: Thu Jan 8 02:19:49 2009 +0000 powerpc/pseries: Remove write only variable in PCI DLPAR Since we never hotplug add an isa bus, we never need to set primary. Delete this write-only variable. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 8b16cd238d414b8942a23f0f753cdc57b17c231a Author: Milton Miller Date: Thu Jan 8 02:19:45 2009 +0000 powerpc/numa: Remove redundant find_cpu_node() Use of_get_cpu_node, which is a superset of numa.c's find_cpu_node in a less restrictive section (text vs cpuinit). Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 20fcefe5a0a354b0cc78ec4634d9f72dab5f1ee9 Author: Milton Miller Date: Thu Jan 8 02:19:43 2009 +0000 powerpc/numa: Avoid possible reference beyond prop. length in find_min_common_depth() find_min_common_depth() was checking the property length incorrectly. The value is in bytes not cells, and it is using the second entry. Signed-off-By: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 6a4d7a90fc452171eabb4b5b23ab780451ae7f5b Merge: edbc29d... bdad054... Author: Benjamin Herrenschmidt Date: Wed Feb 11 13:37:49 2009 +1100 Merge commit 'gcl/next' into next commit edbc29d76ddbc9bd56e1cbc772188f70c616ffe1 Merge: 1db8508... a0e8618... Author: Benjamin Herrenschmidt Date: Wed Feb 11 13:37:44 2009 +1100 Merge commit 'kumar/next' into next commit 367681f4ec9b226db201f181c4f47dd973f733a6 Author: Breno Leitão Date: Tue Feb 10 17:24:48 2009 -0800 ixgbe: Removing the unused PAGE_USE_COUNT() macro. Removing the unused PAGE_USE_COUNT() macro. Also removing the unused pages variable at ixgbe_configure_rx() function. Signed-off-by: Breno Leitão Signed-off-by: Jay Vosburgh Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit c9523379d6000f379a84b6b970efb8782c128071 Author: dave graham Date: Tue Feb 10 12:52:28 2009 +0000 e1000e: Serdes - attempt autoneg when link restored. This patch addresses an issue where we did not restart auto-negotiation on serdes links when the link partner was disabled and re-enabled. It includes reworking the serdes link detect mechanism to be a state machine for 82571 and 82572 parts only. Signed-off-by: dave graham Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 573cca8c6fdbf6bd2dae8f9e9b66931990849c83 Author: dave graham Date: Tue Feb 10 12:52:05 2009 +0000 e1000e: remove RXSEQ link monitoring for serdes RXSEQ interrupts were used to force link state interrogation of serdes links, as the Si was not guaranteed to report LSC interrupts when the link changed state. On some bladeservers this resulted in false link up reports if no link partner was connected. The RXSEQ treatment is not necessary, as the link can be monitored from the watchdog timer, and the false link indications cease. Signed-off-by: dave graham Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5df3f0eaf8b236cc785e2733a3df1e5c84e4aad8 Author: dave graham Date: Tue Feb 10 12:51:41 2009 +0000 e1000e: Disable dynamic clock gating for 82571 per si errata. 82571 and 82572 Errata #13 documents that the Si feature DMA Dynamic Clock Gating should be disabled, and identifies the workaround of disabling the feature by EEPROM setting. EEPROM versions that do not include the recommended workaround have been found in the field, and so some customers remain at risk. Because the feature DMA Dynamic clock Gating can be disabled by directly setting the appropriate bit in the E1000_CTRL_EXT register, this patch overrides the EEPROM setting, and force-disables the feature. Signed-off-by: dave graham Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 111b9dc5c981ba608b4afede37237cfeb67b07f2 Author: Jesse Brandeburg Date: Tue Feb 10 12:51:20 2009 +0000 e1000e: add aer support most if not all of the devices supported by e1000e support AER (Advanced Error Reporting) so we attempt to register with the OS that we know how to reset ourselves after a fatal error. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 42fb61f02f9bdc476c7a76d3cce0400d989f44c5 Author: Steve Wise Date: Tue Feb 10 16:38:57 2009 -0800 RDMA/cxgb3: Connection termination fixes The poll and flush code needs to handle all send opcodes: SEND, SEND_WITH_SE, SEND_WITH_INV, and SEND_WITH_SE_INV. Ignore TERM indications if the connection already gone. Ignore HW receive completions if the RQ is empty. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 900f4c16c338f742b80f3aa500e12ceb017e86af Author: Steve Wise Date: Tue Feb 10 16:38:22 2009 -0800 RDMA/cxgb3: sgl/pbl offset calculation needs 64 bits The variable 'offset' in iwch_sgl2pbl_map() needs to be a u64. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 9e32ebdb3aa4e5d2366b032baa16b95f3d7788b9 Merge: 7565fc3... 272edb0... Author: Mark Brown Date: Tue Feb 10 21:37:01 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit c3706f005c3aaf570e71f0f083fdbb59a5a9fa2e Author: Wenji Huang Date: Tue Feb 10 01:03:18 2009 -0500 tracing: fix typos in comments Impact: clean up. Fix typos in the comments. Signed-off-by: Wenji Huang Signed-off-by: Steven Rostedt commit 810dc73265cd690b2bc6010489b4317bba2cda39 Author: Wenji Huang Date: Tue Feb 10 01:03:05 2009 -0500 tracing: provide correct return value after outputting the event This patch is to make the function return early on failure, and give correct return value on success. Signed-off-by: Wenji Huang Signed-off-by: Steven Rostedt commit f54fc98aa656f334c1571df6e3ca9178ea223847 Author: Wenji Huang Date: Tue Feb 10 01:02:46 2009 -0500 tracing: remove unneeded variable Impact: clean up. Remove the unnecessary variable ret. Signed-off-by: Wenji Huang Signed-off-by: Steven Rostedt commit 4543ae7ce1cb8b5ff27a59009e7991ea63791a71 Author: Tobias Klauser Date: Mon Feb 9 23:09:32 2009 +0100 tracing: storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Steven Rostedt commit 966657883fdc3a2883a5e641ca4ec8f79ffb8ecd Author: Steven Rostedt Date: Tue Feb 10 11:53:23 2009 -0500 tracing, x86: fix constraint for parent variable The constraint used for retrieving and restoring the parent function pointer is incorrect. The parent variable is a pointer, and the address of the pointer is modified by the asm statement and not the pointer itself. It is incorrect to pass it in as an output constraint since the asm will never update the pointer. Signed-off-by: Steven Rostedt commit 501ca25629e997b7169f22cc72c70454f4a7dbb4 Merge: 22971e3... 44a678d... Author: Takashi Iwai Date: Tue Feb 10 17:17:17 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 667d24125839b6f3363d8177d7ed9fab8a40e45f Author: Lai Jiangshan Date: Mon Feb 9 14:21:17 2009 +0800 ring_buffer: fix ring_buffer_read_page() Impact: change API and init bpage when copy ring_buffer_read_page()/rb_remove_entries() may be called for a partially consumed page. Add a parameter for rb_remove_entries() and make it update cpu_buffer->entries correctly for partially consumed pages. ring_buffer_read_page() now returns the offset to the next event. Init the bpage's time_stamp when return value is 0. Signed-off-by: Lai Jiangshan Signed-off-by: Steven Rostedt commit b85fa01ed958ca59523a2db3c2ee647b98745d6a Author: Lai Jiangshan Date: Mon Feb 9 14:21:14 2009 +0800 ring_buffer: fix typing mistake Impact: Fix bug I found several very very curious line. It's so curious that it may be brought by typing mistake. When (cpu_buffer->reader_page == cpu_buffer->commit_page): 1) We haven't copied it for bpage is changed: bpage = cpu_buffer->reader_page->page; memcpy(bpage->data, cpu_buffer->reader_page->page->data + read ... ) 2) We need update cpu_buffer->reader_page->read, but "cpu_buffer->reader_page += read;" is not right. [ This bug was a typo. The commit->reader_page is a page pointer and not an index into the page. The line should have been commit->reader_page->read += read. The other changes by Lai are nice clean ups to the code. - SDR ] Signed-off-by: Lai Jiangshan Signed-off-by: Steven Rostedt commit ae216dd239765afd592f65d94d8430244cf77ed1 Merge: f9915bf... 34cd499... Author: Ingo Molnar Date: Tue Feb 10 13:58:28 2009 +0100 Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit f9915bfef3c64ea0b0b960dd1b999b584a7ef460 Merge: b91facc... acd8957... Author: Ingo Molnar Date: Tue Feb 10 13:25:42 2009 +0100 Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core commit b7eb1a5ed50c6f622664bb8a7113313fa8b6dd1e Author: Zbynek Michl Date: Fri Jan 2 00:26:13 2009 +0100 [ARM] 5355/1: Adding support for the HTC Himalaya and its framebuffer Patch adds support for the HTC Himalaya device. It includes hardware definitions and w100fb support. Signed-off-by: Zbynek Michl Signed-off-by: Russell King commit 4ce255c1420dd7c4b97ad4dabd13fa5d862ad700 Author: Jaya Kumar Date: Thu Jan 1 17:51:01 2009 +0100 [ARM] 5354/1: mach-pxa: add AM300 platform driver v3 This patch adds support for the AM300 platform driver which uses the E-Ink broadsheetfb display driver. Cc: Eric Miao Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit 0d4ff4df341208b1b75e01feca27301c0dcbf490 Author: Jaya Kumar Date: Thu Jan 1 17:49:19 2009 +0100 [ARM] 5353/1: fbdev: add E-Ink Broadsheet controller support v3 This patch adds support for the E-Ink Broadsheet display controller. Cc: Eric Miao Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit b4e411294a193e18c41912bc3df03f5b9cd7c823 Author: Kristoffer Ericson Date: Wed Feb 4 16:47:38 2009 +0100 [ARM] 5375/1: PATCH - update jornada720.c to reflect driver additions This patch updates the list of devices activated at init to also include the keyboard and touchscreen structs. We also remove a non-needed #ifdef. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 17198f2d681d34b3376f3a55b2837e56062c2439 Author: wanzongshun Date: Wed Feb 4 05:01:38 2009 +0100 [ARM] 5374/1: The w90p910 uart0 driver patch Add W90P910 UART0 support,the W90P910 UART0 is 8250 series. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit b74788d8c118a48585ad5342560e0aea6ed0ccd4 Author: Daniel Silverstone Date: Thu Jan 29 11:33:10 2009 +0100 [ARM] 5372/1: ACS5K: Core board support for the ACS-5000 This patch provides the core board support for the Brivo Systems LLC ACS-5000 master board for automated door/card-reader etc management. Signed-off-by: Daniel Silverstone Signed-off-by: Vincent Sanders Signed-off-by: Russell King commit 93faee1d509926b844ad021e941a194e898f68dd Author: Hartley Sweeten Date: Mon Jan 26 17:24:51 2009 +0100 [ARM] 5371/1: ep93xx: add i2c device to edb9307a Add the on-board rtc i2c device to the edb9307a platform init. The EP93xx based EDB9307A dev board has an on-board ISL1208 RTC connected to the I2C bus. Now that the core code supports the I2C bus, this patch will add support for the device. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 22971e3a77f193579be525a12f3ab91dbf241517 Author: Takashi Iwai Date: Tue Feb 10 11:56:44 2009 +0100 ALSA: hda - add digital beep support for ALC268 Added the digital beep support for ALC268. It was missing in the last patches. However, ALC268 has a strange pin use for widget 0x1d, which could be used as another purpose. So, the patch adds a check of the beep control before creating the hook for input layer. Signed-off-by: Takashi Iwai commit b4ac530fc3af02a004729043dacf6b6330b46892 Author: David S. Miller Date: Tue Feb 10 02:09:24 2009 -0800 net: Move skbuff symbol exports after each symbol's definition. net/core/skbuff.c is a hodge-podge of symbol export placement. Some of the exports are right after the definition of the symbol being exported, others are clumped together into a big group at the end of the file. Make things consistent. Signed-off-by: David S. Miller commit e4e90b210dbe8253aaf519ee6efaaab7b2b92034 Author: David S. Miller Date: Tue Feb 10 01:54:22 2009 -0800 irda: Use __netdev_alloc_skb() instead of __dev_alloc_skb(). Signed-off-by: David S. Miller commit 9034f77bad1e86c4b43e5f5739eb3b8f4878e947 Author: David S. Miller Date: Tue Feb 10 01:56:45 2009 -0800 netdev: Use __netdev_alloc_skb() instead of __dev_alloc_skb(). Signed-off-by: David S. Miller commit 149490f131ab532a3b9e8806249a0e730994cdf6 Author: Jarek Poplawski Date: Tue Feb 10 00:11:21 2009 -0800 pkt_sched: sch_multiq: Change errno on non-multiqueue devices use. Current "RTNETLINK answers: Invalid argument" warning, while trying to add multiq qdisc to non-multiqueue device, isn't very helpful and some of these devs can be changed btw., so let's use a better errno. With feedback from Stephen Hemminger Reported-by: Badalian Vyacheslav Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit d54e6d872767ae6512978f86a35d623a8ed948c5 Author: David S. Miller Date: Mon Feb 9 23:45:29 2009 -0800 net: Kill skbuff macros from the stone ages. This kills of HAVE_ALLOC_SKB and HAVE_ALIGNABLE_SKB. Nothing in-tree uses them and nothing in-tree has used them since 2.0.x times. Signed-off-by: David S. Miller commit 4b53b361e0fbb2390f1d98ed9eede8e0c9a887b6 Merge: 4cdc44a... 99e0fca... Author: David S. Miller Date: Mon Feb 9 23:30:44 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 4cdc44a231f906a6ec586637e6e4c4c216679da4 Author: Scott Feldman Date: Mon Feb 9 23:25:33 2009 -0800 enic: Add api for link down count and to get firmware notification status. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 68f717089a62ee4c51933f4be43e4ef7b31539fd Author: Scott Feldman Date: Mon Feb 9 23:24:24 2009 -0800 enic: bug fix: tx_timeout reset path fix-ups tx_timeout reset path needs to re-init dev and re-apply nic cfg to enable vlan stripping. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit bd9fb1a44a5c52a1c322ebacd08f6b7416a40a86 Author: Scott Feldman Date: Mon Feb 9 23:24:08 2009 -0800 enic: record all bad FCS errs as frame errors Report all bad FCS errs as frames errs. This includes frames with bad FCS on wire detected by MAC and frames which may be truncated due to ingress FIFO overruns. No longer print a driver msg on bad FCS err. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit ed8af6b288c0643dfe0ad91f1bfc8c56c0d307cc Author: Scott Feldman Date: Mon Feb 9 23:23:50 2009 -0800 enic: bug fix: return notify intr credits Return notify intr credits after notify intr from firmware. This is especially important for legacy PCI intr mode, where not returning credits would cause PBA to remain asserted which would get us right back into the ISR. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 0ecc103aec454288cbaa5a33d8960ab3467e8a11 Merge: 0012985... 4906f99... Author: David S. Miller Date: Mon Feb 9 23:22:21 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/gianfar.c commit 0012985d184b7b9d4513eacd35771715471e06ef Author: Alexey Dobriyan Date: Mon Feb 9 18:05:16 2009 -0800 ppp: section fixes re netns PPP is modular code so no initdata on netns hooks. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 60a5317ff0f42dd313094b88f809f63041568b08 Author: Tejun Heo Date: Mon Feb 9 22:17:40 2009 +0900 x86: implement x86_32 stack protector Impact: stack protector for x86_32 Implement stack protector for x86_32. GDT entry 28 is used for it. It's set to point to stack_canary-20 and have the length of 24 bytes. CONFIG_CC_STACKPROTECTOR turns off CONFIG_X86_32_LAZY_GS and sets %gs to the stack canary segment on entry. As %gs is otherwise unused by the kernel, the canary can be anywhere. It's defined as a percpu variable. x86_32 exception handlers take register frame on stack directly as struct pt_regs. With -fstack-protector turned on, gcc copies the whole structure after the stack canary and (of course) doesn't copy back on return thus losing all changed. For now, -fno-stack-protector is added to all files which contain those functions. We definitely need something better. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit ccbeed3a05908d201b47b6c3dd1a373138bba566 Author: Tejun Heo Date: Mon Feb 9 22:17:40 2009 +0900 x86: make lazy %gs optional on x86_32 Impact: pt_regs changed, lazy gs handling made optional, add slight overhead to SAVE_ALL, simplifies error_code path a bit On x86_32, %gs hasn't been used by kernel and handled lazily. pt_regs doesn't have place for it and gs is saved/loaded only when necessary. In preparation for stack protector support, this patch makes lazy %gs handling optional by doing the followings. * Add CONFIG_X86_32_LAZY_GS and place for gs in pt_regs. * Save and restore %gs along with other registers in entry_32.S unless LAZY_GS. Note that this unfortunately adds "pushl $0" on SAVE_ALL even when LAZY_GS. However, it adds no overhead to common exit path and simplifies entry path with error code. * Define different user_gs accessors depending on LAZY_GS and add lazy_save_gs() and lazy_load_gs() which are noop if !LAZY_GS. The lazy_*_gs() ops are used to save, load and clear %gs lazily. * Define ELF_CORE_COPY_KERNEL_REGS() which always read %gs directly. xen and lguest changes need to be verified. Signed-off-by: Tejun Heo Cc: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Ingo Molnar commit d9a89a26e02ef9ed03f74a755a8b4d8f3a066622 Author: Tejun Heo Date: Mon Feb 9 22:17:40 2009 +0900 x86: add %gs accessors for x86_32 Impact: cleanup On x86_32, %gs is handled lazily. It's not saved and restored on kernel entry/exit but only when necessary which usually is during task switch but there are few other places. Currently, it's done by calling savesegment() and loadsegment() explicitly. Define get_user_gs(), set_user_gs() and task_user_gs() and use them instead. While at it, clean up register access macros in signal.c. This cleans up code a bit and will help future changes. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit f0d96110f9fd98a1a22e03b8adba69508843d910 Author: Tejun Heo Date: Mon Feb 9 22:17:40 2009 +0900 x86: use asm .macro instead of cpp #define in entry_32.S Impact: cleanup Use .macro instead of cpp #define where approriate. This cleans up code and will ease future changes. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit d627ded5ab2f7818154d57369e3a8cdb40db2569 Author: Tejun Heo Date: Mon Feb 9 22:17:40 2009 +0900 x86: no stack protector for vdso Impact: avoid crash on vsyscall Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 5d707e9c8ef2a3596ed5c975c6ff05cec890c2b4 Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 stackprotector: update make rules Impact: no default -fno-stack-protector if stackp is enabled, cleanup Stackprotector make rules had the following problems. * cc support test and warning are scattered across makefile and kernel/panic.c. * -fno-stack-protector was always added regardless of configuration. Update such that cc support test and warning are contained in makefile and -fno-stack-protector is added iff stackp is turned off. While at it, prepare for 32bit support. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 76397f72fb9f4c9a96dfe05462887811c81b0e17 Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 x86: stackprotector.h misc update Impact: misc udpate * wrap content with CONFIG_CC_STACK_PROTECTOR so that other arch files can include it directly * add missing includes This will help future changes. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 6cd61c0baa8bce32271226198b46c67a7a05d108 Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 elf: add ELF_CORE_COPY_KERNEL_REGS() ELF core dump is used for both user land core dump and kernel crash dump. Depending on architecture, register might need to be accessed differently for userland and kernel. Allow architectures to define ELF_CORE_COPY_KERNEL_REGS() and use different operation for kernel register dump. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 92e2d508464b6293ad274fb606f766a458894142 Merge: 5d96218... d315760... Author: Ingo Molnar Date: Tue Feb 10 00:41:02 2009 +0100 Merge branch 'x86/urgent' into core/percpu Conflicts: arch/x86/kernel/acpi/boot.c commit 5d96218b4a5ee0c5ff0ac87f3ba90cfa86ca0ca1 Merge: 249d51b... 18114f6... Author: Ingo Molnar Date: Tue Feb 10 00:40:48 2009 +0100 Merge branch 'x86/uaccess' into core/percpu commit bf56957d176c279175464f385f3eb03d65819328 Author: Ian Campbell Date: Mon Feb 9 12:05:48 2009 -0800 xen: expose enable_IO_APIC for 32-bit enable_IO_APIC() is defined for both 32- and 64-bit x86, so it should be declared for both. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit ca97ab90164c7b978abf9d82dc82d6dc2cbac4a0 Author: Jeremy Fitzhardinge Date: Mon Feb 9 12:05:47 2009 -0800 x86: unstatic ioapic entry funcs Unstatic ioapic_write_entry and setup_ioapic_entry functions so that the Xen code can do its own ioapic routing setup. Signed-off-by: Jeremy Fitzhardinge commit c3e137d1e882c4fab9adcce7ae2be9bf3eb64c4c Author: Jeremy Fitzhardinge Date: Mon Feb 9 12:05:47 2009 -0800 x86: add mp_find_ioapic_pin Add mp_find_ioapic_pin() to find an IO APIC's specific pin from a GSI, and use this function within acpi/boot. Make it non-static so other code can use it too. Signed-off-by: Jeremy Fitzhardinge commit 4924e228ae039029a9503ad571d91086e4042c90 Author: Jeremy Fitzhardinge Date: Mon Feb 9 12:05:47 2009 -0800 x86: unstatic mp_find_ioapic so it can be used elsewhere Signed-off-by: Jeremy Fitzhardinge commit 3c552ac8a747d6c26d13302c54d71dae9f56f4ac Author: Jeremy Fitzhardinge Date: Mon Feb 9 12:05:47 2009 -0800 x86: make apic_* operations inline functions Mainly to get proper type-checking and consistency. Signed-off-by: Jeremy Fitzhardinge commit 99e0fca6740b98aed1f604fc2e0acbdbc9e7578a Author: Michael Buesch Date: Tue Feb 3 20:06:14 2009 +0100 b43: (b2062) Fix crystal frequency calculations This fixes the crystal frequency calculations in the b2062 init code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 686aa5f2137d04f389e527f0391d65232338e599 Author: Michael Buesch Date: Tue Feb 3 19:36:45 2009 +0100 b43: Port spec bugfixes for the LP baseband init A few bugs were fixed in the LP baseband init specs. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c9703146158c0415a60799570397e488bc982af5 Author: Michael Buesch Date: Tue Feb 3 19:23:18 2009 +0100 ssb: Add PMU support This adds support for the SSB PMU. A PMU is found on Low-Power devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit baf62eecfa75a26682efdfed0d74256992a47e6b Author: Roel Kluin Date: Tue Feb 3 17:15:57 2009 +0100 libertas: pos[4] tested twice, 2nd should be pos[5] pos[4] can't be both 0x43 and 0x04, 2nd should be pos[5] Signed-off-by: Roel Kluin Acked-by: Dan Williams Signed-off-by: John W. Linville commit 0c2bec96945ccfc4a58a88d73531e392972ba6c5 Author: Mike Rapoport Date: Tue Feb 3 09:04:20 2009 +0200 libertas: if_spi: add ability to call board specific setup/teardown methods In certain cases it is required to perform board specific actions before activating libertas G-SPI interface. These actions may include power up of the chip, GPIOs setup, proper pin-strapping and SPI controller config. This patch adds ability to call board specific setup/teardown methods Signed-off-by: Mike Rapoport Acked-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit d43e87868f67c5b52defd8d82bc3f54347ed2408 Author: Vasanthakumar Thiagarajan Date: Tue Feb 3 10:09:49 2009 +0530 mac80211: Remove bss information of the current AP when it goes out of range There is no point having the bss information of currently associated AP when the AP is detected to be out of range. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit de9f97efb2ea2a32a610932d881e4d3653e0f932 Author: Luis R. Rodriguez Date: Mon Feb 2 20:35:05 2009 -0800 ath9k: fix reg_notifier() flags used upon a country IE The nl80211 rule flags were being used. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 24b5bcc6aef46346edd69becf62d2125c0b3208e Author: Michael Buesch Date: Sat Jan 31 19:34:53 2009 +0100 b43: Add LP 2062 radio init This adds initialization code for the 2062 radio. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 6c1bb9276c492c803611e63fa6fab8276c02ee70 Author: Michael Buesch Date: Sat Jan 31 16:52:29 2009 +0100 b43: Add LP-PHY baseband init for >=rev2 This adds code for the baseband init of LP-PHY >=2. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 3302e44dcdb8aff99769921af12b916a914b6317 Author: Danny Kukawka Date: Sat Jan 31 15:52:40 2009 +0100 iwlwifi: another led naming fix Fixed led device naming for the iwlwifi (iwl-3945) driver. Due to the documentation of the led subsystem/class the naming should be "devicename:colour:function" while not applying sections should be left blank. This should lead to e.g. "iwl-%s::RX" instead of "iwl-%s:RX". Signed-off-by: Danny Kukawka Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit b34196d7d031a966c70ce2ede9087be56c7dd4bc Author: Danny Kukawka Date: Sat Jan 31 15:52:20 2009 +0100 rt2x00: fix led naming Fixed led device naming for the rt2x00 driver. Due to the documentation of the led subsystem/class the naming should be "devicename:colour:function" while not applying sections should be left blank. This should lead to e.g. "%s::radio" instead of "%s:radio". Signed-off-by: Danny Kukawka Signed-off-by: John W. Linville commit b157b5e60b2e4eefa8fb13936e0d2642ccc1d02c Author: Danny Kukawka Date: Sat Jan 31 15:52:16 2009 +0100 b43legacy: fix led naming Fixed led device naming for the b43legacy driver. Due to the documentation of the led subsystem/class the naming should be "devicename:colour:function" while not applying sections should be left blank. This should lead to e.g. "b43legacy-%s::rx" instead of "b43legacy-%s:rx". Signed-off-by: Danny Kukawka Acked-by: Larry Finger Signed-off-by: John W. Linville commit 0818cb8adfedf3e5b48662056f0228576c666d9d Author: Danny Kukawka Date: Sat Jan 31 15:52:09 2009 +0100 ath9k: fix led naming Fixed led device naming for the ath9k driver. Due to the documentation of the led subsystem/class the naming should be "devicename:colour:function" while not applying sections should be left blank. This should lead to e.g. "ath9k-%s::rx" instead of "ath9k-%s:rx". Signed-off-by: Danny Kukawka Signed-off-by: John W. Linville commit a387cc7d380504bf64743789f47de35605e05596 Author: Michael Buesch Date: Sat Jan 31 14:20:44 2009 +0100 b43: Add LP-PHY register definitions This adds register definitions for the LP-PHY. This also adds a few minor empty function bodies for the LP-init. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 964d6ad935d96a002fdbbdfcac38f02a084f75d9 Author: Ivo van Doorn Date: Sat Jan 31 10:07:39 2009 +0100 Add new rt73usb USB ID Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f130347c2dd8e7ce0757cd3cf80bedbc6ed63c4c Author: Luis R. Rodriguez Date: Fri Jan 30 09:26:42 2009 -0800 cfg80211: add get reg command This lets userspace request to get the currently set regulatory domain. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 47f4d8872ffc57ad92d0fb344e677d12acc34acd Author: Luis R. Rodriguez Date: Fri Jan 30 09:08:29 2009 -0800 mac80211: do not TX injected frames when not allowed Monitor mode is able to TX by using injected frames. We should not allow injected frames to be sent unless allowed by regulatory rules. Since AP mode uses a monitor interfaces to transmit management frames we have to take care to not break AP mode as well while resolving this. We can deal with this by allowing compliant APs solutions to inform mac80211 if their monitor interface is intended to be used for an AP by setting a cfg80211 flag for the monitor interface. hostapd, for example, currently does its own checks to ensure AP mode is not used on channels which require radar detection. Once such solutions are available it can can add this flag for monitor interfaces. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7230645e329b4a9c566fefa9327eb8734c7d392c Author: Johannes Berg Date: Fri Jan 30 13:36:25 2009 +0100 mac80211: convert master interface to netdev_ops Also call our own ieee80211_master_setup routine instead of overwriting almost all the values from ether_setup; this loses a few assignments that are pointless on the master interface anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 587e729ecff959482d25c73278a1fbadbc6a54fe Author: Johannes Berg Date: Fri Jan 30 13:35:22 2009 +0100 mac80211: convert to net_device_ops Convert to new net_device_ops in 2.6.28 and later. Signed-off-by: Stephen Hemminger Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7fee5372d814c4be9546e5c28ac0058258d8df3e Author: Johannes Berg Date: Fri Jan 30 11:13:06 2009 +0100 mac80211: remove HW_SIGNAL_DB Giving the signal in dB isn't much more useful to userspace than giving the signal in unspecified units. This removes some radiotap information for zd1211 (the only driver using this flag), but it helps a lot for getting cfg80211-based scanning which won't support dB, and zd1211 being dB is a little fishy anyway. Signed-off-by: Johannes Berg Cc: Bruno Randolf Signed-off-by: John W. Linville commit 7a7dec656252a5784218a22abf76ad1cdef115d0 Author: Sujith Date: Fri Jan 30 14:32:09 2009 +0530 ath9k: Add debugfs files for printing TX rate details Signed-off-by: Sujith Signed-off-by: John W. Linville commit c89424df441ea8d794682b9c5620d8e8b0315438 Author: Sujith Date: Fri Jan 30 14:29:28 2009 +0530 ath9k: Handle mac80211's RC flags for MCS rates mac80211 notifies the RC algorithm if RTS/CTS and short preamble are needed. The RC flags for MCS rates are currently not handled by mac80211, and ath9k's RC doesn't set the flags either. Fix this. Also, set the rts_cts_rate_idx inside the RC algorithm. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 3900898c7a3d563d14a1288f483f8a589bd38299 Author: Sujith Date: Fri Jan 30 14:29:15 2009 +0530 ath9k: Cleanup get_rate() interface The interface to calculate the TX rate for a data frame was convoluted with lots of redundant arguments being passed around. Remove all of that and make it simple. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a6c8d375f539d450bf8d45e8ccbb7c9e26dffbef Author: Felix Fietkau Date: Fri Jan 30 01:36:48 2009 +0100 ath5k: properly free rx dma descriptors When freeing rx dma descriptors, use the right buffer size. Fixes kernel oopses on module unload on ixp4xx and most likely other platforms as well. Signed-off-by: Felix Fietkau Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit c1b4aa3fb619782213af2af6652663c8f9cef373 Author: Harvey Harrison Date: Thu Jan 29 13:26:44 2009 -0800 wireless: replace uses of __constant_{endian} The base versions handle constant folding now. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit e5d24efe529b26d782b41a61a5e958c72f36f295 Author: Danny Kukawka Date: Thu Jan 29 21:58:26 2009 +0100 iwlwifi: fix led naming Fixed led device naming for the iwl driver. Due to the documentation of the led subsystem/class the naming should be "devicename:colour:function" while not applying sections should be left blank. This should lead to e.g. "iwl-phy0::RX" instead of "iwl-phy0:RX". Signed-off-by: Danny Kukawka Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 9a23e5a2268fc03a55c7e7112ce904629276d0b2 Author: Jay Sternberg Date: Thu Jan 29 11:09:17 2009 -0800 ipw2x00: correct Kconfig to prevent following entries from not indenting not defining dependencies for LIBIPW caused the following entries to not be indented. changing this entry to depend on PCI && WLAN_80211 corrects this issue Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 29f35c149e887960ccb5a7d31fb5d9f813193418 Author: Jay Sternberg Date: Thu Jan 29 11:09:16 2009 -0800 iwlwifi: remove chain noise calibration functions from 6000 family redefine structures that contain function pointer for chain noise reset and chain noise gain for the 6000 family since these are not needed. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e8c00dcb028a1b702863c3a454315c7ae5f544e7 Author: Jay Sternberg Date: Thu Jan 29 11:09:15 2009 -0800 iwlwifi: define structures and functions externally for customization defined the structures and functions as extern to alter behavior used by 5000 series for other products including 100 and 6000 series Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 76a2407a5b043d0950d5657184118e89860d545c Author: Jay Sternberg Date: Thu Jan 29 11:09:14 2009 -0800 iwlwifi: correct API command overlap Correct the API commands where same command id used for two different commands. Update max api versions for affected devices. TX_ANT_CONFIGURATION_CMD was already using id 0x98, so REPLY_TX_POWER_DBM_CMD moved to 0x95 Older API interfaces may used original value so V1 defines provided. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 050681b77d10ac81bf6be5b2c61aa6c5969947e4 Author: Jay Sternberg Date: Thu Jan 29 11:09:13 2009 -0800 iwlwifi: parametrize configuration of the PLL for exclusion on 6000 added a config parameter to enable setting PLL_CFG. older hardware has this parameter set true. the 6000 family does not support this setting, so this parameter set false. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c0bac76a22c00d0b4622b2847e0b087befb9ff25 Author: Jay Sternberg Date: Mon Feb 2 16:21:14 2009 -0800 iwlwifi: simplify parameter setting to allow support for 6000 series by parametrizing the set hw function, in addition to allowing for supporting the 6000 family significantly simplify the addition of new hardware. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2264596d6d0a5c1e569af809625c11f8f2d89435 Author: Jay Sternberg Date: Thu Jan 29 11:09:11 2009 -0800 iwlwifi: add new HW_REV_TYPEs for Intel WiFi Link 100, 6000 and 6050 Series simply add definitions for the HW_REV_TYPEs for the new devices. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c4e3a5844812dd5bf03282e021175d55d608f594 Author: Alina Friedrichsen Date: Thu Jan 29 13:56:20 2009 +0100 mac80211: IBSS join rework I hold back this patch for around a week to avoid confusion. This is the second step of "mac80211: Fixed BSSID handling revisited". With it, in the situation of a strange merge to the same BSSID (e.g. caused by a TSF overflow) only reset_tsf() is called. And sta_info_flush_delayed() is only called if you change the network manually, not on an automatic BSSID merge. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit f2bffa7ea012befc2230331f97bf9b002c0b62bb Author: Vasanthakumar Thiagarajan Date: Thu Jan 29 17:52:19 2009 +0530 ath9k: Fix LED blink pattern Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c0415b547d37e8065ad4adf289d11db2f3b16dfd Author: Alina Friedrichsen Date: Thu Jan 29 09:59:43 2009 +0100 mac80211: Creating new IBSS with fixed BSSID This fixes a bug when creating a new IBSS network with a fixed BSSID. The fixed BSSID situation is now with one of my last patches handled in ieee80211_sta_find_ibss() function. It's more robust to test against (ifsta->flags & IEEE80211_STA_PREV_BSSID_SET), because ifsta->state is not seted right in every situation and so the creating of the new IBSS network sometimes hangs after the first try to scan for a network to merge. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 547c3763765654f9a796e628692d9e7d5c1039af Author: Sujith Date: Thu Jan 29 11:50:20 2009 +0530 ath9k: Remove a bunch of unused macros RX filter masks are already defined in enum ath9k_rx_filter in ath9k.h Signed-off-by: Sujith Signed-off-by: John W. Linville commit feed029cd63ee14df85afbe1583960c0e983a0ed Author: Sujith Date: Thu Jan 29 11:37:35 2009 +0530 ath9k: Fix typo in checking for chip revision Signed-off-by: Sujith Signed-off-by: John W. Linville commit e374055afbf92c8d128d8538aafc7e765838206e Author: Sujith Date: Thu Jan 29 09:34:22 2009 +0530 mac80211: Reset assoc_scan_tries after an unsuccessful scan run Trying to associate with a non-existent SSID stops the state machine after the first run. Subsequent association requests fail to start the scan engine. Fix this by resetting assoc_scan_tries to zero after completing a scan run. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7519a8f0778bdb14f07cf685fa5fee6ab07e734c Author: Luis R. Rodriguez Date: Wed Jan 28 12:17:49 2009 -0800 ath9k: remove passive scan on 5 GHz if country IE knows better If we have new found information about our location and the current country regulatory domain does not have passive scan flag requirements we should be able to actively scan now on those channels. Since AP functionality is not allowed where passive scan flags are set this means if you have a world regulatory domain and you get a country IE that allows that channel (with active scan) then we lift the passive-scan requirement so you can then use AP mode. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 547e4c2e64d0be5e8491abb49ee6b0f0f8272de1 Author: Luis R. Rodriguez Date: Wed Jan 28 12:17:48 2009 -0800 ath9k: move check for radar freqs into a helper This will be used later. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8c63c46d58c9dca6d0bfacfb41958c55d9b75ea0 Author: Luis R. Rodriguez Date: Wed Jan 28 12:17:47 2009 -0800 ath9k: replace usage of internal wireless_modes for conf No need to use our internal wireless mode variable when cfg80211 already has its own. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4e30ffa29c1388006e5d36d5ea8c5b46b38b36d5 Author: Vivek Natarajan Date: Wed Jan 28 20:53:27 2009 +0530 ath9k: Enable MIB and TIM interrupts for station mode. Enable operating mode specific interrupts in ath9k_add_interface instead of ath9k_start. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d22b0022e75b37e5c5a995754fcf9f61b39022d2 Author: Sujith Date: Wed Jan 28 11:55:45 2009 +0530 ath9k: Fix lockdep warning This patch fixes the lockdep warning shown below, and also initializes the starting sequence number when starting a TX aggregation session. ============================================= [ INFO: possible recursive locking detected ] 2.6.29-rc2-wl #21 --------------------------------------------- swapper/0 is trying to acquire lock: (_xmit_IEEE80211#2){-+..}, at: [] __qdisc_run+0x221/0x290 but task is already holding lock: (_xmit_IEEE80211#2){-+..}, at: [] __qdisc_run+0x221/0x290 other info that might help us debug this: 7 locks held by swapper/0: #0: (rcu_read_lock){..--}, at: [] dev_queue_xmit+0x53/0x620 #1: (_xmit_ETHER#2){-+..}, at: [] __qdisc_run+0x221/0x290 #2: (rcu_read_lock){..--}, at: [] dev_queue_xmit+0x53/0x620 #3: (_xmit_IEEE80211#2){-+..}, at: [] __qdisc_run+0x221/0x290 #4: (rcu_read_lock){..--}, at: [] ieee80211_master_start_xmit+0x219/0x6c0 [mac80211] #5: (rcu_read_lock){..--}, at: [] ieee80211_start_tx_ba_session+0x66/0x4e0 [mac80211] #6: (rcu_read_lock){..--}, at: [] dev_queue_xmit+0x53/0x620 stack backtrace: Pid: 0, comm: swapper Not tainted 2.6.29-rc2-wl #21 Call Trace: [] __lock_acquire+0x1be9/0x1c40 [] dev_queue_xmit+0xe1/0x620 [] __lock_acquire+0x18c/0x1c40 [] lock_acquire+0x55/0x70 [] __qdisc_run+0x221/0x290 [] _spin_lock+0x39/0x50 [] __qdisc_run+0x221/0x290 [] _spin_unlock+0x1f/0x50 [] __qdisc_run+0x221/0x290 [] dev_queue_xmit+0x308/0x620 [] dev_queue_xmit+0x53/0x620 [] ieee80211_start_tx_ba_session+0x303/0x4e0 [mac80211] [] ieee80211_start_tx_ba_session+0x66/0x4e0 [mac80211] [] rate_control_get_rate+0xae/0xc0 [mac80211] [] invoke_tx_handlers+0x655/0x1000 [mac80211] [] mark_held_locks+0x4d/0x90 [] _spin_unlock_irqrestore+0x65/0x80 [] __ieee80211_tx_prepare+0x16a/0x310 [mac80211] [] __ieee80211_tx_prepare+0x19c/0x310 [mac80211] [] pskb_expand_head+0x112/0x190 [] ieee80211_master_start_xmit+0x286/0x6c0 [mac80211] [] ieee80211_master_start_xmit+0x219/0x6c0 [mac80211] [] __lock_acquire+0x18c/0x1c40 [] __qdisc_run+0x23e/0x290 [] dev_queue_xmit+0x308/0x620 [] dev_queue_xmit+0x53/0x620 [] ieee80211_subif_start_xmit+0x4a1/0x980 [mac80211] [] ieee80211_subif_start_xmit+0x198/0x980 [mac80211] [] __qdisc_run+0x23e/0x290 [] dev_queue_xmit+0x308/0x620 [] dev_queue_xmit+0x53/0x620 [] ip6_output+0x62d/0x1230 [ipv6] [] __mod_timer+0xb0/0xd0 [] mld_sendpack+0x3fa/0x4a0 [ipv6] [] mld_sendpack+0x0/0x4a0 [ipv6] [] mld_ifc_timer_expire+0x0/0x340 [ipv6] [] mld_ifc_timer_expire+0x289/0x340 [ipv6] [] mld_ifc_timer_expire+0x0/0x340 [ipv6] [] run_timer_softirq+0x147/0x220 [] __do_softirq+0x9b/0x180 [] tick_dev_program_event+0x36/0xb0 [] call_softirq+0x1c/0x30 [] do_softirq+0x65/0xb0 [] irq_exit+0x9d/0xc0 [] smp_apic_timer_interrupt+0x86/0xd0 [] apic_timer_interrupt+0x13/0x20 Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0cbe0064614ace61e08618948f82c6d525e75017 Author: Ivo van Doorn Date: Wed Jan 28 00:33:47 2009 +0100 rt2x00: Validate firmware in driver The get_firmware_crc() callback function isn't flexible enough when dealing with multiple firmware versions. It might in some cases be possible that the firmware file contains multiple CRC checksums. Create the check_firmware() callback function where the driver has complete freedom in how to validate the firmware. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a2c9b652a12a550d3d8509e9bae43bac396c5076 Author: Ivo van Doorn Date: Wed Jan 28 00:32:33 2009 +0100 rt2x00: Add kill_tx_queue callback function provide rt2x00lib the possibility to kill a particular TX queue. This can be useful when disabling the radio, but more importantly will allow beaconing to be disabled when mac80211 requests this (during scanning for example) Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 382fe0f2da78db7833c6a7278e33e694e6e2a6f3 Author: Ivo van Doorn Date: Wed Jan 28 00:32:13 2009 +0100 rt2x00: Move intf_work to mac82011 workqueue ieee80211_iterate_active_interfaces() no longer acquires the RTNL lock which means the intf_work handler can be safely used from the mac80211 workqueue again. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d25aabb0a1a2f659206ba21f6ac8ec28047e5595 Author: Winkler, Tomas Date: Tue Jan 27 14:27:58 2009 -0800 iwlwifi: unify iwlagn and 3945 power save management This patch unifies 3945 and iwlagn power save management This patch also better separates system state from user setting. System state shall be removed later as this shall be shifted to user space Signed-off-by: Tomas Winkler Acked-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e1623446bb1de1834ff1c57b3e8ed341d5d4a927 Author: Tomas Winkler Date: Tue Jan 27 14:27:56 2009 -0800 iwlwifi: don't use implicit priv in IWL_DEBUG Call IWL_DEBUG macro with explicit priv argument. Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 450154e4f471248e188d18e45c2409b37a133765 Author: Winkler, Tomas Date: Tue Jan 27 14:27:55 2009 -0800 iwlwifi: check return value of pci_enable_device pci_enable_device is tagged with __must_check therefore don't ignore the return value in pci_resume handlers Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dfb39e82957153c5748675b72bbe7eded2e2b069 Author: Winkler, Tomas Date: Tue Jan 27 14:27:54 2009 -0800 iwlwifi: iwl3945_send_tx_power must be static iwl3945_send_tx_power must be static Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7530f85f086a5d58a5e43b1a98993801fe509c51 Author: Winkler, Tomas Date: Tue Jan 27 14:27:53 2009 -0800 iwlwifi: suppress unused variable warning when compiling w/o IWLWIFI_DEBUG This patch adds __maybe_unused attribute to priv variables used in functions that used it solely for debug printouts Signed-off-by: Tomas Winkler Cc: Helmut Schaa Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8ccde88a87a3dc906234b281a036fee9c7371949 Author: Samuel Ortiz Date: Tue Jan 27 14:27:52 2009 -0800 iwl3945: Getting rid of the *39_rxon iwl_priv fields The iwl_rxon_cmd is really just a iwl3945_rxon_cmd structure extension. So, we can use the *_rxon fields from iwl_priv instead of the 3945 specific ones (*39_rxon). We have to then be careful when submitting REPLY_RXON host commands, since the command length as to be set according to the HW. As another precaution the reserved4 and reserved5 fields are cleared before being sent to the 3945. With the *39_rxon removal, a lot of duplicated code can be removed from the 3945 code base. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d14c7c1d6aef1175625ea72938b07cee072723dc Author: Andrey Borzenkov Date: Sun Jan 25 23:08:43 2009 +0300 orinoco: checkpatch cleanup Fix errors and obvious warnings reported by checkpatch in all files except orinoco.c. Orinoco.c is part of different patch series of Dave. Signed-off-by: Andrey Borzenkov Signed-off-by: John W. Linville commit 7565fc38cc8c3a2742d63e957199d70a82d2faf1 Author: Jarkko Nikula Date: Mon Feb 9 14:27:07 2009 +0200 ASoC: TLV320AIC3X: Add TLV information for volume controls TLV320AIC3X volume controls are logarithmic. Export their dB ranges. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit b93f74f604c53b546fced33d11aee722560de249 Author: Jarkko Nikula Date: Mon Feb 9 14:27:06 2009 +0200 ASoC: TLV320AIC3X: Fix volume ranges This is a minor fix but helps to define dB ranges for volume controls. Only DAC digital volume has full register value range from 0 to 127 but ADC PGA gain and output stage volume controls don't. For ADC PGA, maximum value is 119 and then it saturates to the same gain value of 59.5 dB. For output stages, value 117 corresponds to -78.3 dB and is muted for values 118 and above. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 8e08f6eb34af13b78d379a025e4c9f8612b47b95 Merge: 9483c89... fcafb71... Author: Felix Blyakher Date: Mon Feb 9 11:52:34 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs commit 34cd4998d38f9bd04f34b78a7cb0c7f1bee00bd9 Author: Steven Rostedt Date: Mon Feb 9 12:06:29 2009 -0500 tracing: clean up splice code Ingo Molnar suggested a series of clean ups for the splice code. This patch implements those suggestions. Signed-off-by: Steven Rostedt commit ff98781bab2735e6c89793034173e0cb5007a7e5 Author: Eduard - Gabriel Munteanu Date: Mon Feb 9 08:15:55 2009 +0200 tracing: Move pipe waiting code out of tracing_read_pipe(). This moves the pipe waiting code from tracing_read_pipe() into tracing_wait_pipe(), which is useful to implement other fops, like splice_read. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Steven Rostedt commit 3c56819b14b00dd449bd776303e61f8532fad09f Author: Eduard - Gabriel Munteanu Date: Mon Feb 9 08:15:56 2009 +0200 tracing: splice support for tracing_pipe Added and implemented tracing_pipe_fops->splice_read(). This allows userspace programs to get tracing data more efficiently. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Steven Rostedt commit a85165c66c5640c37b67a94aa4e00fe45273bca1 Author: Takashi Iwai Date: Mon Feb 9 17:15:50 2009 +0100 ALSA: via82xx - Clean up quirk list Use SND_PCI_QUIRK_VENDOR() macro. Signed-off-by: Takashi Iwai commit d9f8e9c34150ebec2be07bb95b6a23d99ba1f6de Merge: 2ebfb8e... 8bd4bb7... Author: Takashi Iwai Date: Mon Feb 9 17:20:13 2009 +0100 Merge branch 'topic/quirk-cleanup' into topic/misc commit dea0a5095b5e21306a81c496567043798fac7815 Author: Takashi Iwai Date: Mon Feb 9 17:14:52 2009 +0100 ALSA: hda - Clean up quirk lists Clean up quirk lists with bit masks. Also, sorted in numerical order for alc662_cfg_tbl[]. Signed-off-by: Takashi Iwai commit 2a074f4a54d11ec0ce16b35e9a88feaa2fd886aa Merge: 23c7b52... 8bd4bb7... Author: Takashi Iwai Date: Mon Feb 9 17:19:21 2009 +0100 Merge branch 'topic/quirk-cleanup' into topic/hda commit 8bd4bb7a35e8ebb015a531218614c48e10a3c4ee Author: Takashi Iwai Date: Fri Jan 30 17:27:45 2009 +0100 ALSA: Add subdevice_mask field to quirk entries Introduced a new field, subdevice_mask, which specifies the bitmask to match with the given subdevice ID. Signed-off-by: Takashi Iwai commit 9483c89eae58bee79b0280c625ca35a7b78fa300 Merge: d41d411... 8e9b6e7... Author: Felix Blyakher Date: Mon Feb 9 10:07:00 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs commit d41d4113f49e16bfab02eff0248282200be21807 Merge: b58a4cc... d5b5623... Author: Felix Blyakher Date: Mon Feb 9 09:34:45 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 249d51b53aea1b7cdb1be65a1a9a0c59d9e06f3e Merge: 44581a2... 8e49215... Author: Ingo Molnar Date: Mon Feb 9 14:58:11 2009 +0100 Merge commit 'v2.6.29-rc4' into core/percpu Conflicts: arch/x86/mach-voyager/voyager_smp.c arch/x86/mm/fault.c commit b825e6cc7b1401862531df497a4a4daff8102ed5 Author: Yinghai Lu Date: Sat Feb 7 15:39:41 2009 -0800 x86, es7000: fix ACPI table mappings Signed-off-by: Ingo Molnar commit 7d97277b754d3ee098a5ec69b6aaafb00c94e2f2 Author: Yinghai Lu Date: Sat Feb 7 15:39:41 2009 -0800 acpi/x86: introduce __apci_map_table, v4 to prevent wrongly overwriting fixmap that still want to use. ACPI used to rely on low mappings being all linearly mapped and grew a habit: it never really unmapped certain kinds of tables after use. This can cause problems - for example the hypothetical case when some spurious access still references it. v2: remove prev_map and prev_size in __apci_map_table v3: let acpi_os_unmap_memory() call early_iounmap too, so remove extral calling to early_acpi_os_unmap_memory v4: fix typo in one acpi_get_table_with_size calling Signed-off-by: Yinghai Lu Acked-by: Len Brown Signed-off-by: Ingo Molnar commit 05876f88ed9a66b26af613e222795ae790616252 Author: Jeremy Fitzhardinge Date: Sat Feb 7 15:39:40 2009 -0800 acpi: remove final __acpi_map_table mapping before setting acpi_gbl_permanent_mmap On x86, __acpi_map_table uses early_ioremap() to create the mapping, replacing the previous mapping with a new one. Once enough of the kernel is up an running it switches to using normal ioremap(). At that point, we need to clean up the final mapping to avoid a warning from the early_ioremap subsystem. This can be removed after all the instances in the ACPI code are fixed that rely on early-ioremap's implicit overmapping of previously mapped tables. Signed-off-by: Jeremy Fitzhardinge Acked-by: Len Brown Signed-off-by: Ingo Molnar commit eecb9a697f0b790e5840dae8a8b866bea49a86ee Author: Jeremy Fitzhardinge Date: Sat Feb 7 15:39:38 2009 -0800 x86: always explicitly map acpi memory Always map acpi tables, rather than assuming we can use the normal linear mapping to access the acpi tables. This is necessary in a virtual environment where the linear mappings are to pseudo-physical memory, but the acpi tables exist at a real physical address. It doesn't hurt to map in the normal non-virtual case, so just do it unconditionally. Signed-off-by: Jeremy Fitzhardinge Acked-by: Len Brown Signed-off-by: Ingo Molnar commit 1c14fa4937eb73509e07ac12bf8db1fdf4c42a59 Author: Jeremy Fitzhardinge Date: Sat Feb 7 15:39:38 2009 -0800 x86: use early_ioremap in __acpi_map_table __acpi_map_table() effectively reimplements early_ioremap(). Rather than have that duplication, just implement it in terms of early_ioremap(). However, unlike early_ioremap(), __acpi_map_table() just maintains a single mapping which gets replaced each call, and has no corresponding unmap function. Implement this by just removing the previous mapping each time its called. Unfortunately, this will leave a stray mapping at the end. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 2bc275e9b04f23708c495a8bfe92a5f4b65345c8 Author: Adrian Hunter Date: Thu Feb 5 13:08:11 2009 +0200 UBIFS: fix dbg_chk_lpt_sz() The debugging function dbg_chk_lpt_sz() was not working correctly for small min_io_unit size e.g. NOR flash. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit b91facc367366b3f71375f337eb5997ec9ab4e69 Author: Frederic Weisbecker Date: Fri Feb 6 18:30:44 2009 +0100 tracing/function-graph-tracer: handle the leaf functions from trace_pipe When one cats the trace file, the leaf functions are printed without brackets: function(); whereas in the trace_pipe file we'll see the following: function() { } This is because the ring_buffer handling is not the same between those two files. On the trace file, when an entry is printed, the iterator advanced and then we can check the next entry. There is no iterator with trace_pipe, the current entry to print has been peeked and not consumed. So checking the next entry will still return the current one while we don't consume it. This patch introduces a new value for the output callbacks to ask the tracing core to not consume the current entry after printing it. We need it because we will have to consume the current entry ourself to check the next one. Now the trace_pipe is able to handle well the leaf functions. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 90af9514ac99f51e81682c7bec8f9fb88a17a95c Author: Ian Campbell Date: Fri Feb 6 16:55:58 2009 -0800 xen: explicitly initialise the cpu field of irq_info I was seeing a very odd crash on 64 bit in bind_evtchn_to_cpu because cpu_from_irq(irq) was coming out as -1. I found this was coming direct from the mk_ipi_info call. It's not clear to me that this isn't a compiler bug (implicit initialisation to zero of unsigned shorts in a struct not handled correctly?). On the other hand is it true that all event channels start of bound to CPU 0? If not then -1 might be correct and the various other functions should cope with this. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 3445a8fd7c6868bd9db0d1bea7d6e89004552122 Author: Jeremy Fitzhardinge Date: Fri Feb 6 14:09:46 2009 -0800 xen: make sure that softirqs get handled at the end of event processing Make sure that irq_enter()/irq_exit() wrap the entire event processing loop, rather than each individual event invokation. This makes sure that softirq processing is deferred until the end of event processing, rather than in the middle with interrupts disabled. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit d77bbd4db475e2edc78edb7f94a258159c140b54 Author: Jeremy Fitzhardinge Date: Fri Feb 6 14:09:45 2009 -0800 xen: remove irq bindcount There should be no need for us to maintain our own bind count for irqs, since the surrounding irq system should keep track of shared irqs for us. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ced40d0f3e8833bb8d7d8e2cbfac7da0bf7008c4 Author: Jeremy Fitzhardinge Date: Fri Feb 6 14:09:44 2009 -0800 xen: pack all irq-related info together Put all irq info into one struct. Also, use a union to keep event channel type-specific information, rather than overloading the index field. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 792dc4f6cdacf50d3f2b93756d282fc04ee34bd5 Author: Jeremy Fitzhardinge Date: Fri Feb 6 14:09:43 2009 -0800 xen: use our own eventchannel->irq path Rather than overloading vectors for event channels, take full responsibility for mapping an event channel to irq directly. With this patch Xen has its own irq allocator. When the kernel gets an event channel upcall, it maps the event channel number to an irq and injects it into the normal interrupt path. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit eca217b36e5d7d4377493d5cedd89105e66a5a72 Merge: 54a353a... e4d0407... Author: Ingo Molnar Date: Mon Feb 9 12:16:59 2009 +0100 Merge branch 'x86/paravirt' into x86/apic Conflicts: arch/x86/mach-voyager/voyager_smp.c commit 54a353a0f845c1dad5fc8183872e750d667838ac Author: Jeremy Fitzhardinge Date: Fri Feb 6 14:09:42 2009 -0800 xen: set irq_chip disable By default, the irq_chip.disable operation is a no-op. Explicitly set it to disable the Xen event channel. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 7c1d7cdcef1b54f4a78892b6b99d19f12c4f398e Author: Jeremy Fitzhardinge Date: Fri Feb 6 14:09:41 2009 -0800 x86: unify do_IRQ() With the differences in interrupt handling hoisted into handle_irq(), do_IRQ is more or less identical between 32 and 64 bit, so unify it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 9b2b76a3344146c4d8d300874e73af8161204f87 Author: Jeremy Fitzhardinge Date: Fri Feb 6 14:09:40 2009 -0800 x86: add handle_irq() to allow interrupt injection Xen uses a different interrupt path, so introduce handle_irq() to allow interrupts to be inserted into the normal interrupt path. This is handled slightly differently on 32 and 64-bit. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 1dfba05d0f1a9b4245bb242a7c17fe448811a520 Author: Ingo Molnar Date: Mon Feb 9 12:06:54 2009 +0100 tracing/blktrace: move the tracing file to kernel/trace, fix Impact: build fix The BLK_DEV_IO_TRACE entry used to be in block/Kconfig - which file itself was dependent on CONFIG_BLOCK. But now the entry is in kernel/trace/Kconfig - which is present even on !CONFIG_BLOCK. So add a 'depends on BLOCK' to BLK_DEV_IO_TRACE. Signed-off-by: Ingo Molnar commit c47c1b1f3a9d6973108020df1dcab7604f7774dd Author: Ingo Molnar Date: Mon Feb 9 11:57:45 2009 +0100 x86, pgtable.h: fix 2-level 32-bit build - pmd_flags() needs to be available on 2-levels too - provide pud_large() wrapper as well - include page.h - it provides basic types relied on by pgtable.h Signed-off-by: Ingo Molnar commit e5f7f202f31fd05e9de7e1ba5a7b30de7855f5aa Author: Ingo Molnar Date: Mon Feb 9 11:42:57 2009 +0100 x86, pgtable.h: macro-ify *_page() methods The p?d_page() methods still rely on highlevel types and methods: In file included from arch/x86/kernel/early_printk.c:18: /home/mingo/tip/arch/x86/include/asm/pgtable.h: In function ‘pmd_page’: /home/mingo/tip/arch/x86/include/asm/pgtable.h:516: error: implicit declaration of function ‘__pfn_to_section’ /home/mingo/tip/arch/x86/include/asm/pgtable.h:516: error: initialization makes pointer from integer without a cast /home/mingo/tip/arch/x86/include/asm/pgtable.h:516: error: implicit declaration of function ‘__section_mem_map_addr’ /home/mingo/tip/arch/x86/include/asm/pgtable.h:516: error: return makes pointer from integer without a cast So convert them to macros and document the type dependency. Signed-off-by: Ingo Molnar commit 726c0d95b6bd06cb83efd36a76ccf03fa9a770f0 Author: Ingo Molnar Date: Mon Feb 9 11:32:17 2009 +0100 x86: early_printk.c - fix pgtable.h unification fallout arch/x86/kernel/early_printk.c: In function ‘early_dbgp_init’: arch/x86/kernel/early_printk.c:827: error: ‘PAGE_KERNEL_NOCACHE’ undeclared (first use in this function) arch/x86/kernel/early_printk.c:827: error: (Each undeclared identifier is reported only once arch/x86/kernel/early_printk.c:827: error: for each function it appears in.) Signed-off-by: Ingo Molnar commit 790c7ebbe9dc3ec428a5e982af492a14dd1b565f Merge: d5b5623... fb08b20... Author: Ingo Molnar Date: Mon Feb 9 11:19:29 2009 +0100 Merge branch 'jsgf/x86/unify' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/headers commit b5db03c4355e568f1567758287b30a6a262d5057 Author: Arnaldo Carvalho de Melo Date: Sat Feb 7 18:52:59 2009 -0200 tracing: handle unregistering the current tracer Impact: simplification Instead of requiring that plugins have the sequence: my_tracer_stop(my_trace_array); unregister_tracer(my_tracer); it should be possible just do a: unregister_tracer(my_tracer); Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 3861a17bcc0af815f684c6178bc9ec2d790c350e Author: Frederic Weisbecker Date: Sun Feb 8 00:04:02 2009 +0100 tracing/function-graph-tracer: drop the kernel_text_address check When the function graph tracer picks a return address, it ensures this address is really a kernel text one by calling __kernel_text_address() Actually this path has never been taken.Its role was more likely to debug the tracer on the beginning of its development but this function is wasteful since it is called for every traced function. The fault check is already sufficient. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 1292211058aaf872eeb2a0e2677d237916b4501f Author: Frederic Weisbecker Date: Sat Feb 7 22:16:12 2009 +0100 tracing/power: move the power trace headers to a dedicated file Impact: cleanup Move the power tracer headers to trace/power.h to keep ftrace.h and power bits more easy to maintain as separated topics. Signed-off-by: Frederic Weisbecker Cc: Arjan van de Ven Signed-off-by: Ingo Molnar commit 7447dce96f2233d250bc39a4a10a42f7c3dd46fc Author: Frederic Weisbecker Date: Sat Feb 7 21:33:57 2009 +0100 tracing/function-graph-tracer: provide a selftest for the function graph tracer Making it more easy to do a basic regression test for this tracer. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 2db270a80b8f2238e536876cfb3987af02684df8 Author: Frederic Weisbecker Date: Sat Feb 7 20:46:45 2009 +0100 tracing/blktrace: move the tracing file to kernel/trace Impact: cleanup Move blktrace.c to kernel/trace, also move its config entry. Signed-off-by: Frederic Weisbecker Acked-by: Arnaldo Carvalho de Melo Acked-by: Jens Axboe Signed-off-by: Ingo Molnar commit 44b0635481437140b0e29d6023f05e805d5e7620 Merge: 4ad476e... 57794a9... Author: Ingo Molnar Date: Mon Feb 9 10:35:12 2009 +0100 Merge branch 'tip/tracing/core/devel' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace Conflicts: kernel/trace/trace_hw_branches.c commit 4ad476e11f94fd3724c6e272d8220e99cd222b27 Merge: 304cc6a... 8e49215... Author: Ingo Molnar Date: Mon Feb 9 10:32:48 2009 +0100 Merge commit 'v2.6.29-rc4' into tracing/core commit 44581a28e805a31661469c4b466b9cd14b36e7b6 Author: Brian Gerst Date: Sun Feb 8 09:58:40 2009 -0500 x86: fix abuse of per_cpu_offset Impact: bug fix Don't use per_cpu_offset() to determine if it valid to access a per-cpu variable for a given cpu number. It is not a valid assumption on x86-64 anymore. Use cpu_possible() instead. Signed-off-by: Brian Gerst Signed-off-by: Ingo Molnar commit 2add8e235cbe0dcd672c33fc322754e15500238c Author: Brian Gerst Date: Sun Feb 8 09:58:39 2009 -0500 x86: use linker to offset symbols by __per_cpu_load Impact: cleanup and bug fix Use the linker to create symbols for certain per-cpu variables that are offset by __per_cpu_load. This allows the removal of the runtime fixup of the GDT pointer, which fixes a bug with resume reported by Jiri Slaby. Reported-by: Jiri Slaby Signed-off-by: Brian Gerst Acked-by: Jiri Slaby Signed-off-by: Ingo Molnar commit d3770449d3cb058b94ca1d050d5ced4a66c75ce4 Author: Brian Gerst Date: Sun Feb 8 09:58:38 2009 -0500 percpu: make PER_CPU_BASE_SECTION overridable by arches Impact: bug fix IA-64 needs to put percpu data in the seperate section even on UP. Fixes regression caused by "percpu: refactor percpu.h" Signed-off-by: Brian Gerst Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit 548c8933801c9ee347b6f1bad2491e4286a4f3a2 Author: Hannes Eder Date: Sun Feb 8 20:24:47 2009 +0100 kernel/irq: fix sparse warning: make symbol static While being at it make every occurrence of 'do_irq_select_affinity' have the same signature in terms of signedness of the first argument. Fix this sparse warning: kernel/irq/manage.c:112:5: warning: symbol 'do_irq_select_affinity' was not declared. Should it be static? Also rename do_irq_select_affinity() to setup_affinity() - shorter name and clearer naming. Signed-off-by: Hannes Eder Acked-by: Matthew Wilcox Signed-off-by: Ingo Molnar commit 2c344e9d6e1938fdf15e93c56d6fe42f8410e9d3 Author: Arjan van de Ven Date: Sat Feb 7 12:23:37 2009 -0800 x86: don't pretend that non-framepointer stack traces are reliable Without frame pointers enabled, the x86 stack traces should not pretend to be reliable; instead they should just be what they are: unreliable. The effect of this is that they have a '?' printed in the stacktrace, to warn the reader that these entries are guesses rather than known based on more reliable information. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit cc6c50066ec1ac98bef97117e2f078bb89bbccc7 Author: Yinghai Lu Date: Sun Feb 8 16:18:03 2009 -0800 x86: find nr_irqs_gsi with mp_ioapic_routing Impact: find right nr_irqs_gsi on some systems. One test-system has gap between gsi's: [ 0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0]) [ 0.000000] IOAPIC[0]: apic_id 4, version 0, address 0xfec00000, GSI 0-23 [ 0.000000] ACPI: IOAPIC (id[0x05] address[0xfeafd000] gsi_base[48]) [ 0.000000] IOAPIC[1]: apic_id 5, version 0, address 0xfeafd000, GSI 48-54 [ 0.000000] ACPI: IOAPIC (id[0x06] address[0xfeafc000] gsi_base[56]) [ 0.000000] IOAPIC[2]: apic_id 6, version 0, address 0xfeafc000, GSI 56-62 ... [ 0.000000] nr_irqs_gsi: 38 So nr_irqs_gsi is not right. some irq for MSI will overwrite with io_apic. need to get that with acpi_probe_gsi when acpi io_apic is used Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f72dccace737df74d04a96461785a3ad61724b9f Author: Yinghai Lu Date: Sun Feb 8 16:18:03 2009 -0800 x86: check_timer cleanup Impact: make check-timer more robust potentially solve boot fragility For edge trigger io-apic routing, we already unmasked the pin via setup_IO_APIC_irq(), so don't unmask it again. Also call local_irq_disable() between timer_irq_works(), because it calls local_irq_enable() inside. Also remove not needed apic version reading for 64-bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit abcaa2b8319a7673e76c2391cb5de3045ab1b401 Author: Yinghai Lu Date: Sun Feb 8 16:18:03 2009 -0800 x86: use NR_IRQS_LEGACY to replace 16 Impact: cleanup also could kill platform_legacy_irq Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit f1ee5548a6507d2b4293635c61ddbf12e2c00e94 Author: Yinghai Lu Date: Sun Feb 8 16:18:03 2009 -0800 x86/irq: optimize nr_irqs Impact: make nr_irqs depend more on cards used in a system depend on nr_irq_gsi more, and have a ratio for MSI. v2: make nr_irqs less than NR_VECTORS * nr_cpu_ids aka if only one cpu, we only can support nr_irqs = NR_VECTORS Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 005bf0e6fa0e9543933fe2e36322af649df7cacb Author: Yinghai Lu Date: Sun Feb 8 16:18:03 2009 -0800 irq: optimize init_kstat_irqs/init_copy_kstat_irqs Simplify and make init_kstat_irqs etc more type proof, suggested by Andrew. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0f3c2a89c1451cdf6328f99977bd9decd4f708e1 Author: Yinghai Lu Date: Sun Feb 8 16:18:03 2009 -0800 irq: clear kstat_irqs Impact: get correct kstat_irqs [/proc/interrupts] for msi/msi-x etc need to call clear_kstat_irqs(), so when we reuse that irq_desc, we get correct kstat in /proc/interrupts. This makes /proc/interrupts not have entries. Don't need to worry about arch that doesn't support genirq, because they will not call dynamic_irq_cleanup(). v2: simplify and make clear_kstat_irqs more robust Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit fcafb71b57a039f2113b0321b3b5535fea3a0aca Author: Christoph Hellwig Date: Mon Feb 9 08:47:34 2009 +0100 xfs: get rid of indirections in the quotaops implementation Currently we call from the nicely abstracted linux quotaops into a ugly multiplexer just to split the calls out at the same boundary again. Rewrite the quota ops handling to remove that obfucation. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit c9a192dcf906a33f59c555924e7796a4b9454217 Author: Christoph Hellwig Date: Mon Feb 9 08:47:22 2009 +0100 xfs: sanitize qh_lock wrappers Get rid of various obsfucating wrappers for accessing the quota hash lock, we only keep the accessors for accessing the mplist and freelist locks as they encode a multi-level datastructure walk. But make sure all of them are defined in the same way as simple macros. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 7201813bf55cc06e6a7405831f63df96ee7842e7 Author: Christoph Hellwig Date: Mon Feb 9 08:39:24 2009 +0100 xfs: use mutex_is_locked in XFS_DQ_IS_LOCKED Now that we have a helper to test if a mutex is held use it instead of our own little hacks. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit e249458220c9799fe94573abd341d29c83579671 Author: Christoph Hellwig Date: Mon Feb 9 08:38:39 2009 +0100 xfs: remove XFS_QM_LOCK/XFS_QM_UNLOCK/XFS_QM_HOLD/XFS_QM_RELE Remove these macros which only obsfucated the code in rather nast ways. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 517b5e8c8516a25a0df3b530fd183eb493a96698 Author: Christoph Hellwig Date: Mon Feb 9 08:38:02 2009 +0100 xfs: merge xfs_mkdir into xfs_create xfs_create and xfs_mkdir only have minor differences, so merge both of them into a sigle function. While we're at it also make the error handling code more straight-forward. Signed-off-by: Christoph Hellwig Dave Chinner commit a568778739030fb68805dda1af2f4ebbc3adad7d Author: Christoph Hellwig Date: Mon Feb 9 08:37:39 2009 +0100 xfs: remove uchar_t/ushort_t/uint_t/ulong_t types Just another set of types obsfucating the code, remove them. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 0d87e656dd961145f47ede5e37eceecfdc7d8197 Author: Christoph Hellwig Date: Mon Feb 9 08:37:14 2009 +0100 xfs: remove superflous inobt macros xfs_ialloc_btree.h has a a cuple of macros that only obsfucate the code but don't provide any abstraction benefits. This patches removes those and cleans up the reamaining defintions up a little. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 7153f8ba2b18f18f661d5cb172782bcae2eadce9 Author: Christoph Hellwig Date: Mon Feb 9 08:36:46 2009 +0100 xfs: remove iclog calculation special cases Our default has been to always use 8 32KB log buffers for a while now, so remove the special casing for larger block size filesystem to use the same or even lower number of buffers. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 23c7b521c250b261dd97a7a06d5a2e74b56233d5 Author: Herton Ronaldo Krzesinski Date: Sun Feb 8 19:51:28 2009 -0200 ALSA: hda - Don't touch non-existent port f on 4-port 92hd71bxx codecs When checking for input amps on pins 0x0a, 0x0d and 0x0f, and initializing them for 92hd71xxx codec models, we must skip nid 0x0f for 4-port models too like with 5-port models, as it is unused (nid 0x0f is vendor reserved in 4-port models). Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 8663ae55f39e99c25242adb6242a191258a4eca1 Author: Herton Ronaldo Krzesinski Date: Sun Feb 8 19:50:34 2009 -0200 ALSA: hda - Bind new ecs mobo id (1019:2950) to model=ecs202 This adds a new sound quirk entry (model=ecs202) for an ecs motherboard with IDT STAC9221 codec (1019:2950). Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit aa6320d336971171df1d13c1c284facf10804881 Author: Herbert Xu Date: Sun Feb 8 18:00:40 2009 +0000 gro: Optimise TCP packet reception gro: Optimise TCP packet reception As this function can be called more than half a million times for 10GbE, it's important to optimise it as much as we can. This patch uses bit ops to logical ops, as well as open coding memcmp to exploit alignment properties. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a5ad24be728d4352b71a81fba471aa41eb71f83a Author: Herbert Xu Date: Sun Feb 8 18:00:39 2009 +0000 gro: Optimise IPv4 packet reception As this function can be called more than half a million times for 10GbE, it's important to optimise it as much as we can. This patch does some obvious changes to use 2-byte and 4-byte operations instead of byte-oriented ones where possible. Bit ops are also used to replace logical ops to reduce branching. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit aa4b9f533ed5a22952e038b9fac2447ccc682124 Author: Herbert Xu Date: Sun Feb 8 18:00:37 2009 +0000 gro: Optimise Ethernet header comparison This patch optimises the Ethernet header comparison to use 2-byte and 4-byte xors instead of memcmp. In order to facilitate this, the actual comparison is now carried out by the callers of the shared dev_gro_receive function. This has a significant impact when receiving 1500B packets through 10GbE. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4ae5544f9a33e4ae306e337f96951eb3ff2df6d9 Author: Herbert Xu Date: Sun Feb 8 18:00:36 2009 +0000 gro: Remember number of held packets instead of counting every time This patch prepares for the move of the same_flow checks out of dev_gro_receive. As such we need to remember the number of held packets since doing a loop just to count them every time is silly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d6301d3dd1c287b32132dda15272a50c11e92a14 Author: David S. Miller Date: Sun Feb 8 19:24:13 2009 -0800 net: Increase default NET_SKB_PAD to 32. Several devices need to insert some "pre headers" in front of the main packet data when they transmit a packet. Currently we allocate only 16 bytes of pad room and this ends up not being enough for some types of hardware (NIU, usb-net, s390 qeth, etc.) So increase this to 32. Note that drivers still need to check in their transmit routine whether enough headroom exists, and if not use skb_realloc_headroom(). Tunneling, IPSEC, and other encapsulation methods can cause the padding area to be used up. Signed-off-by: David S. Miller commit 8e9b6e7fa4544ea8a0e030c8987b918509c8ff47 Author: Christoph Hellwig Date: Sun Feb 8 21:51:42 2009 +0100 xfs: remove the unused XFS_QMOPT_DQLOCK flag The XFS_QMOPT_DQLOCK flag introduces major complexity in the quota subsystem but isn't actually used anywhere. So remove it and all the hazzles it introduces. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit 4346cdd4647e5eef15817dbfc2c091cac55e33d9 Author: Christoph Hellwig Date: Sun Feb 8 21:51:14 2009 +0100 xfs: cleanup xfs_find_handle Remove the superflous igrab by keeping a reference on the path/file all the time and clean up various bits of surrounding code. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit 44dd2b9168350b82a671ce71666b99208ab2d973 Author: Philipp Zabel Date: Thu Feb 5 17:48:21 2009 +0100 ASoC: pxa2xx-i2s: remove I2S pin setup This removes the calls to pxa_gpio_mode from the pxa2xx-i2s driver. Pin setup should be done during board init via pxa2xx_mfp_config instead. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Mark Brown commit 772885c1dc42f1992ac4fc937f1ed4ae9d42a31e Author: Philipp Zabel Date: Thu Feb 5 17:48:20 2009 +0100 pxa/spitz: Setup I2S pins for pxa2xx-i2s The spitz has a WM8750 codec connected as I2S slave but doesn't use the PXA I2S system clock. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Mark Brown commit 4e7f78f815412fd25b207b8c63a698b637c9621d Author: Philipp Zabel Date: Thu Feb 5 17:48:19 2009 +0100 pxa/h5000: Setup I2S pins for pxa2xx-i2s The iPAQ h5000 has an AK4535 codec connected as I2S slave, PXA I2S providing SYSCLK. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Mark Brown commit 67137a5d46d5a7c4cbdc66f03d1e2f397fe14b2b Author: Roel Kluin Date: Sun Feb 8 18:17:37 2009 +0100 ASoC: count reaches 10001, not 10000. With a postfix increment count reaches 10001, not 10000. Signed-off-by: Mark Brown commit 8f0dc655f9efa3fc81b8cdaf5aa1f2779f8db46d Author: Robert Jarzmik Date: Sat Feb 7 14:01:58 2009 +0100 ASoC: Add initial support of Mitac mioa701 device SoC. This machine driver enables sound functions on Mitac mio a701 smartphone. Build upon ASoC v1, it handles : - rear speaker - front speaker - microphone - GSM A global "Mio Mode" switch is not yet provided to cope with audio path setup. As balance on audio chip line is no more assured, an incorrect setup can produce a lot of heat and even fry the battery behind the wm9713 and the speaker amplifier. It doesn't cope with : - headset jack - mio master mode - master volume control This driver is backported from ASoc v2, and amputated from scenario setups and master volume control. [Minor mods for terminology in comments -- broonie] Signed-off-by: Robert Jarzmik Signed-off-by: Mark Brown commit 5ba1ae92b6796b3367152ccd9baa022dde7eed4c Merge: ae1a25d... 2d68259... 42bb8cc... 6626bff... ff08f76... Author: Ingo Molnar Date: Sun Feb 8 20:14:11 2009 +0100 Merge branches 'timers/clockevents', 'timers/hpet', 'timers/hrtimers' and 'timers/urgent' into timers/core commit 140573d33b703194b7e1893711e78b7f546cca7c Merge: 34cb613... ceacc2c... 483b4ee... Author: Ingo Molnar Date: Sun Feb 8 20:12:46 2009 +0100 Merge branches 'sched/rt' and 'sched/urgent' into sched/core commit 883992bd8f6924c9aa849f2dac381075e2e55a9d Author: Paul Walmsley Date: Wed Jan 28 12:35:31 2009 -0700 [ARM] OMAP2/3 clock: don't tinker with hardirqs when they are supposed to be disabled Clock rate change code executes inside a spinlock with hardirqs disabled. The only code that should be messing around with the hardirq state should be the plat-omap/clock.c code. In the omap2_reprogram_dpllcore() case, this probably just wastes cycles, but in the omap3_core_dpll_m2_set_rate() case, this is a nasty bug. linux-omap source commit is b9b6208dadb5e0d8b290900a3ffa911673ca97ed. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 8263e5b31eae2bbf689ff08a7da334329c9f353b Author: Russell King Date: Sat Jan 31 11:02:37 2009 +0000 [ARM] omap: fix clockdomain enable/disable ordering Based on a patch from Paul Walmsley : omap2_clk_enable() should enable a clock's clockdomain before attempting to enable its parent clock's clockdomain. Similarly, in the unlikely event that the parent clock enable fails, the clockdomain should be disabled. linux-omap source commit is 6d6e285e5a7912b1ea68fadac387304c914aaba8. Signed-off-by: Russell King commit a7f8c599c570fc0e2396e8fdccaeeeaefc41dac8 Author: Russell King Date: Sat Jan 31 11:00:17 2009 +0000 [ARM] omap: fix usecount decrement bug Based upon a patch from Paul Walmsley : If _omap2_clk_enable() fails, the clock's usecount must be decremented by one no matter whether the clock has a parent or not. but reorganised a bit. Signed-off-by: Russell King commit be5f34b77355b9b1720a88390e51441ef578720b Author: Paul Walmsley Date: Wed Jan 28 12:35:09 2009 -0700 [ARM] OMAP clock: drop clk_get_usecount() This function is race-prone and mistakenly conveys the impression to drivers that it is part of the clock interface. Get rid of it: core code that absolutely needs this can just check clk->usecount. Drivers should not use it at all. linux-omap source commit is 5df9e4adc2f6a6d55aca53ee27b8baad18897c05. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit f11fda6a9173e8e6b152ba5cb26fa20095a4c60f Author: Paul Walmsley Date: Wed Jan 28 12:35:06 2009 -0700 [ARM] OMAP2/3 clock: convert remaining MPU barriers into OCP barriers Several parts of the OMAP2/3 clock code use wmb() to try to ensure that the hardware write completes before continuing. This approach is problematic: wmb() only ensures that the write leaves the ARM. It does not ensure that the write actually reaches the endpoint device. The endpoint device in this case - either the PRM, CM, or SCM - is three interconnects away from the ARM - and the final interconnect is low-speed. And the OCP interconnects will post the write, and who knows how long that will take to complete. So the wmb() is not what we want. Worse, the wmb() is indiscriminate; it causes the ARM to flush any other unrelated buffered writes and wait for the local interconnect to acknowledge them - potentially very expensive. Fix this by converting the wmb()s into readbacks of the same PRM/CM/SCM register. Since the PRM/CM/SCM devices use a single OCP thread, this will cause the MPU to block while waiting for posted writes to that device to complete. linux-omap source commit is 260f5487848681b4d8ea7430a709a601bbcb21d1. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 439764cc18beb20ef409991e75e29b460db71d33 Author: Paul Walmsley Date: Wed Jan 28 12:35:03 2009 -0700 [ARM] OMAP2xxx clock: consolidate DELAYED_APP clock commits; fix barrier Consolidate the commit code for DELAYED_APP clocks into a subroutine, _omap2xxx_clk_commit(). Also convert the MPU barrier wmb() into an OCP barrier, since with an MPU barrier, we have no guarantee that the write actually reached the endpoint device. linux-omap source commit is 0f5bdb736515801b296125d16937a21ff7b3cfdc. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit de07fedd79999668c4c112a2ba3eaf3d7434235c Author: Paul Walmsley Date: Wed Jan 28 12:35:01 2009 -0700 [ARM] OMAP2/3 clock: don't use a barrier after clk_disable() clk_disable() previously used an ARM barrier, wmb(), to try to ensure that the hardware write completed before continuing. There are some problems with this approach. The first problem is that wmb() only ensures that the write leaves the ARM -- not that it actually reaches the endpoint device. In this case, the endpoint device - either the PRM, CM, or SCM - is three interconnects away from the ARM, and the final interconnect is low-speed. And the OCP interconnects will post the write, who knows how long that will take to complete. So the wmb() is not really what we want. Worse, the wmb() is indiscriminate; it will cause the ARM to flush any other unrelated buffered writes and wait for the local interconnect to acknowledge them - potentially very expensive. This first problem could be fixed by doing a readback of the same PRM/CM/SCM register. Since these devices use a single OCP thread, this will cause the MPU to wait for the write to complete. But the primary problem is a conceptual one: clk_disable() should not need any kind of barrier. clk_enable() needs one since device driver code must not access a device until its clocks are known to be enabled. But clk_disable() has no such restriction. Since blocking the MPU on a PRM/CM/SCM write can be a very high-latency operation - several hundred MPU cycles - it's worth avoiding this barrier if possible. linux-omap source commit is f4aacad2c0ed1055622d5c1e910befece24ef0e2. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 Author: Russell King Date: Sat Jan 31 10:05:51 2009 +0000 [ARM] omap: create a proper tree of clocks Traditionally, we've tracked the parent/child relationships between clk structures by setting the child's parent member to point at the upstream clock. As a result, when decending the tree, we have had to scan all clocks to find the children. Avoid this wasteful scanning by keeping a list of the clock's children. Signed-off-by: Russell King commit b5088c0d90b898802318c62caf2320a53df6ce57 Author: Russell King Date: Thu Jan 29 19:33:19 2009 +0000 [ARM] omap: clks: call recalc after any rate change This implements the remainder of: OMAP clock: move rate recalc, propagation code up to plat-omap/clock.c from Paul Walmsley which is not covered by the previous: [ARM] omap: move clock propagation into core omap clock code [ARM] omap: remove unnecessary calls to propagate_rate() [ARM] omap: move propagate_rate() calls into generic omap clock code commits. Signed-off-by: Russell King commit 7b0f89d7bba946345fd597110388da5a913e9744 Author: Paul Walmsley Date: Wed Jan 28 12:27:48 2009 -0700 [ARM] OMAP2/3 clock: use standard set_rate fn in omap2_clk_arch_init() Use the standard clk_set_rate() function in omap2_clk_arch_init() rather than omap2_select_table_rate() -- this will ensure that clock rates are recalculated and propagated correctly after those operations are consolidated into clk_set_rate(). linux-omap source commit is 03c03330017eeb445b01957608ff5db49a7151b6. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 8463e20a58e8b8c88fab948b8610504cbf604294 Author: Tero Kristo Date: Wed Jan 28 12:27:45 2009 -0700 [ARM] OMAP3: PM: Make sure clk_disable_unused() order is correct Current implementation will disable clocks in the order defined in clock34xx.h, at least DPLL4_M2X2 will hang in certain cases (and prevent retention / off) if clocks are not disabled in correct order. This patch makes sure the parent clocks will be active when disabling a clock. linux-omap source commit is 672680063420ef8c8c4e7271984bb9cc08171d29. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit 0eafd4725cf5d828e76e474b8991a228bbdd3f2b Author: Paul Walmsley Date: Wed Jan 28 12:27:42 2009 -0700 [ARM] OMAP3 clock: add omap3_core_dpll_m2_set_rate() Add the omap3_core_dpll_m2_set_rate() function to the OMAP3 clock code, which calls into the SRAM function omap3_sram_configure_core_dpll() to change the CORE DPLL M2 divider. (SRAM code is necessary since rate changes on clocks upstream from the SDRC can glitch SDRAM accesses.) Use this function for the set_rate function pointer in the dpll3_m2_ck struct clk. With this function in place, PM/OPP code should be able to alter SDRAM speed via code similar to: clk_set_rate(&dpll3_m2_ck, target_rate). linux-omap source commit is 7f8b2b0f4fe52238c67d79dedcd2794dcef4dddd. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 87246b7567f7d1951bfcea29875523ef435c0ebf Author: Paul Walmsley Date: Wed Jan 28 12:27:39 2009 -0700 [ARM] OMAP2 SDRC: add SDRAM timing parameter infrastructure For a given SDRAM clock rate, SDRAM chips require memory controllers to use a specific set of timing minimums and maximums to transfer data reliably. These parameters can be different for different memory chips and can also potentially vary by board. This patch adds the infrastructure for board-*.c files to pass this timing data to the SDRAM controller init function. The timing data is specified in an 'omap_sdrc_params' structure, in terms of SDRC controller register values. An array of these structs, one per SDRC target clock rate, is passed by the board-*.c file to omap2_init_common_hw(). This patch does not define the values for different memory chips, nor does it use the values for anything; those will come in subsequent patches. linux-omap source commit is bc84ecfc795c2d1c5cda8da4127cf972f488a696. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit f2ab99778a1a04ddbae38f4de4ef40f2edb92080 Author: Paul Walmsley Date: Wed Jan 28 12:27:37 2009 -0700 [ARM] OMAP2 SDRC: separate common OMAP2/3 code from OMAP2xxx code Separate SDRC code common to OMAP2/3 from mach-omap2/sdrc2xxx.c to mach-omap2/sdrc.c. Rename the OMAP2xxx-specific functions to use an 'omap2xxx' prefix rather than an 'omap2' prefix, and use "sdrc" in the function names rather than "memory." Mark several functions as static that should not be used outside the sdrc2xxx.c file. linux-omap source commit is bf1612b9d8d29379558500cd5de9ae0367c41fc4. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 96609ef4009515f0667a52b7776c21418df19bd8 Author: Paul Walmsley Date: Wed Jan 28 12:27:34 2009 -0700 [ARM] OMAP2 SDRC: rename memory.c to sdrc2xxx.c Rename arch/arm/mach-omap2/memory.c to arch/arm/mach-omap2/sdrc2xxx.c, since it contains exclusively SDRAM-related functions. Most of the functions are also OMAP2xxx-specific - those which are common will be separated out in a following patch. linux-omap source commit is fe212f797e2efef9dc88bcb5db7cf9db3f9f562e. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit f8de9b2c45c4506702da4bd3a5bc7630754077f9 Author: Paul Walmsley Date: Wed Jan 28 12:27:31 2009 -0700 [ARM] OMAP2 SDRC: move mach-omap2/memory.h into mach/sdrc.h Move the contents of the arch/arm/mach-omap2/memory.h file to the existing mach/sdrc.h file, and remove memory.h. Modify files which include memory.h to include asm/arch/sdrc.h instead. linux-omap source commit is e7ae2d89921372fc4b9712a32cc401d645597807. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit fed415e48f07799b278cd4353385fee1464d4aca Author: Tony Lindgren Date: Wed Jan 28 12:18:48 2009 -0700 [ARM] omap: Fix omap1 clock issues This fixes booting, and is a step toward fixing things properly: - Make enable_reg u32 instead of u16 [rmk: virtual addresses are void __iomem *, not u32] - Get rid of VIRTUAL_IO_ADDRESS for clocks - Use __raw_read/write instead of omap_read/write for clock registers This patch adds a bunch of compile warnings until omap1 clock also uses offsets. linux-omap source commit is 9d1dff8638c9e96a401e1885f9948662e9ff9636. Signed-off-by: Tony Lindgren Signed-off-by: Paul Walmsley Signed-off-by: Russell King commit da0747d4faf55320f0f6cbcd8525e2a8e4619925 Author: Paul Walmsley Date: Wed Jan 28 12:18:22 2009 -0700 [ARM] OMAP2 PRCM: clean up CM_IDLEST bits This patch fixes a few OMAP2xxx CM_IDLEST bits that were incorrectly marked as being OMAP2xxx-wide, when they were actually 2420-specific. Also, originally when the PRCM register macros were defined, bit shift macros used a "_SHIFT" suffix, and mask macros used none. This became a source of bugs and confusion, as the mask macros were mistakenly used for shift values. Gradually, the mask macros have been updated, piece by piece, to add a "_MASK" suffix on the end to clarify. This patch applies this change to the CM_IDLEST_* register bits. The patch also adds a few bits that were missing, mostly from the 3430ES1 to ES2 revisions. linux-omap source commits are d18eff5b5fa15e170794397a6a94486d1f774f77, e1f1a5cc24615fb790cc763c96d1c5cfe6296f5b, and part of 9fe6b6cf8d9e0cbb429fd64553a4b3160a9e99e1 Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 027d8ded5d1c142eb120caff7a395c0637467ac9 Author: Jouni Hogander Date: Fri May 16 13:58:18 2008 +0300 [ARM] OMAP34XX: Add miscellaneous definitions related to 34xx Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit ee1eec36345871955730e36232937c9d814a6e20 Author: Paul Walmsley Date: Wed Jan 28 12:18:19 2009 -0700 [ARM] OMAP2/3 clock: clean up mach-omap2/clock.c This patch rolls up several cleanup patches. 1. Some unnecessarily verbose variable names are used in several clock.c functions; clean these up per CodingStyle. 2. Remove omap2_get_clksel() and just use clk->clksel_reg and clk->clksel_mask directly. 3. Get rid of void __iomem * usage in omap2_clksel_get_src_field. Prepend the function name with an underscore to highlight that it is a static function. linux-omap source commits are 7fa95e007ea2f3c4d0ecd2779d809756e7775894, af0ea23f1ee4a5bea3b026e38761b47089f9048a, and 91c0c979b47c44b08f80e4f8d4c990fb158d82c4. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 416db864c18343c6dcc5e9768c902460c8f8777c Author: Paul Walmsley Date: Wed Jan 28 12:08:46 2009 -0700 [ARM] OMAP3 clock: disable DPLL autoidle while waiting for DPLL to lock During _omap3_noncore_dpll_lock(), if a DPLL has no active downstream clocks and DPLL autoidle is enabled, the DPLL may never lock, since it will enter autoidle immediately. To resolve this, disable DPLL autoidle while locking the DPLL, and unconditionally wait for the DPLL to lock. This fixes some bugs where the kernel would hang when returning from retention or return the wrong rate for the DPLL. This patch is a collaboration with Peter de Schrijver and Kevin Hilman . linux-omap source commit is 3b7de4be879f1f4f55ae59882a5cbd80f6dcf0f0. Signed-off-by: Paul Walmsley Cc: Peter de Schrijver Cc: Kevin Hilman Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 95f538ac370d9625457ba00ef7c3bb91e2b92f89 Author: Paul Walmsley Date: Wed Jan 28 12:08:44 2009 -0700 [ARM] OMAP3 clock: avoid invalid FREQSEL values during DPLL rate rounding The DPLL FREQSEL jitter correction bits are set based on a table in the 34xx TRM, Table 4-38, according to the DPLL's internal clock frequency "Fint." Several Fint frequency ranges are missing from this table. Previously, we allowed these Fint frequency ranges to be selected in the rate rounding code, but did not change the FREQSEL bits. Correspondence with the OMAP hardware team indicates that Fint values not in the table should not be used. So, prevent them from being selected during DPLL rate rounding. This removes warnings and also can prevent the chip from locking up. The first pass through the rate rounding code will update the DPLL max and min dividers appropriately, so later rate rounding passes will run faster than the first. Peter de Schrijver put up with several test cycles of this patch - thanks Peter. linux-omap source commit is f9c1b82f55b60fc39eaa6e7aa1fbe380c0ffe2e9. Signed-off-by: Paul Walmsley Cc: Peter de Schrijver Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 85a5f78d2b15a2e73b6486a24b77bb3ab67d5bbc Author: Paul Walmsley Date: Wed Jan 28 12:08:41 2009 -0700 [ARM] OMAP3 clock: optimize DPLL rate rounding algorithm The previous DPLL rate rounding algorithm counted the divider (N) down from the maximum to 1. Since we currently use a broad DPLL rate tolerance, and lower N values are more power-efficient, we can often bypass several iterations through the loop by counting N upwards from 1. Peter de Schrijver put up with several test cycles of this patch - thanks Peter. linux-omap source commit is 6f6d82bb2f80fa20a841ac3e95a6f44a5a156188. Signed-off-by: Paul Walmsley Cc: Peter de Schrijver Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit b32450409847dddf060a468707212d3493df4f63 Author: Paul Walmsley Date: Wed Jan 28 12:08:38 2009 -0700 [ARM] OMAP3 clock: remove unnecessary dpll_data dereferences Remove some clutter from omap2_dpll_round_rate(). linux-omap source commit is 4625dceb8583c02a6d67ededc9f6a8347b6b8cb7. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit c1bd7aaf678a7e35086520e284d5b44bc69b6599 Author: Paul Walmsley Date: Wed Jan 28 12:08:17 2009 -0700 [ARM] OMAP3 clock: convert dpll_data.idlest_bit to idlest_mask Convert struct dpll_data.idlest_bit field to idlest_mask. Needed since OMAP2 uses two bits for DPLL IDLEST rather than one. While here, add the missing idlest_* fields for DPLL3. linux-omap source commits are 25bab0f176b0a97be18a1b38153f266c3a155784 and b0f7fd17db2aaf8e6e9a2732ae3f4de0874db01c. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit b8168d1e3989bc141da6bba87ad49e218ff04658 Author: Paul Walmsley Date: Wed Jan 28 12:08:14 2009 -0700 [ARM] OMAP3 clock: DPLL{1,2}_FCLK clksel can divide by 4 OMAP34xx ES2 TRM Delta G to H states that the divider for DPLL1_FCLK and DPLL2_FCLK can divide by 4 in addition to dividing by 1 and 2. Encode this into the OMAP3 clock framework. linux-omap source commit is 050684c18f2ea0b08fdd5233a0cd3c7f96e00a0e. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit f0587b63c24e0c7539c6e77f1bfc68e6053608c7 Author: Paul Walmsley Date: Wed Jan 28 12:08:11 2009 -0700 [ARM] OMAP3 clock: fix DPLL jitter correction and rate programming Fix DPLL jitter correction programming. Previously, omap3_noncore_dpll_program() stored the FREQSEL jitter correction parameter to the wrong register. This caused jitter correction to be set incorrectly and also caused the DPLL divider to be programmed incorrectly. Also, fix DPLL divider programming. An off-by-one error existed in omap3_noncore_dpll_program(), causing DPLLs to be programmed with a higher divider than intended. linux-omap source commit is 5c0ec88a2145cdf2f2c9cc5fae49635c4c2476c7. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit f266950d0234599cc6d4a5602e43d0fb782de1d2 Author: Jouni Hogander Date: Tue Jan 27 19:44:38 2009 -0700 [ARM] OMAP3: PM: Emu_pwrdm is switched off by hardware even when sdti is in use Using sdti doesn't keep emu_pwrdm on if hardware supervised pwrdm transitions are used. This causes sdti stop to work when power management is initialized and hardware supervised pwrdm control is enabled. This patch disables hardware supervised pwrdm control for emu_pwrdm. Now emu_pwrdm is switched off on boot by software when it is not used. Signed-off-by: Jouni Hogander Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit d96df00d6dfd2482fb23ef7aabcaa36e6dce4d1c Author: Paul Walmsley Date: Tue Jan 27 19:44:35 2009 -0700 [ARM] OMAP2/3 clockdomains: autodeps should respect platform flags Fix the clockdomain autodep code to respect omap_chip platform flags. Resolves "Unable to handle kernel paging request at virtual address 5f75706d" panic during power management initialization on OMAP2. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 054ce503ae335dbc8610ef5aa0852c0c090023fe Author: Tomi Valkeinen Date: Tue Jan 27 19:44:31 2009 -0700 [ARM] OMAP: wait for pwrdm transition after clk_enable() Enabling clock in a disabled power domain causes the power domain to be turned on. However, the power transition is not always finished when clk_enable() returns and this randomly crashes the kernel when an interrupt happens right after the clk_enable, and the kernel tries to read the irq status register for that domain. Why the irq status register is inaccessible, I don't know. Also it doesn't seem to be related to the module being not powered up, but to the transition itself. The same could perhaps happen after clk_disable also, but I have not witnessed that. The problem affects at least dss, cam and sgx clocks. This change waits for the transition to be finished before returning from omap2_clkdm_clk_enable(). Signed-off-by: Tomi Valkeinen Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit be48ea74d49408c5c4f999c730d35eaf0034f273 Author: Paul Walmsley Date: Tue Jan 27 19:44:28 2009 -0700 [ARM] OMAP3 powerdomains: remove RET from SGX power states list The SGX device on OMAP3 does not support retention, so remove RET from the list of possible SGX power states. Problem debugged by Richard Woodruff . Signed-off-by: Richard Woodruff Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 46e0ccf8ae32e53dc34a274977e2c6256b2deddc Author: Paul Walmsley Date: Tue Jan 27 19:44:18 2009 -0700 [ARM] OMAP3 PRCM: add DPLL1-5 powerdomains, clockdomains; mark clocks Each DPLL exists in its own powerdomain (cf 34xx TRM figure 4-18) and clockdomain; so, create powerdomain and clockdomain structures for them. Mark each DPLL clock as belonging to their respective DPLL clockdomain. cf. 34xx TRM Table 4-27 (among other references). linux-omap source commits are acdb615850b9b4f7d1ab68133a16be8c8c0e7419 and a8798a48f33e9268dcc7f30a4b4a3ce4220fe0c9. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 15b52bc4cb2b4cc93047b957a6c7b9dbd910a6fa Author: Paul Walmsley Date: Wed May 7 19:19:07 2008 -0600 [ARM] OMAP3 clock: move sys_clkout2 clk to core_clkdm sys_clkout2 belongs in the core_clkdm (3430 TRM section 4.7.2.2). It's not clear whether it actually is in the CORE clockdomain, or whether it is technically in a different clockdomain; but this is closer to reality than the present configuration. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit d37f1a136783aa9c9b1a6cd832a60cb2bbd2453a Author: Paul Walmsley Date: Wed Sep 10 10:47:36 2008 -0600 [ARM] OMAP2/3 clockdomains: add CM and PRM clkdms Add clockdomains for the CM and PRM. These will ultimately replace the "wkup_clkdm", which appears to not actually exist on the hardware. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 5b74c67660dbd536a4f4e8cea12d10683ad2e432 Author: Paul Walmsley Date: Tue Feb 3 02:10:03 2009 -0700 [ARM] OMAP2/3 clockdomains: combine pwrdm, pwrdm_name into union in struct clockdomain struct clockdomain contains a struct powerdomain *pwrdm and const char *pwrdm_name. The pwrdm_name is only used at initialization to look up the appropriate pwrdm pointer. Combining these into a union saves about 100 bytes on 3430SDP. This patch should not cause any change in kernel function. Updated to gracefully handle autodeps that contain invalid powerdomains, per Russell King's review comments. Boot-tested on BeagleBoard ES2.1. linux-omap source commit is 718fc6cd4db902aa2242a736cc3feb8744a4c71a. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit aeec299011da8c3f07a47fe5d988f0eafda53906 Author: Kevin Hilman Date: Tue Jan 27 19:13:38 2009 -0700 [ARM] OMAP2: Implement CPUfreq frequency table based on PRCM table This patch adds a CPUfreq frequency-table implementation for OMAP2 by walking the PRCM rate-table for available entries and adding them to a CPUfreq table. CPUfreq can then be used to manage switching between all the available entries in the PRCM rate table. Either use the CPUfreq sysfs interface directly, (see Section 3 of Documentation/cpu-freq/user-guide.txt) or use the cpufrequtils package: http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html Signed-off-by: Kevin Hilman Updated to try to use cpufreq_table if it exists. linux-omap source commit is 77ce544fa48deb7a2003f454624e3ca10d37ab87. Signed-off-by: Tony Lindgren Signed-off-by: Paul Walmsley Signed-off-by: Russell King commit ae8578c0194695bd37435249dfed720769a6bbf3 Author: Paul Walmsley Date: Tue Jan 27 19:13:12 2009 -0700 [ARM] OMAP: Make dpll4_m4_ck programmable with clk_set_rate() Filling the set_rate and round_rate fields of dpll4_m4_ck makes this clock programmable through clk_set_rate(). This is needed to give omapfb control over the dss1_alwon_fck rate. This patch includes a fix from Tomi Valkeinen . linux-omap source commits are e42218d45afbc3e654e289e021e6b80c657b16c2 and 9d211b761b3cdf7736602ecf7e68f8a298c13278. Signed-off-by: Måns Rullgård Signed-off-by: Tomi Valkeinen Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 6c8fe0b954b198d8e9116b824f7998c00f47c46c Author: Sergio Aguirre Date: Tue Jan 27 19:13:09 2009 -0700 [ARM] OMAP: Add CSI2 clock struct for handling it with clock API Add CSI2 clock struct for handling it with clock API when TI PM is disabled. linux-omap source commit is 8b20f4498928459276bd3366e3381ad595d23432. Signed-off-by: Sergio Aguirre Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 712d7c860269018fc92169e0f6b42218fd82a6d1 Author: Daniel Stone Date: Tue Jan 27 19:13:05 2009 -0700 [ARM] OMAP2: Fix definition of SGX clock register bits The GFX/SGX functional and interface clocks have different masks, for some unknown reason, so split EN_SGX_SHIFT into one each for fclk and iclk. Correct according to the TRM and the far more important 'does this actually work at all?' metric. linux-omap source commit is de1121fdb899f762b9e717f44eaf3fae7c00cd3e. Signed-off-by: Daniel Stone Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 9cfd985e27bfdf1e120aecaf595db265f4b5eb27 Author: Paul Walmsley Date: Tue Jan 27 19:13:02 2009 -0700 [ARM] OMAP3 clock: fix 96MHz clocks Fix some bugs in the OMAP3 clock tree pertaining to the 96MHz clocks. The 96MHz portion of the clock tree should now have reasonable fidelity to the 34xx TRM Rev I. One remaining question mark: it's not clear exactly which 96MHz source clock the USIM uses. This patch sticks with the previous setting, which seems reasonable. linux-omap source commit is 15c706e8179ce238c3ba70a25846a36b73bd2359. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 207233533dd197457634810c6dc1b5d65ab6b8c7 Author: Paul Walmsley Date: Tue Jan 27 19:12:57 2009 -0700 [ARM] OMAP3: move USBHOST SAR handling from clock framework to powerdomain layer Remove usbhost_sar_fclk from the OMAP3 clock framework. The bit that the clock was tweaking doesn't actually enable or disable a clock; it controls whether the hardware will save and restore USBHOST state when the powerdomain changes state. (That happens to coincidentally enable a clock for the duration of the operation, hence the earlier confusion.) In place of the clock, mark the USBHOST powerdomain as supporting hardware save-and-restore functionality. linux-omap source commit is f3ceac86a9d425d101d606d87a5af44afef27179. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 9299fd85a00a52b7c575fa02b3031ad407a15344 Author: Paul Walmsley Date: Tue Jan 27 19:12:54 2009 -0700 [ARM] OMAP24xx clock: add missing SSI L4 interface clock This patch adds a missing OMAP24xx clock, the SSI L4 interface clock, as "ssi_l4_ick". linux-omap source commit is ace129d39b3107d330d4cf6934385d13521f2fec. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit fecb494beef09e4caaa80313834af26f57091195 Author: Paul Walmsley Date: Tue Jan 27 19:12:50 2009 -0700 [ARM] OMAP: Fix sparse, checkpatch warnings in OMAP2/3 PRCM/PM code Fix sparse & checkpatch warnings in OMAP2/3 PRCM & PM code. This mostly consists of: - converting pointer comparisons to integers in form similar to (ptr == 0) to the standard idiom (!ptr) - labeling a few non-static private functions as static - adding prototypes for *_init() functions in the appropriate header files, and getting rid of the corresponding open-coded extern prototypes in other C files - renaming the variable 'sclk' in mach-omap2/clock.c:omap2_get_apll_clkin to avoid shadowing an earlier declaration Clean up checkpatch issues. This mostly involves: - converting some asm/ includes to linux/ includes - cleaning up some whitespace - getting rid of braces for conditionals with single following statements Also take care of a few odds and ends, including: - getting rid of unlikely() and likely() - none of this code is particularly fast-path code, so the performance impact seems slim; and some of those likely() and unlikely() indicators are probably not as accurate as the ARM's branch predictor - removing some superfluous casts linux-omap source commit is 347df59f5d20fdf905afbc26b1328b0e28a8a01b. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 16c90f020034d3cd38b3dab280001e728e6b19e5 Author: Paul Walmsley Date: Tue Jan 27 19:12:47 2009 -0700 [ARM] OMAP2/3: Add non-CORE DPLL rate set code and M, N programming Add non-CORE DPLL rate set code and M,N programming for OMAP3. Connect it to OMAP34xx DPLLs 1, 2, 4, 5 via the clock framework. You may see some warnings on rate sets from the freqsel code. The table that TI presented in the 3430 TRM Rev F does not cover Fint < 750000, which definitely occurs in practice. However, the lack of this freqsel case does not appear to impair the DPLL rate change. linux-omap source commit is 689fe67c6d1ad8f52f7f7b139a3274b79bf3e784. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 6f7607ccd175518a3ee7dccc1620f3a086689668 Author: Russell King Date: Wed Jan 28 10:22:50 2009 +0000 [ARM] omap: hsmmc: new short connection id names ... rather than the clock names themselves. Signed-off-by: Russell King commit 6c5dbb40f4795f3fdbf3e5aab7eda4e2f838d08b Author: Russell King Date: Sat Jan 24 16:27:06 2009 +0000 [ARM] omap: omap24xxcam: use short connection IDs for omap2 clocks Signed-off-by: Russell King commit eeec7c8d18465a85c212230bdb715e3f029dbf4e Author: Russell King Date: Mon Jan 19 20:58:56 2009 +0000 [ARM] omap: convert omap RNG clocks to match by devid and conid Signed-off-by: Russell King commit b1ad379632327c0722c5c92275c326971da3b948 Author: Russell King Date: Thu Jan 22 19:41:20 2009 +0000 [ARM] omap: spi: arrange for omap_uwire to use connection ID ... which now means no driver requests the "armxor_ck" clock directly. Also, fix the error handling for clk_get(), ensuring that we propagate the error returned from clk_get(). Signed-off-by: Russell King commit cc51c9d444ae1532be6a600c65ac0d3d22472c53 Author: Russell King Date: Thu Jan 22 10:12:04 2009 +0000 [ARM] omap: w1: convert omap HDQ clocks to match by devid and conid Signed-off-by: Russell King commit 5fe23380405d3a65ce6f46d270c4d3a31027430b Author: Russell King Date: Fri Jan 23 22:57:12 2009 +0000 [ARM] omap: i2c: remove conditional ick clocks By providing a dummy ick for OMAP1510 and OMAP310, we avoid having SoC conditional clock information in i2c-omap.c. Also, fix the error handling by making sure we propagate the error returned via clk_get(). Signed-off-by: Russell King commit 0e9ae109e4eece027ede4f3f0edc8e659f8298c9 Author: Russell King Date: Thu Jan 22 19:31:46 2009 +0000 [ARM] omap: i2c: remove armxor_ck On OMAP1, the I2C functional clock (fck) is the armxor_ck, so there's no need to get "armxor_ck" separately. Signed-off-by: Russell King commit 1d14de087dd1cab0436fb7c9d5e38d852f33df69 Author: Russell King Date: Mon Jan 19 21:02:29 2009 +0000 [ARM] omap: i2c: use short connection ids Signed-off-by: Russell King commit b820ce4e6736ddad7ccda528e10aaf37ad3f13f9 Author: Russell King Date: Fri Jan 23 10:26:46 2009 +0000 [ARM] omap: mcbsp: convert to use fck/ick clocks directly Rather than introducing a special 'mcbsp_clk' with code behind it in mach-omap*/mcbsp.c to handle the SoC specifics, arrange for the mcbsp driver to be like any other driver. mcbsp requests its fck and ick clocks directly, and the SoC specific code deals with selecting the correct clock. There is one oddity to deal with - OMAP1 fiddles with the DSP clocks and DSP reset, so we move this to the two callback functions. Signed-off-by: Russell King commit 1b5715ec471d1def9722e22b6cb1d24841b5e290 Author: Russell King Date: Mon Jan 19 20:49:37 2009 +0000 [ARM] omap: mcspi: new short connection id names ... rather than the clock names themselves. Signed-off-by: Russell King commit d4a36645a1a76e5294c1b00682fb849fc53ccd80 Author: Russell King Date: Fri Jan 23 19:03:37 2009 +0000 [ARM] omap: MMC: provide a dummy ick for OMAP1 Eliminate the OMAP1 vs OMAP2 clock knowledge in the MMC driver. Signed-off-by: Russell King commit 5c9e02b1abcb227f47529ad72cc4a3234cddae49 Author: Russell King Date: Mon Jan 19 20:53:30 2009 +0000 [ARM] omap: MMC: convert clocks to match by devid and conid Convert OMAP MMC driver to match clocks using the device ID and a connection ID rather than a clock name. This allows us to eliminate the OMAP1/OMAP2 differences for the function clock. Signed-off-by: Russell King commit 4c5e1946b5f89c33e3bc8ed73fa7ba8f31e37cc5 Author: Russell King Date: Fri Jan 23 12:48:37 2009 +0000 [ARM] omap: watchdog: provide a dummy ick for OMAP1 Eliminate the OMAP1 vs OMAP2 clock knowledge in the watchdog driver. Signed-off-by: Russell King commit 39a80c7f379e1c1d3e63b204b8353b7381d0a3d5 Author: Russell King Date: Mon Jan 19 20:44:33 2009 +0000 [ARM] omap: watchdog: convert clocks to match by devid and conid This eliminates the need for separate OMAP24xx and OMAP34xx clock requesting code sections. Signed-off-by: Russell King commit f1c2543738d18e4398e3d6e27abff6676667975a Author: Russell King Date: Fri Jan 23 22:34:09 2009 +0000 [ARM] omap: provide a dummy clock node By providing a dummy clock node, we can eliminate the SoC conditional clock handing in the OMAP drivers, moving this knowledge out of the driver and into the machine clock support code. Signed-off-by: Russell King commit 2b811bb56a008f0f669a1bd82e4d077e75aa059a Author: Russell King Date: Mon Jan 19 16:28:32 2009 +0000 [ARM] omap: remove pre-CLKDEV clk_get/clk_put Signed-off-by: Russell King commit 44dc9d027f1cb56625b1011d8725d2ab614c04e6 Author: Russell King Date: Mon Jan 19 15:51:11 2009 +0000 [ARM] omap: convert OMAP3 to use clkdev Signed-off-by: Russell King commit 8ad8ff6548f1c0bcbeaa02f274b3927c5015a921 Author: Russell King Date: Mon Jan 19 15:27:29 2009 +0000 [ARM] omap: convert OMAP2 to use clkdev Signed-off-by: Russell King commit d7e8f1f9d655af2c7ea90738bf567aa6990159b3 Author: Russell King Date: Sun Jan 18 23:03:15 2009 +0000 [ARM] omap: convert OMAP1 to use clkdev Signed-off-by: Russell King commit dbb674d57b5851a4fe3122ff4280e4cf87209198 Author: Russell King Date: Thu Jan 22 16:08:04 2009 +0000 [ARM] omap: allow double-registering of clocks This stops things blowing up if a 'struct clk' to be passed more than once to clk_register(), which will be required when we decouple struct clk's from their names. Signed-off-by: Russell King commit 1e98ffa85e70f423e2e41156cc3d549c353cd897 Author: Russell King Date: Mon Jan 19 18:56:17 2009 +0000 [ARM] omap: ensure devname is set for dummy devices This is needed to use these with the clkdev helpers. Signed-off-by: Russell King commit d5e6072b753041b56236b014ccfd72a0d3177e08 Author: Russell King Date: Sun Feb 8 16:07:46 2009 +0000 [ARM] omap: handle RATE_CKCTL via .set_rate/.round_rate methods It makes no sense to have the CKCTL rate selection implemented as a flag and a special exception in the top level set_rate/round_rate methods. Provide CKCTL set_rate/round_rate methods, and use these for where ever RATE_CKCTL is used and they're not already overridden. This allows us to remove the RATE_CKCTL flag. Signed-off-by: Russell King commit 9a5fedac187f30116013a8420149d4ca11a44f0d Author: Russell King Date: Thu Nov 13 13:44:15 2008 +0000 [ARM] omap: move propagate_rate() calls into generic omap clock code propagate_rate() is recursive, so it makes sense to minimise the amount of stack which is used for each recursion. So, rather than recursing back into it from the ->recalc functions if RATE_PROPAGATES is set, do that test at the higher level. Signed-off-by: Russell King commit a9e882096317a088087b608d272da7029a6cc8c8 Author: Russell King Date: Thu Nov 13 13:07:00 2008 +0000 [ARM] omap: remove unnecessary calls to propagate_rate() We've always called propagate_rate() in the parent function to the .set_rate methods, so there's no point having the .set_rate methods also call this heavy-weight function - it's mere duplication of what's happening elsewhere. Signed-off-by: Russell King commit c6af45085211db8720d6b94b3985ce7198d764e3 Author: Russell King Date: Thu Nov 13 13:01:32 2008 +0000 [ARM] omap: move clock propagation into core omap clock code Move the clock propagation calls for set_parent and set_rate into the core omap clock code, rather than having these calls scattered throughout the OMAP1 and OMAP2 implementations. Signed-off-by: Russell King commit 2e777bf1f2482be13c2b678744d3497a4f0a0ec2 Author: Russell King Date: Sun Feb 8 17:49:22 2009 +0000 [ARM] omap: provide a standard clk_get_parent() implementation which only has to return clk->parent. Signed-off-by: Russell King commit ae8fce5c3baf84e319269e67823cf337ed9d359a Author: Russell King Date: Wed Nov 5 12:54:04 2008 +0000 [ARM] omap: remove clk_deny_idle and clk_allow_idle Nothing makes any use of these functions, so there's little point in providing them. Signed-off-by: Russell King commit ebb8dca2957f3bb79eea8eec0c7d1c8c3fa9a5be Author: Russell King Date: Tue Nov 4 21:50:46 2008 +0000 [ARM] omap: rearrange clock.h structure order ... to eliminate unnecessary padding. We have rather a lot of these structures, so eliminating unnecessary padding results in a saving of 1488 bytes. Signed-off-by: Russell King commit eee5b19119458cd399ce4deaabea07c8d07159ae Author: Russell King Date: Tue Nov 4 21:42:54 2008 +0000 [ARM] omap: remove clk->owner clk->owner is always NULL, so its existence doesn't serve any useful function other than bloating the kernel by 992 bytes. Remove it. Signed-off-by: Russell King commit c1168dc31d8e0688168030ac66341897ed7ca32a Author: Russell King Date: Tue Nov 4 21:24:00 2008 +0000 [ARM] omap: don't use clkops_omap2_dflt_wait for non-ICLK/FCLK clocks The original code in omap2_clk_wait_ready() used to check the low 8 bits to determine whether they were within the FCLKEN or ICLKEN registers. Specifically, the test is satisfied when these offsets are used: CM_FCLKEN, CM_FCLKEN1, CM_CLKEN, OMAP24XX_CM_FCLKEN2, CM_ICLKEN, CM_ICLKEN1, CM_ICLKEN2, CM_ICLKEN3, OMAP24XX_CM_ICLKEN4 OMAP3430_CM_CLKEN_PLL, OMAP3430ES2_CM_CLKEN2 If one of these offsets isn't used, omap2_clk_wait_ready() merely returns without doing anything. So we should use the non-wait clkops version instead and eliminate that conditional. Signed-off-by: Russell King commit bc51da4ee46d481dc3fbc57ec407594b80e92705 Author: Russell King Date: Tue Nov 4 18:59:32 2008 +0000 [ARM] omap: eliminate unnecessary conditionals in omap2_clk_wait_ready Rather than employing run-time tests in omap2_clk_wait_ready() to decide whether we need to wait for the clock to become ready, we can set the .ops appropriately. This change deals with the OMAP24xx and OMAP34xx conditionals only. Signed-off-by: Russell King commit b36ee724208358bd892ad279efce629740517149 Author: Russell King Date: Tue Nov 4 17:59:52 2008 +0000 [ARM] omap: add default .ops to all remaining OMAP2 clocks Signed-off-by: Russell King commit 57137181e3136d4c7b20b4b95b9817efd38f8f07 Author: Russell King Date: Tue Nov 4 16:48:35 2008 +0000 [ARM] omap: kill PARENT_CONTROLS_CLOCK PARENT_CONTROLS_CLOCK just makes enable/disable no-op, and is functionally an alias for ALWAYS_ENABLED. This can be handled in the same way, using clkops_null. Signed-off-by: Russell King commit 897dcded6fb6565f4d1c22a55d21f135403db132 Author: Russell King Date: Tue Nov 4 16:35:03 2008 +0000 [ARM] omap: provide a NULL clock operations structure ... and use it for clocks which are ALWAYS_ENABLED. These clocks use a non-NULL enable_reg pointer for other purposes (such as selecting clock rates.) Signed-off-by: Russell King commit 0fb807c3e573ff9de2965ca38c907605d4735d16 Author: Jaswinder Singh Rajput Date: Sun Feb 8 11:00:25 2009 +0530 unconditionally include asm/types.h from linux/types.h Reported-by: Sam Ravnborg Signed-off-by: Jaswinder Singh Rajput commit 57794a9d48b63e34acbe63282628c9f029603308 Author: Wenji Huang Date: Fri Feb 6 17:33:27 2009 +0800 trace: trivial fixes in comment typos. Impact: clean up Fixed several typos in the comments. Signed-off-by: Wenji Huang Signed-off-by: Steven Rostedt commit a81bd80a0b0a405dc0483e2c428332d69da2c79f Author: Steven Rostedt Date: Fri Feb 6 01:45:16 2009 -0500 ring-buffer: use generic version of in_nmi Impact: clean up Now that a generic in_nmi is available, this patch removes the special code in the ring_buffer and implements the in_nmi generic version instead. With this change, I was also able to rename the "arch_ftrace_nmi_enter" back to "ftrace_nmi_enter" and remove the code from the ring buffer. Signed-off-by: Steven Rostedt commit 9a5fd902273d01170fd033691bd70b142baa7309 Author: Steven Rostedt Date: Fri Feb 6 01:14:26 2009 -0500 ftrace: change function graph tracer to use new in_nmi The function graph tracer piggy backed onto the dynamic ftracer to use the in_nmi custom code for dynamic tracing. The problem was (as Andrew Morton pointed out) it really only wanted to bail out if the context of the current CPU was in NMI context. But the dynamic ftrace in_nmi custom code was true if _any_ CPU happened to be in NMI context. Now that we have a generic in_nmi interface, this patch changes the function graph code to use it instead of the dynamic ftarce custom code. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 375b38b4214f29109a393ab762d468054bf52354 Author: Steven Rostedt Date: Fri Feb 6 00:51:37 2009 -0500 nmi: add generic nmi tracking state This code adds an in_nmi() macro that uses the current tasks preempt count to track when it is in NMI context. Other parts of the kernel can use this to determine if the context is in NMI context or not. This code was inspired by the -rt patch in_nmi version that was written by Peter Zijlstra, who borrowed that code from Mathieu Desnoyers. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 4e6ea1440c67de32d7c89aacf233472dfc3bce82 Author: Steven Rostedt Date: Thu Feb 5 22:30:07 2009 -0500 ftrace, x86: rename in_nmi variable Impact: clean up The in_nmi variable in x86 arch ftrace.c is a misnomer. Andrew Morton pointed out that the in_nmi variable is incremented by all CPUS. It can be set when another CPU is running an NMI. Since this is actually intentional, the fix is to rename it to what it really is: "nmi_running" Signed-off-by: Steven Rostedt commit d8b891a2db13c8ed296158d6f8c4e335896d0cef Author: Steven Rostedt Date: Thu Feb 5 19:54:51 2009 -0500 ring-buffer: allow tracing_off to be used in core kernel code tracing_off() is the fastest way to stop recording to the ring buffers. This may be used in places like panic and die, just before the ftrace_dump is called. This patch adds the appropriate CPP conditionals to make it a stub function when the ring buffer is not configured it. Signed-off-by: Steven Rostedt commit 78d904b46a72fcf15ea6a39672bbef92953876b5 Author: Steven Rostedt Date: Thu Feb 5 18:43:07 2009 -0500 ring-buffer: add NMI protection for spinlocks Impact: prevent deadlock in NMI The ring buffers are not yet totally lockless with writing to the buffer. When a writer crosses a page, it grabs a per cpu spinlock to protect against a reader. The spinlocks taken by a writer are not to protect against other writers, since a writer can only write to its own per cpu buffer. The spinlocks protect against readers that can touch any cpu buffer. The writers are made to be reentrant with the spinlocks disabling interrupts. The problem arises when an NMI writes to the buffer, and that write crosses a page boundary. If it grabs a spinlock, it can be racing with another writer (since disabling interrupts does not protect against NMIs) or with a reader on the same CPU. Luckily, most of the users are not reentrant and protects against this issue. But if a user of the ring buffer becomes reentrant (which is what the ring buffers do allow), if the NMI also writes to the ring buffer then we risk the chance of a deadlock. This patch moves the ftrace_nmi_enter called by nmi_enter() to the ring buffer code. It replaces the current ftrace_nmi_enter that is used by arch specific code to arch_ftrace_nmi_enter and updates the Kconfig to handle it. When an NMI is called, it will set a per cpu variable in the ring buffer code and will clear it when the NMI exits. If a write to the ring buffer crosses page boundaries inside an NMI, a trylock is used on the spin lock instead. If the spinlock fails to be acquired, then the entry is discarded. This bug appeared in the ftrace work in the RT tree, where event tracing is reentrant. This workaround solved the deadlocks that appeared there. Signed-off-by: Steven Rostedt commit 1830b52d0de8c60c4f5dfbac134aa8f69d815801 Author: Steven Rostedt Date: Sat Feb 7 19:38:43 2009 -0500 trace: remove deprecated entry->cpu Impact: fix to prevent developers from using entry->cpu With the new ring buffer infrastructure, the cpu for the entry is implicit with which CPU buffer it is on. The original code use to record the current cpu into the generic entry header, which can be retrieved by entry->cpu. When the ring buffer was introduced, the users were convert to use the the cpu number of which cpu ring buffer was in use (this was passed to the tracers by the iterator: iter->cpu). Unfortunately, the cpu item in the entry structure was never removed. This allowed for developers to use it instead of the proper iter->cpu, unknowingly, using an uninitialized variable. This was not the fault of the developers, since it would seem like the logical place to retrieve the cpu identifier. This patch removes the cpu item from the entry structure and fixes all the users that should have been using iter->cpu. Signed-off-by: Steven Rostedt commit e4cc8fca1c77905bce91b42a1372d4a73069a529 Merge: ae1a25d... 432dc14... Author: Russell King Date: Sat Feb 7 21:43:28 2009 +0000 Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel Conflicts: arch/arm/configs/magician_defconfig commit 673f8205914a12e928c65afbcd78ae748f78df53 Merge: cf47b8f... ae1a25d... Author: Ingo Molnar Date: Sat Feb 7 18:31:54 2009 +0100 Merge branch 'linus' into core/locking Conflicts: fs/btrfs/locking.c commit 409f0a9014fe24d906ba21aaccff80eb7f7304da Merge: 5937218... 0b492fc... Author: David S. Miller Date: Sat Feb 7 02:52:44 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit 593721833d2a3987736467144ad062a709d3a72c Author: Jesse Brandeburg Date: Fri Feb 6 23:23:32 2009 +0000 igb: remove dead code in transmit routine Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 86d5d38fa1afe2c96f184482d6c6d1a59ee7e2dc Author: Alexander Duyck Date: Fri Feb 6 23:23:12 2009 +0000 igb: update version number and copyright dates Update the version number to 1.3.16 and update copyright dates for 2009. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 265de4090853e56fb152e4cb0d21e4ec568d561a Author: Alexander Duyck Date: Fri Feb 6 23:22:52 2009 +0000 igb: fix two minor items found during code review This patch addresses two minor items I found while cleaning up the igb driver for our sourceforge version. The first clears the context index if we don't flag that we need it. The second item is that eims_other should be used instead of bit defines when setting all of the EICS bits prior to reset. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 04fe63583d4648c0378a58afc0de89b640d822ef Author: Alexander Duyck Date: Fri Feb 6 23:22:32 2009 +0000 igb: update stats before doing reset in igb_down It was seen with repeated interface up/down testing that there was a large stray between the stats reported by the queues and the stats reported by the HW. It was found to be an issue in that hw stats were being reset without first being recorded. This change records the stats before wiping them from the system via the reset. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 450c87c8d28aeaf83889389ceeb01457c1a6f3e9 Author: Alexander Duyck Date: Fri Feb 6 23:22:11 2009 +0000 igb: remove redundant count set and err_hw_init Remove the setting of ring->count variables from igb_probe as they are duplicating the same configuration that is done igb_alloc_queues. Remove the err_hw_init tag as it can be replaced by err_sw_init. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8675737a9c1bf6c295461efc64898359398e1c82 Author: Alexander Duyck Date: Fri Feb 6 23:21:51 2009 +0000 igb: remove disable_av variable from mac_info struct The disable_av variable is never used by the driver and provides no value as it is likely a leftover debugging variable. I have removed it and replaced the one spot that checked for it with a check for a valid address. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fa4dfae0ce703976578015902025137d5e268501 Author: Alexander Duyck Date: Fri Feb 6 23:21:31 2009 +0000 igb: change pba size determination from if to switch statement As additional hardware is added to the igb driver it is easier to support the expansion via switch statements instead of using nested ifs. For this reason I am changing this to a switch statement. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a8564f033efade1b6f027c4bb807cdf8cf5c9570 Author: Alexander Duyck Date: Fri Feb 6 23:21:10 2009 +0000 igb: move get_hw_control within igb_resume. Move igb_get_hw_control up so that it is called just after the reset in igb_resume. This notifies the HW sooner that the driver is reassuming control of the device. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4a3c6433e48592f260278966742a99e0d77de3cc Author: Alexander Duyck Date: Fri Feb 6 23:20:49 2009 +0000 igb: don't read eicr when responding to legacy interrupts The interrupt handler was reading eicr and then doing nothing with the result. I have removed the variable and the register read since they provide no value to the legacy interrupt handler. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 28b0759c224cad4ae8f5ed47f5af862dd2d1e1ed Author: Alexander Duyck Date: Fri Feb 6 23:20:31 2009 +0000 igb: remove unnecessary adapter->hw calls when just hw-> will do. There were several spots in the code making calls to adapter->hw when they could have just been accessing hw-> directly. I cleaned up the spots where this was visibly apparent. Signed-off-by: Alexander Duyck Signed-off-by: David S. Miller commit 8a900862a2402565564ddcc3c6ecefb1c239d7e1 Author: Alexander Duyck Date: Fri Feb 6 23:20:10 2009 +0000 igb: rename igb_update_mc_addr_list_82575 to not include the 82575 There isn't much point in having the _82575 hanging off the end of this function since there aren't any other version of this function running around within this driver. This also allows for a bit of whitespace cleanup due to a shorter function name. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4b1a9877364599fe57f263597821dab6bd86f3b9 Author: Alexander Duyck Date: Fri Feb 6 23:19:50 2009 +0000 igb: remove redundant timer updates and cleanup watchdog_task The igb watchdog task is modifying the watchdog timer twice duing a single run. It only needs to be called once to reschedule itself for 2 seconds from the last time it ran. In addition I removed the allocation of the mac_info structure since it is only called twice and is easier to access via the e1000_hw struct. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit eebbbdba5eb44406061e4dff130257b654773d3f Author: Alexander Duyck Date: Fri Feb 6 23:19:29 2009 +0000 igb: cleanup igb_netpoll to be more friendly with napi & GRO This patch cleans up igb_netpoll so that it is more friendly with both the current napi and newly introduced GRO features. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dda0e0834c839c0e4b1717cbe9c22c35ca935809 Author: Alexander Duyck Date: Fri Feb 6 23:19:08 2009 +0000 igb: add counter for dma out of sync errors Add a counter for dma out of sync errors reported via interrupt. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2753f4cebf034a53f87b24679f394854275dcacb Author: Alexander Duyck Date: Fri Feb 6 23:18:48 2009 +0000 igb: update testing done by ethtool Most of the code for the testing has pretty much become stale at this point and is need of update. This update just streamlines most of the code, widens the range of interrupt testing. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7d8eb29e6eae9cc13e1975daf28d2ae789c1f110 Author: Alexander Duyck Date: Fri Feb 6 23:18:27 2009 +0000 igb: update feature flags supported in ethtool This driver is currently using HW_CSUM which is not correct. Update this to use the IP_CSUM and IPV6_CSUM flags. In addition consolidate the TSO flag setting. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0fbe67af3ee1928f7eae273133b7112d1665d4d3 Author: Alexander Duyck Date: Fri Feb 6 23:18:06 2009 +0000 igb: remove unused rx_hdr_split statistic This statistic is not used and so it is safe to remove Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 312c75aee7606e886d91c810bc491c9f40ff5837 Author: Alexander Duyck Date: Fri Feb 6 23:17:47 2009 +0000 igb: rename nvm ops All of the nvm ops have the tag _nvm added to the end which is redundant since all of the calls to the ops have to go through the nvm ops struct anyway. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a8d2a0c27f84bdbf54b7e1c1a52ef7b8b7196dbc Author: Alexander Duyck Date: Fri Feb 6 23:17:26 2009 +0000 igb: rename phy ops This patch renames write_phy_reg to write_reg and read_phy_reg to read_reg. It seems redundant to call out phy in an operation that is part of the phy_ops struct. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 40a70b3889ea50daa10a7f3468920c1f5483155d Author: Alexander Duyck Date: Fri Feb 6 23:17:06 2009 +0000 igb: read address from RAH/RAL instead of from EEPROM Instead of pulling the mac address from EEPROM it is easier to pull it from the RAL/RAH registers and then just copy it into the address structures. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c1889bfe687c22f74d1333913ffe8f8da173d601 Author: Alexander Duyck Date: Fri Feb 6 23:16:45 2009 +0000 igb: make dev_spec a union and remove dynamic allocation This patch makes dev_spec a union and simplifies it so that it does not require dynamic allocation and freeing in the driver. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4d6b725e4d8e499fad012a25381c8d9bf53fbf4b Author: Alexander Duyck Date: Fri Feb 6 23:16:24 2009 +0000 igb: add link check function Add a link check function to contain all activities related to verifying that the link is present. The current approach is a bit cludgy and needs to be cleaned up. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit aed5dec370e294233d647251ce1e5f74d70b09c9 Author: Alexander Duyck Date: Fri Feb 6 23:16:04 2009 +0000 igb: remove check for needing an io port Since igb supports only pci-e nics and there is no plan to support any legacy pci parts in the driver there isn't really much need for checking to see if an io port is needed. In the unlikely event that we do begin supporting legacy pci parts then we can see about adding this code back to the driver. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 83b7180d0da2a8ff92baa6a35f6871aeb74d9bec Author: Alexander Duyck Date: Fri Feb 6 23:15:45 2009 +0000 igb: move initialization of number of queues into set_interrupt_capability This patch moves the initialization of the number of queues into set_interrupt_capability. This allows the number of queues to increase in the unlikely event that the system initially fails to allocate enough msi-x interrupts, does a suspend/resume, and then can allocate enough interrupts on resume. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit db76176215ec5af7a67386e0eacb5ea53e040f10 Author: Alexander Duyck Date: Fri Feb 6 23:15:25 2009 +0000 igb: move setting of buffsz out of repeated path in alloc_rx_buffers buffsz is being repeatedly set when allocaing buffers. Since this value should only need to be set once in the function I am moving it out of the looped portion of the path. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 69d3ca5357bb93bb3a139c5d90077407f8828bd1 Author: Alexander Duyck Date: Fri Feb 6 23:15:04 2009 +0000 igb: optimize/refactor receive path While cleaning up the skb_over panic with small frames I found there was room for improvement in the ordering of operations within the rx receive flow. These changes will place the prefetch for the next descriptor to a point earlier in the rx path. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3e450669cc7060d56d886f53e31182f5fef103c7 Author: Peter P Waskiewicz Jr Date: Sat Feb 7 02:16:59 2009 -0800 ixgbe: Fix a set_num_queues() bug that can result in num_(r|t)x_queues = 0 Now that our set_num_queues() routines for each feature are re-entrant, and can be called at any point, they shouldn't zero out the feature's indices or mask bits. Subsequent calls into those routines for those features can result in zero Rx and Tx queues being assigned, causing a panic later in driver reinitialization. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2813ddd1bfd681a2fcc1d95530b399a92da89556 Author: Ayaz Abdulla Date: Sat Feb 7 00:25:18 2009 -0800 forcedeth: bump version to 63 This patch bumps the version up to 63 Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit daa91a9d2402d33b70b8685dee6fd3e517bf34a9 Author: Ayaz Abdulla Date: Sat Feb 7 00:25:00 2009 -0800 forcedeth: recover error support This patch adds another type of recoverable error to the driver. It also modifies the sequence for recovery to include a mac reset and clearing of interrupts. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit c1086cda7d46885d672d282af04d1273b001442f Author: Ayaz Abdulla Date: Sat Feb 7 00:24:39 2009 -0800 forcedeth: ethtool tx csum fix This patch fixes the ethtool tx csum "set" command. A recent patch was submitted to remove HW_CSUM and use IP_CSUM instead. Therefore, the corresponding ethtool command should also be modified. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit b6e4405bf7241ae91c497e021370066fcfb196c8 Author: Ayaz Abdulla Date: Sat Feb 7 00:24:15 2009 -0800 forcedeth: msi interrupt fix This patch fixes an issue with the suspend/resume cycle with msi interrupts. See bugzilla number 10487 for more details. The fix is to re-setup a private msi pci config offset field. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit cac1c52c3621b46e3be49cf7887a7cfa393890de Author: Ayaz Abdulla Date: Sat Feb 7 00:23:57 2009 -0800 forcedeth: mgmt unit interface This patch updates the logic used to communicate with the mgmt unit. It also adds a version check for a newer mgmt unit firmware. * Fixed udelay to schedule_timeout_uninterruptible Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 1f0fa15432e49547c3fa915644c7e0c0975809e7 Author: Ilpo Järvinen Date: Fri Feb 6 23:48:33 2009 -0800 net/sunrpc/xprtsock.c: some common code found $ diff-funcs xs_udp_write_space net/sunrpc/xprtsock.c net/sunrpc/xprtsock.c xs_tcp_write_space --- net/sunrpc/xprtsock.c:xs_udp_write_space() +++ net/sunrpc/xprtsock.c:xs_tcp_write_space() @@ -1,4 +1,4 @@ - * xs_udp_write_space - callback invoked when socket buffer space + * xs_tcp_write_space - callback invoked when socket buffer space * becomes available * @sk: socket whose state has changed * @@ -7,12 +7,12 @@ * progress, otherwise we'll waste resources thrashing kernel_sendmsg * with a bunch of small requests. */ -static void xs_udp_write_space(struct sock *sk) +static void xs_tcp_write_space(struct sock *sk) { read_lock(&sk->sk_callback_lock); - /* from net/core/sock.c:sock_def_write_space */ - if (sock_writeable(sk)) { + /* from net/core/stream.c:sk_stream_write_space */ + if (sk_stream_wspace(sk) >= sk_stream_min_wspace(sk)) { struct socket *sock; struct rpc_xprt *xprt; $ codiff net/sunrpc/xprtsock.o net/sunrpc/xprtsock.o.new net/sunrpc/xprtsock.c: xs_tcp_write_space | -163 xs_udp_write_space | -163 2 functions changed, 326 bytes removed net/sunrpc/xprtsock.c: xs_write_space | +179 1 function changed, 179 bytes added net/sunrpc/xprtsock.o.new: 3 functions changed, 179 bytes added, 326 bytes removed, diff: -147 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b5f348e5a41b39543c1c5efd661d7fd296dd5281 Author: Ilpo Järvinen Date: Fri Feb 6 23:48:01 2009 -0800 ipv6/addrconf: common code located $ codiff net/ipv6/addrconf.o net/ipv6/addrconf.o.new net/ipv6/addrconf.c: addrconf_notify | -267 1 function changed, 267 bytes removed net/ipv6/addrconf.c: add_addr | +86 1 function changed, 86 bytes added net/ipv6/addrconf.o.new: 2 functions changed, 86 bytes added, 267 bytes removed, diff: -181 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d73f08011bc30c03a2bcb1ccd880e4be84aea269 Author: Ilpo Järvinen Date: Fri Feb 6 23:47:37 2009 -0800 ipv6/ndisc: join error paths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 910d30b704542b49f83881a4832d8414c6c3d9c3 Author: Ilpo Järvinen Date: Fri Feb 6 23:47:14 2009 -0800 ax25: more common return path joining Signed-off-by: Ilpo Järvinen Acked-by: Ralf Baechle Signed-off-by: David S. Miller commit 69ebbf58f3dff9fb4e5240e472b5869fa869dae1 Author: Ilpo Järvinen Date: Fri Feb 6 23:46:51 2009 -0800 ipmr: use goto to common label instead of opencoding Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 12207e498b9b8f9f0c946db079ad17c7ca16cdf3 Author: Peter P Waskiewicz Jr Date: Fri Feb 6 21:47:24 2009 -0800 ixgbe: Defeature Tx Head writeback Tx Head writeback is causing multi-microsecond stalls on PCIe chipsets, due to partial cacheline writebacks. Removing this feature removes these issues. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0ecc061d1967e9f2694502079e00d9d6e1e39072 Author: Peter P Waskiewicz Jr Date: Fri Feb 6 21:46:54 2009 -0800 ixgbe: Update flow control state machine in link setup The flow control handling is overly complicated and difficult to maintain. This patch cleans up the flow control handling and makes it much more explicit. It also adds 1G flow control autonegotiation, for 1G copper links, 1G KX links, and 1G fiber links. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 39008f959f4f3b60eecc5cec0ca077146c1f366b Author: Alexander Clouter Date: Fri Feb 6 22:16:55 2009 +0000 [ARM] orion5x: TS-78xx support for 'hotplug' of FPGA devices the FPGA on the TS-7800 provides access to a number of devices and so we have to be careful when reprogramming it. As we are effectively turning a bus off/on we have to inform the kernel that it should stop using anything provided by the FPGA (currently only the RTC however the NAND, LCD, etc is to come) before it's reprogrammed. Once reprogramed, we can tell the kernel to (re)enable things by checking the FPGA ID against a lookup table for what a particular FPGA bitstream can provide. Signed-off-by: Alexander Clouter commit fb08b20fe7c8491a35a4369cce60fcb886d7609d Author: Jeremy Fitzhardinge Date: Fri Feb 6 14:05:28 2009 -0800 x86: Fix compile error in arch/x86/kernel/early_printk.c Fix compile problem: CC arch/x86/kernel/early_printk.o In file included from /home/jeremy/hg/xen/paravirt/linux/arch/x86/kernel/early_printk.c:17: /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h: In function 'pmd_page': /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:516: error: implicit declaration of function '__pfn_to_section' /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:516: warning: initialization makes pointer from integer without a cast /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:516: error: implicit declaration of function '__section_mem_map_addr' /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:516: warning: return makes pointer from integer without a cast /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h: In function 'pud_page': /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:586: warning: initialization makes pointer from integer without a cast /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:586: warning: return makes pointer from integer without a cast /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h: In function 'pgd_page': /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:625: warning: initialization makes pointer from integer without a cast /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:625: warning: return makes pointer from integer without a cast This is a cycling dependency between asm/pgtable.h and linux/mmzone.h when using CONFIG_SPARSEMEM. Rather than hacking up the headers some more, remove asm/pgtable.h, since early_printk.c doesn't actually need it. Signed-off-by: Jeremy Fitzhardinge commit f54128609c4e7792fb52b03c3db0da78627ce607 Author: Alexander Clouter Date: Fri Feb 6 21:59:15 2009 +0000 [ARM] orion5x: TS-78xx comment shifting moved the MPP comments to the mpp area of the platform code Signed-off-by: Alexander Clouter commit c3dfdb0823213c81f60987c8a3770b89ea95cad6 Author: Alexander Clouter Date: Fri Feb 6 21:57:13 2009 +0000 [ARM] orion5x: remove TS-78xx NOR support as it does not exist The TS-7800's M25P40 is not available to the kernel, it's used to load the initial bitstream onto the FPGA and so these hooks point to nothing and need to be removed. Signed-off-by: Alexander Clouter commit 88800b2f2ffd3e436266e4dff9586d48b5b54500 Author: Alexander Clouter Date: Fri Feb 6 21:56:04 2009 +0000 [ARM] orion5x: add rtc-m48t86 to orion5x_defconfig The TS-7800 can have a M48T86 RTC onboard Signed-off-by: Alexander Clouter commit 133822c5c038b265ddb6545cda3a4c88815c7d3d Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:29:52 2009 -0800 x86: asm/io.h: unify ioremap prototypes Impact: unify identical code asm/io_32.h and _64.h have identical prototypes for the ioremap family of functions. The 32-bit header had a more descriptive comment. Signed-off-by: Jeremy Fitzhardinge commit 976e8f677e42757e5586ea04a9ac8bb8ddaa037e Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:29:44 2009 -0800 x86: asm/io.h: unify virt_to_phys/phys_to_virt Impact: unify identical code asm/io_32.h and _64.h has functionally identical definitions for virt_to_phys, phys_to_virt, page_to_phys, and the isa_* variants, so just unify them. The only slightly functional change is using phys_addr_t for the physical address argument and return val. Signed-off-by: Jeremy Fitzhardinge commit e187c6588d6ef3169db53c389b3de9dfde3b16cc Author: Theodore Ts'o Date: Fri Feb 6 16:23:37 2009 -0500 ext4: remove call to ext4_group_desc() in ext4_group_used_meta_blocks() The static function ext4_group_used_meta_blocks() only has one caller, who already has access to the block group's group descriptor. So it's better to have ext4_init_block_bitmap() pass the group descriptor to ext4_group_used_meta_blocks(), so it doesn't need to call ext4_group_desc(). Previously this function did not check if ext4_group_desc() returned NULL due to an error, potentially causing a kernel OOPS report. This avoids the issue entirely. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: "Theodore Ts'o" commit 074ca44283bf031678e67af7d82668bb03c55a55 Author: Mike Snitzer Date: Fri Feb 6 16:23:37 2009 -0500 ext4: Remove stale block allocator references from ext4.h Remove some leftovers from when the old block allocator was removed (c2ea3fde). ext4_sb_info is now a bit lighter. Also remove a dangling read_block_bitmap() prototype. Signed-off-by: Mike Snitzer Signed-off-by: "Theodore Ts'o" commit 26c8e3179933c5c9071b16db76ab6de58a787d06 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:17 2009 -0800 x86: make pgd/pud/pmd/pte_none consistent The _none test is done differently for every level of the pagetable. Standardize them by: 1: Use the native_X_val to extract the raw entry, with no need to go via paravirt_ops, diff -r 1d0646d0d319 arch/x86/include/asm/pgtable.h, and 2: Compare with 0 rather than using a boolean !, since they are actually values and not booleans. Signed-off-by: Jeremy Fitzhardinge commit 18a7a199f97a7509fb987722e543f1aac3d7ada5 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:16 2009 -0800 x86: add and use pgd/pud/pmd_flags Add pgd/pud/pmd_flags which are analogous to pte_flags, and use them where-ever we only care about testing the flags portions of the respective entries. Signed-off-by: Jeremy Fitzhardinge commit 6cf7150084500962b8e225e2409ec01ed06a2c71 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:15 2009 -0800 x86: unify io_remap_pfn_range Impact: cleanup Unify io_remap_pfn_range. Don't demacro yet. Signed-off-by: Jeremy Fitzhardinge commit 7325cc2e333cdaaabd2103552458876ea85adb33 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:14 2009 -0800 x86: unify pgd_none Impact: cleanup Unify and demacro pgd_none. Signed-off-by: Jeremy Fitzhardinge commit deb79cfb365c96ff960570d1bcf2c205424b6195 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:13 2009 -0800 x86: unify pud_none Impact: cleanup Unify and demacro pud_none. Signed-off-by: Jeremy Fitzhardinge commit cc290ca38cc4c78b0d6175633232f05b8d8732ab Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:12 2009 -0800 x86: unify pages_to_mb Impact: cleanup Unify and demacro pages_to_mb. Signed-off-by: Jeremy Fitzhardinge commit 99510238bb428091e7caba020bc5e18b5f30b619 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:11 2009 -0800 x86: unify pmd_bad Impact: cleanup Unify and demacro pmd_bad. Signed-off-by: Jeremy Fitzhardinge commit a61bb29af47b0e4052566d25f3391894306a23fd Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:10 2009 -0800 x86: unify pgd_bad Impact: cleanup Unify and demacro pgd_bad. Signed-off-by: Jeremy Fitzhardinge commit 30f103167fcf2b08de64f5f37ece6bfff7392290 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:09 2009 -0800 x86: unify pgd_bad Impact: cleanup Unify and demacro pgd_bad. Signed-off-by: Jeremy Fitzhardinge commit 3f6cbef1d7f474d16f3a824c6d2910d930778fbd Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:08 2009 -0800 x86: unify pud_large Impact: cleanup Unify and demacro pud_large. Signed-off-by: Jeremy Fitzhardinge commit 3fbc2444f465710cdf0c832461a6a14338437453 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:07 2009 -0800 x86: unify pte_offset_kernel Impact: cleanup Unify and demacro pte_offset_kernel. Signed-off-by: Jeremy Fitzhardinge commit 346309cff6127a38731cf102de3413a562700b84 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:06 2009 -0800 x86: unify pte_index Impact: cleanup Unify and demacro pte_index. Signed-off-by: Jeremy Fitzhardinge commit 97e2817d3423d753fd2f80ea936a370032846382 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:05 2009 -0800 x86: unify pmd_pfn Impact: cleanup Unify pmd_pfn. Unfortunately it can't be demacroed because it has a cyclic dependency on linux/mm.h:page_to_nid(). Signed-off-by: Jeremy Fitzhardinge commit 3180fba0eec0d14e4ac8183a90d643d0d3383c75 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:04 2009 -0800 x86: unify pmd_pfn Impact: cleanup Unify and demacro pmd_pfn. Signed-off-by: Jeremy Fitzhardinge commit bd44d64db1db6acf2dea9ba130b8cb0a54e1dabd Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:03 2009 -0800 x86: remove redundant pfn_pmd definition Impact: cleanup It's already defined in pgtable.h Signed-off-by: Jeremy Fitzhardinge commit 01ade20d5a22e6ef002cbb751dddc3a01a78f998 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:02 2009 -0800 x86: unify pmd_offset Impact: cleanup Unify and demacro pmd_offset. Signed-off-by: Jeremy Fitzhardinge commit e24d7eee0beda24504bf6a4aa03be68328557475 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:01 2009 -0800 x86: unify pmd_index Impact: cleanup Unify and demacro pmd_index. Signed-off-by: Jeremy Fitzhardinge commit 20063ca4eb26d4b10f01d59925deea4aeee415e8 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:31:00 2009 -0800 x86: unify pmd_page Impact: cleanup Unify and demacro pmd_page. Signed-off-by: Jeremy Fitzhardinge commit 3ffb3564cd3cd59de8a0d74430ffe2d43ae11f19 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:59 2009 -0800 x86: unify pmd_page_vaddr Impact: cleanup Unify and demacro pmd_page_vaddr. Signed-off-by: Jeremy Fitzhardinge commit 3d081b1812bd4de2bbef58c6d598ddf45493010e Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:58 2009 -0800 x86: unify pud_offset Impact: cleanup Unify and demacro pud_offset. Signed-off-by: Jeremy Fitzhardinge commit 7cfb81024bc1dbe8ad2bf5affd58a6a7ad4172ba Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:57 2009 -0800 x86: unify pud_index Impact: cleanup Unify and demacro pud_index. Signed-off-by: Jeremy Fitzhardinge commit 777cba16aac5a1096db0b936912eb7fd06fb0cc5 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:56 2009 -0800 x86: unify pgd_page Impact: cleanup Unify and demacro pgd_page. Signed-off-by: Jeremy Fitzhardinge commit f476961cb16312fe4cb80b2b457ef9acf220a7fc Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:55 2009 -0800 x86: unify pud_page Impact: cleanup Unify and demacro pud_page. Signed-off-by: Jeremy Fitzhardinge commit aca159dbb13a5221819d5b3849b8c013f4829e9e Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:54 2009 -0800 x86: include pgtable_SIZE.h earlier We'll need the definitions sooner. Signed-off-by: Jeremy Fitzhardinge commit 6fff47e3ac5e17f7e164ac4ff9ea29aba3c54d73 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:53 2009 -0800 x86: unify pud_page_vaddr Impact: cleanup Unify and demacro pud_page_vaddr. Signed-off-by: Jeremy Fitzhardinge commit c5f040b12b2381591932a007432e7ed86b3f2796 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:52 2009 -0800 x86: unify pgd_page_vaddr Impact: cleanup Unify and demacro pgd_page_vaddr. Signed-off-by: Jeremy Fitzhardinge commit 4fea801ac95d6534a93aa01d3ac62be163d845af Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:51 2009 -0800 x86: unify pmd_none Impact: cleanup Unify and demacro pmd_none. Signed-off-by: Jeremy Fitzhardinge commit 649e8ef60fac0a2f6960cdb090d73e78717ac065 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:50 2009 -0800 x86: unify pmd_present Impact: cleanup Unify and demacro pmd_present. Signed-off-by: Jeremy Fitzhardinge commit 9f38d7e85e914f10a875f65d283432d55a12fc27 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:49 2009 -0800 x86: unify pgd_present Impact: cleanup Unify and demacro pgd_present. Signed-off-by: Jeremy Fitzhardinge commit 5ba7c91341be61e0942f792c237ac067d9f32f51 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:48 2009 -0800 x86: unify pud_present Impact: cleanup Unify and demacro pud_present. Signed-off-by: Jeremy Fitzhardinge commit 7c683851d96c8313586c0695b25ca41bde9f0f73 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:45 2009 -0800 x86: unify pte_present Impact: cleanup Unify and demacro pte_present. Signed-off-by: Jeremy Fitzhardinge commit 8de01da35e9dbbb4a9d1e9d5a37df98395dfa558 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:44 2009 -0800 x86: unify pte_same Impact: cleanup Unify and demacro pte_same. Signed-off-by: Jeremy Fitzhardinge commit a034a010f48bf49efe25098c16c16b9708ccbba5 Author: Jeremy Fitzhardinge Date: Thu Feb 5 11:30:43 2009 -0800 x86: unify pte_none Impact: cleanup Unify and demacro pte_none. Signed-off-by: Jeremy Fitzhardinge commit a0e8618c71b9b685977c1407dee928d86c5bdc2c Author: Anton Vorontsov Date: Thu Feb 5 22:04:59 2009 +0300 powerpc/83xx: Add FSL eSDHC support for MPC837x-RDB boards Simply add appropriate sdhci nodes. Note that U-Boot should configure pin multiplexing for eSDHC prior to Linux could use it. U-Boot should also fill-in the clock-frequency property (eSDHC clock depends on board-specific SCCR[ESDHCCM] bits). Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 766d2826728e7233ce6728ee8a8b822ac655af3a Author: Anton Vorontsov Date: Thu Feb 5 22:04:51 2009 +0300 powerpc/83xx: Convert existing sdhc nodes to new bindings - sdhc node renamed to sdhci ("sdhc" name is confusing since SDHC is used to name Secure Digital High Capacity cards, while SDHCI is an interface). - Get rid of "fsl,esdhc" compatible entry, it's replaced by the "fsl,-esdhc" scheme; - Get rid of `model' property. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 34bcda616e5308a0633d5bfabcc090d7aa09b494 Author: Anton Vorontsov Date: Thu Feb 5 22:04:47 2009 +0300 powerpc: Document FSL eSDHC bindings This patch documents OF bindings for the Freescale Enhanced Secure Digital Host Controller. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit cfb9fb5517faa9e61c7e874fc89ef9c9253a0902 Author: Takashi Iwai Date: Fri Feb 6 17:34:03 2009 +0100 ALSA: hda - Fix unused variable compile warning sound/pci/hda/patch_realtek.c:12693: warning: unused variable ‘i’ Signed-off-by: Takashi Iwai commit c5a4bcd0cac546c5d776af881c5e913ba4a9922d Author: Takashi Iwai Date: Fri Feb 6 17:22:05 2009 +0100 ALSA: hda - Use digital beep for AD codecs Use digital beep instead of analog pc-beep for AD codecs. Create the beep mixer controls dynamically on demand. Signed-off-by: Takashi Iwai commit a4ddeba9c8896cba8c6ce7a98c0b5c755c15a746 Author: Takashi Iwai Date: Fri Feb 6 17:21:09 2009 +0100 ALSA: hda - Remove superfluous code in patch_realtek.c codec->spec is reset in the caller side. Signed-off-by: Takashi Iwai commit c44765b8c8bfc883c9868ab7aef37d27b5b14be8 Author: Takashi Iwai Date: Fri Feb 6 16:48:10 2009 +0100 ALSA: hda - Clear codec->beep at release Clear codec->beep field in snd_hda_detach_beep_device() to be sure. Signed-off-by: Takashi Iwai commit f6c727813e03ce0f58d73808da8c9a6bc227249e Merge: 0b86a4e... 527bdfe... Author: Ingo Molnar Date: Fri Feb 6 16:46:30 2009 +0100 Merge branch 'core/header-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tip into core/header-fixes commit c8dcdf829ca1827a802eae841dd04de8c9d6653f Author: Takashi Iwai Date: Fri Feb 6 16:21:20 2009 +0100 ALSA: hda - Add missing NULL check in snd_hda_create_spdif_in_ctls() Signed-off-by: Takashi Iwai commit 527bdfee18ac6a4c026060c2c2b1144df9a5bf1f Author: Jaswinder Singh Rajput Date: Fri Feb 6 20:47:58 2009 +0530 make linux/types.h as assembly safe Signed-off-by: Jaswinder Singh Rajput commit 2678c07b07ac2076675e5d57653bdf02e9af1950 Author: Jaswinder Singh Rajput Date: Fri Feb 6 20:46:06 2009 +0530 Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h Signed-off-by: Jaswinder Singh Rajput commit d95ad4a9c04129f581fdffe01a379682e420ad9c Merge: 45bdd1c... 4a5a4c5... Author: Takashi Iwai Date: Fri Feb 6 16:13:34 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 45bdd1c1bbac56876cb9c71649300013281e4b22 Author: Takashi Iwai Date: Fri Feb 6 16:11:25 2009 +0100 ALSA: hda - Create beep mixer controls dynamically for Realtek codecs Create beep mixer controls dynamically for Realtek codecs instead of static arrays. Signed-off-by: Takashi Iwai commit e255265b475824fd5291df706093705ab677c29f Merge: 85ef237... 397d5ae... Author: Mark Brown Date: Fri Feb 6 14:19:45 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit 0464ac9ebd90cfd5792d3c1158af848281b7eb09 Merge: 0973a06... 9be260a... Author: Ingo Molnar Date: Fri Feb 6 14:42:54 2009 +0100 Merge branch 'linus' into x86/mm Conflicts: arch/x86/mm/fault.c commit 85ef2375ef2ebbb2bf660ad3a27c644d0ebf1b1a Author: Timur Tabi Date: Thu Feb 5 17:56:02 2009 -0600 ASoC: optimize init sequence of Freescale MPC8610 sound drivers In the Freescale MPC8610 sound drivers, relocate all code from the _prepare functions into the corresponding _hw_params functions. These drivers assumed that the sample size is known in the _prepare function and not in the _hw_params function, but this is not true. Move the code in fsl_dma_prepare() into fsl_dma_hw_param(). Create fsl_ssi_hw_params() and move the code from fsl_ssi_prepare() into it. Turn off snooping for DMA operations to/from I/O registers, since that's not necessary. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit 8836c273e4d44d088157b7ccbd2c108cefe70565 Author: Mike Frysinger Date: Fri Feb 6 18:12:35 2009 +0800 ASoC: Blackfin: drop unnecessary dma casts Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 92a950ff2b7091a735c32a6e57b8136650bc7812 Author: Mike Frysinger Date: Fri Feb 6 18:12:34 2009 +0800 ASoC: Blackfin: cleanup sport handling in ASoC Blackfin AC97 code - make sport number handling more dynamic as not all Blackfins have a linear sport map starting at 0 - indexes can be macroed away too Signed-off-by: Mike Frysinger Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 394827913e371b058849349c6fc9d52c59c31a3d Author: Yinghai Lu Date: Fri Feb 6 01:31:12 2009 -0800 forcedeth: enable msix to default Impact: change default msix and napic can work again Signed-off-by: Yinghai Lu Signed-off-by: David S. Miller commit 033e97b24ad6aaeddbb0180bbd87844513171430 Author: Yinghai Lu Date: Fri Feb 6 01:30:56 2009 -0800 forcedeth: ck804 and mcp55 doesn't need timerirq Impact: cleanup so get less irq. Signed-off-by: Yinghai Lu Signed-off-by: David S. Miller commit 0335ef5d59f40931e1b8f0a8be6a09dbc623081b Author: Yinghai Lu Date: Fri Feb 6 01:30:36 2009 -0800 forcedeth: disable irq at first before schedule rx Impact: clean up schedule it later after disable it. Signed-off-by: Yinghai Lu Signed-off-by: David S. Miller commit 79d30a581fc405fc63322622cb1517d95ed8f5ce Author: Yinghai Lu Date: Fri Feb 6 01:30:01 2009 -0800 forcedeth: don't clear nic_poll_irq too early Impact: fix bug for msix, we still need that flag to enable irq respectively Signed-off-by: Yinghai Lu Signed-off-by: David S. Miller commit ddb213f0768dc8b10cab37a21b85b567f1966d4a Author: Yinghai Lu Date: Fri Feb 6 01:29:23 2009 -0800 forcedeth: make msi-x different name for rx-tx Impact: make /proc/interrupts could show more info which irq is rx or other for msi-x add three name fields for rx, tx, other Signed-off-by: Yinghai Lu Signed-off-by: David S. Miller commit ff491a7334acfd74e515c896632e37e401f52676 Author: Pablo Neira Ayuso Date: Thu Feb 5 23:56:36 2009 -0800 netlink: change return-value logic of netlink_broadcast() Currently, netlink_broadcast() reports errors to the caller if no messages at all were delivered: 1) If, at least, one message has been delivered correctly, returns 0. 2) Otherwise, if no messages at all were delivered due to skb_clone() failure, return -ENOBUFS. 3) Otherwise, if there are no listeners, return -ESRCH. With this patch, the caller knows if the delivery of any of the messages to the listeners have failed: 1) If it fails to deliver any message (for whatever reason), return -ENOBUFS. 2) Otherwise, if all messages were delivered OK, returns 0. 3) Otherwise, if no listeners, return -ESRCH. In the current ctnetlink code and in Netfilter in general, we can add reliable logging and connection tracking event delivery by dropping the packets whose events were not successfully delivered over Netlink. Of course, this option would be settable via /proc as this approach reduces performance (in terms of filtered connections per seconds by a stateful firewall) but providing reliable logging and event delivery (for conntrackd) in return. This patch also changes some clients of netlink_broadcast() that may report ENOBUFS errors via printk. This error handling is not of any help. Instead, the userspace daemons that are listening to those netlink messages should resync themselves with the kernel-side if they hit ENOBUFS. BTW, netlink_broadcast() clients include those that call cn_netlink_send(), nlmsg_multicast() and genlmsg_multicast() since they internally call netlink_broadcast() and return its error value. Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit 612e244c12215f6f74973ea3b89bff96450dc530 Author: Alex Chiang Date: Thu Feb 5 23:55:45 2009 -0800 e1000e: normalize usage of serdes_has_link Cosmetic change to use struct e1000_mac_info.serdes_has_link consistently as the 'bool' that it's declared as. No functional change. Signed-off-by: Alex Chiang Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit 34b0368c6864321c7020ddc8cbaec9a63b4e3de8 Author: Peter P Waskiewicz Jr Date: Thu Feb 5 23:54:42 2009 -0800 ixgbe: Display EEPROM version in ethtool -i queries Currently ixgbe does not display the EEPROM version in ethtool -i, where other drivers do. The EEPROM version is located at offset 0x29. This patch adds support to display it. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3201d3130ee3eb49ed0e905654568f02736afdcb Author: Peter P Waskiewicz Jr Date: Thu Feb 5 23:54:21 2009 -0800 ixgbe: Update link setup code to better support autonegotiation of speed The current code has some flaws in it when performing autonegotiation, especially on KX/KX4 links. This patch updates the code to better handle the autonegotiation states on link setup. The patch also removes a redundant link configuration call on driver load, and moves link configuration to the ->open() path. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bc97114d3f998a040876695a9b2b5be0b1a5320b Author: Peter P Waskiewicz Jr Date: Thu Feb 5 23:53:59 2009 -0800 ixgbe: Refactor set_num_queues() and cache_ring_register() The current code to determine the number of queues the device will want on driver initialization is ugly and difficult to maintain. It also doesn't allow for easy expansion for future features or future hardware. This patch refactors these routines, and make them easier to deal with. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b25c9da19889e33bb4ee2dff369fc46caa4543b0 Author: Wu Fengguang Date: Fri Feb 6 15:02:27 2009 +0800 ALSA: enable concurrent digital outputs for ALC1200 Add the SPDIF pin as slave digital out to enable concurrent HDMI/SPDIF outputs for ASUS M3A-H/HDMI with ALC1200 codec. Tested-by: Thomas Schneider Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 56035022d86fff45299288cb372a42f752ba23fa Author: Herbert Xu Date: Thu Feb 5 21:26:52 2009 -0800 gro: Fix frag_list merging on imprecisely split packets The previous fix ad0f9904444de1309dedd2b9e365cae8af77d9b1 (gro: Fix handling of imprecisely split packets) only fixed the case of frags merging, frag_list merging in the same circumstances were still broken. In particular, the packet headers end up in the data stream. This patch fixes this plus another issue where an imprecisely split packet header may be read incorrectly (this is mostly harmless since it'll simply cause the packet to not match and be rejected for GRO). Thanks to Emil Tantilov and Jeff Kirsher for helping to track this down. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fe2918b098cdbf55b69ba8762bd3de0ae64f33ff Author: Graf Yang Date: Thu Feb 5 21:26:19 2009 -0800 net: fix some trailing whitespaces Signed-off-by: Graf Yang Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 33dccbb050bbe35b88ca8cf1228dcf3e4d4b3554 Author: Herbert Xu Date: Thu Feb 5 21:25:32 2009 -0800 tun: Limit amount of queued packets per device Unlike a normal socket path, the tuntap device send path does not have any accounting. This means that the user-space sender may be able to pin down arbitrary amounts of kernel memory by continuing to send data to an end-point that is congested. Even when this isn't an issue because of limited queueing at most end points, this can also be a problem because its only response to congestion is packet loss. That is, when those local queues at the end-point fills up, the tuntap device will start wasting system time because it will continue to send data there which simply gets dropped straight away. Of course one could argue that everybody should do congestion control end-to-end, unfortunately there are people in this world still hooked on UDP, and they don't appear to be going away anywhere fast. In fact, we've always helped them by performing accounting in our UDP code, the sole purpose of which is to provide congestion feedback other than through packet loss. This patch attempts to apply the same bandaid to the tuntap device. It creates a pseudo-socket object which is used to account our packets just as a normal socket does for UDP. Of course things are a little complex because we're actually reinjecting traffic back into the stack rather than out of the stack. The stack complexities however should have been resolved by preceding patches. So this one can simply start using skb_set_owner_w. For now the accounting is essentially disabled by default for backwards compatibility. In particular, we set the cap to INT_MAX. This is so that existing applications don't get confused by the sudden arrival EAGAIN errors. In future we may wish (or be forced to) do this by default. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 304cc6ae1bf7a8e6d00053fbe0b7e2b26cdddda2 Author: Ingo Molnar Date: Fri Feb 6 01:12:02 2009 +0100 ring_buffer: remove unused flags parameter, fix Oprofile's ring-buffer use was not considered. Signed-off-by: Ingo Molnar commit cb5629b10d64a8006622ce3a52bc887d91057d69 Merge: 8920d5a... f01d1d5... Author: James Morris Date: Fri Feb 6 11:01:45 2009 +1100 Merge branch 'master' into next Conflicts: fs/namei.c Manually merged per: diff --cc fs/namei.c index 734f2b5,bbc15c2..0000000 --- a/fs/namei.c +++ b/fs/namei.c @@@ -860,9 -848,8 +849,10 @@@ static int __link_path_walk(const char nd->flags |= LOOKUP_CONTINUE; err = exec_permission_lite(inode); if (err == -EAGAIN) - err = vfs_permission(nd, MAY_EXEC); + err = inode_permission(nd->path.dentry->d_inode, + MAY_EXEC); + if (!err) + err = ima_path_check(&nd->path, MAY_EXEC); if (err) break; @@@ -1525,14 -1506,9 +1509,14 @@@ int may_open(struct path *path, int acc flag &= ~O_TRUNC; } - error = vfs_permission(nd, acc_mode); + error = inode_permission(inode, acc_mode); if (error) return error; + - error = ima_path_check(&nd->path, ++ error = ima_path_check(path, + acc_mode & (MAY_READ | MAY_WRITE | MAY_EXEC)); + if (error) + return error; /* * An append-only file must be opened in append mode for writing. */ Signed-off-by: James Morris commit b6f11df26fdc28324cf9c9e3b77f2dc985c1bb13 Author: Arnaldo Carvalho de Melo Date: Thu Feb 5 18:02:00 2009 -0200 trace: Call tracing_reset_online_cpus before tracer->init() Impact: cleanup To make it easy for ftrace plugin writers, as this was open coded in the existing plugins Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frédéric Weisbecker Signed-off-by: Ingo Molnar commit 51a763dd84253bab1d0a1e68e11a7753d1b702ca Author: Arnaldo Carvalho de Melo Date: Thu Feb 5 16:14:13 2009 -0200 tracing: Introduce trace_buffer_{lock_reserve,unlock_commit} Impact: new API These new functions do what previously was being open coded, reducing the number of details ftrace plugin writers have to worry about. It also standardizes the handling of stacktrace, userstacktrace and other trace options we may introduce in the future. With this patch, for instance, the blk tracer (and some others already in the tree) can use the "userstacktrace" /d/tracing/trace_options facility. $ codiff /tmp/vmlinux.before /tmp/vmlinux.after linux-2.6-tip/kernel/trace/trace.c: trace_vprintk | -5 trace_graph_return | -22 trace_graph_entry | -26 trace_function | -45 __ftrace_trace_stack | -27 ftrace_trace_userstack | -29 tracing_sched_switch_trace | -66 tracing_stop | +1 trace_seq_to_user | -1 ftrace_trace_special | -63 ftrace_special | +1 tracing_sched_wakeup_trace | -70 tracing_reset_online_cpus | -1 13 functions changed, 2 bytes added, 355 bytes removed, diff: -353 linux-2.6-tip/block/blktrace.c: __blk_add_trace | -58 1 function changed, 58 bytes removed, diff: -58 linux-2.6-tip/kernel/trace/trace.c: trace_buffer_lock_reserve | +88 trace_buffer_unlock_commit | +86 2 functions changed, 174 bytes added, diff: +174 /tmp/vmlinux.after: 16 functions changed, 176 bytes added, 413 bytes removed, diff: -237 Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frédéric Weisbecker Signed-off-by: Ingo Molnar commit 0a9877514c4fed10a70720293b37213dd172ee3e Author: Arnaldo Carvalho de Melo Date: Thu Feb 5 16:12:56 2009 -0200 ring_buffer: remove unused flags parameter Impact: API change, cleanup >From ring_buffer_{lock_reserve,unlock_commit}. $ codiff /tmp/vmlinux.before /tmp/vmlinux.after linux-2.6-tip/kernel/trace/trace.c: trace_vprintk | -14 trace_graph_return | -14 trace_graph_entry | -10 trace_function | -8 __ftrace_trace_stack | -8 ftrace_trace_userstack | -8 tracing_sched_switch_trace | -8 ftrace_trace_special | -12 tracing_sched_wakeup_trace | -8 9 functions changed, 90 bytes removed, diff: -90 linux-2.6-tip/block/blktrace.c: __blk_add_trace | -1 1 function changed, 1 bytes removed, diff: -1 /tmp/vmlinux.after: 10 functions changed, 91 bytes removed, diff: -91 Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frédéric Weisbecker Signed-off-by: Ingo Molnar commit 8920d5ad6ba74ae8ab020e90cc4d976980e68701 Author: Rajiv Andrade Date: Thu Feb 5 13:06:30 2009 -0200 TPM: integrity fix Fix to function which is called by IMA, now tpm_chip_find_get() considers the case in which the machine doesn't have a TPM or, if it has, its TPM isn't enabled. Signed-off-by: Mimi Zohar Signed-off-by: Rajiv Andrade Acked-by: Serge Hallyn Signed-off-by: James Morris commit 64c61d80a6e4c935a09ac5ff1d952967ca1268f8 Author: James Morris Date: Thu Feb 5 09:28:26 2009 +1100 IMA: fix ima_delete_rules() definition Fix ima_delete_rules() definition so sparse doesn't complain. Signed-off-by: James Morris commit aa7168f47d912459a99a01c93714f447b44bfa72 Author: Mimi Zohar Date: Wed Feb 4 09:07:03 2009 -0500 Integrity: IMA update maintainers Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 1df9f0a73178718969ae47d813b8e7aab2cf073c Author: Mimi Zohar Date: Wed Feb 4 09:07:02 2009 -0500 Integrity: IMA file free imbalance The number of calls to ima_path_check()/ima_file_free() should be balanced. An extra call to fput(), indicates the file could have been accessed without first being measured. Although f_count is incremented/decremented in places other than fget/fput, like fget_light/fput_light and get_file, the current task must already hold a file refcnt. The call to __fput() is delayed until the refcnt becomes 0, resulting in ima_file_free() flagging any changes. - add hook to increment opencount for IPC shared memory(SYSV), shmat files, and /dev/zero - moved NULL iint test in opencount_get() Signed-off-by: Mimi Zohar Acked-by: Serge Hallyn Signed-off-by: James Morris commit f4bd857bc8ed997c25ec06b56ef8064aafa6d4f3 Author: Mimi Zohar Date: Wed Feb 4 09:07:01 2009 -0500 integrity: IMA policy open Sequentialize access to the policy file - permit multiple attempts to replace default policy with a valid policy Signed-off-by: Mimi Zohar Acked-by: Serge Hallyn Signed-off-by: James Morris commit 4af4662fa4a9dc62289c580337ae2506339c4729 Author: Mimi Zohar Date: Wed Feb 4 09:07:00 2009 -0500 integrity: IMA policy Support for a user loadable policy through securityfs with support for LSM specific policy data. - free invalid rule in ima_parse_add_rule() Signed-off-by: Mimi Zohar Acked-by: Serge Hallyn Signed-off-by: James Morris commit bab739378758a1e2b2d7ddcee7bc06cf4c591c3c Author: Mimi Zohar Date: Wed Feb 4 09:06:59 2009 -0500 integrity: IMA display Make the measurement lists available through securityfs. - removed test for NULL return code from securityfs_create_file/dir Signed-off-by: Mimi Zohar Acked-by: Serge Hallyn Signed-off-by: James Morris commit 3323eec921efd815178a23107ab63588c605c0b2 Author: Mimi Zohar Date: Wed Feb 4 09:06:58 2009 -0500 integrity: IMA as an integrity service provider IMA provides hardware (TPM) based measurement and attestation for file measurements. As the Trusted Computing (TPM) model requires, IMA measures all files before they are accessed in any way (on the integrity_bprm_check, integrity_path_check and integrity_file_mmap hooks), and commits the measurements to the TPM. Once added to the TPM, measurements can not be removed. In addition, IMA maintains a list of these file measurements, which can be used to validate the aggregate value stored in the TPM. The TPM can sign these measurements, and thus the system can prove, to itself and to a third party, the system's integrity in a way that cannot be circumvented by malicious or compromised software. - alloc ima_template_entry before calling ima_store_template() - log ima_add_boot_aggregate() failure - removed unused IMA_TEMPLATE_NAME_LEN - replaced hard coded string length with #define name Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 6146f0d5e47ca4047ffded0fb79b6c25359b386c Author: Mimi Zohar Date: Wed Feb 4 09:06:57 2009 -0500 integrity: IMA hooks This patch replaces the generic integrity hooks, for which IMA registered itself, with IMA integrity hooks in the appropriate places directly in the fs directory. Signed-off-by: Mimi Zohar Acked-by: Serge Hallyn Signed-off-by: James Morris commit 8f9ca475c994e4d32f405183d07e8c7eedbdbdb4 Author: Ingo Molnar Date: Thu Feb 5 16:21:53 2009 +0100 x86: clean up arch/x86/Kconfig* - Consistent alignment of help text - Use the ---help--- keyword everywhere consistently as a visual separator - fix whitespace mismatches Signed-off-by: Ingo Molnar commit 4f179d121885142fb907b64956228b369d495958 Author: Ingo Molnar Date: Sun Feb 1 11:25:57 2009 +0100 x86, numaq: cleanups Also move xquad_portio over to where it's allocated. Signed-off-by: Ingo Molnar commit 9d45cf9e36bf9bcf16df6e1cbf049807c8402823 Merge: a146649... 0cd5c3c... Author: Ingo Molnar Date: Sat Jan 31 17:32:31 2009 +0100 Merge branch 'x86/urgent' into x86/apic Conflicts: arch/x86/mach-default/setup.c Semantic merge: arch/x86/kernel/irqinit_32.c Signed-off-by: Ingo Molnar commit a146649bc19d5eba4f5bfac6720c5f252d517a71 Author: Ingo Molnar Date: Sat Jan 31 14:09:06 2009 +0100 smp, generic: introduce arch_disable_smp_support(), build fix This function should be provided on UP too. Signed-off-by: Ingo Molnar commit c5e954820335ef5aed1662b70aaf5deb9de16735 Author: Yinghai Lu Date: Fri Jan 30 17:29:27 2009 -0800 x86: move default_ipi_xx back to ipi.c Impact: cleanup only leave _default_ipi_xx etc in .h Beyond the cleanup factor, this saves a bit of code size as well: text data bss dec hex filename 7281931 1630144 1463304 10375379 9e50d3 vmlinux.before 7281753 1630144 1463304 10375201 9e5021 vmlinux.after Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit fdbecd9fd14198853bec4cbae8bc7af93f2e3de3 Author: Ingo Molnar Date: Sat Jan 31 03:57:12 2009 +0100 x86, apic: explain the purpose of max_physical_apicid Signed-off-by: Ingo Molnar commit 65a4e574d2382d83f71b30ea92f86d2e40a6ef8d Author: Ingo Molnar Date: Sat Jan 31 03:36:17 2009 +0100 smp, generic: introduce arch_disable_smp_support() instead of disable_ioapic_setup() Impact: cleanup disable_ioapic_setup() in init/main.c is ugly as the function is x86-specific. The #ifdef inline prototype there is ugly too. Replace it with a generic arch_disable_smp_support() function - which has a weak alias for non-x86 architectures and for non-ioapic x86 builds. Signed-off-by: Ingo Molnar commit 56fc82c5360cdf0b250b5eb74f38657b0402faa5 Author: Tejun Heo Date: Fri Feb 6 00:48:02 2009 +0900 modpost: NOBITS sections may point beyond the end of the file Impact: fix link failure on certain toolchains with specific configs Recent percpu change made x86_64 split .data.init section into three separate segments - data.init, percpu and data.init2. data.init2 gets .data.nosave and .bss.* and is followed by .notes segment. Depending on configuration both segments might contain no data, in which case the tool chain makes the section header to contain offset beyond the end of the file. modpost isn't too happy about it and fails build - as reported by Pawel Dziekonski: Building modules, stage 2. MODPOST 416 modules FATAL: vmlinux is truncated. sechdrs[i].sh_offset=10354688 > sizeof(*hrd)=64 make[1]: *** [__modpost] Error 1 Teach modpost that NOBITS section may point beyond the end of the file and that .modinfo can't be NOBITS. Reported-by: Pawel Dziekonski Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 130ace11a9dc682541336d1fe5cb3bc7771a149e Author: Tejun Heo Date: Fri Feb 6 00:57:48 2009 +0900 x86: style cleanups for xen assemblies Make the following style cleanups: * drop unnecessary //#include from xen-asm_32.S * compulsive adding of space after comma * reformat multiline comments Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit dd542f169aaa35f4ac0d063e04b41c648a93887c Author: Takashi Iwai Date: Thu Feb 5 16:15:39 2009 +0100 ALSA: ca0106 - Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit 2ebfb8eeb8f244f9d25937d31a947895cf819e26 Author: Takashi Iwai Date: Thu Feb 5 16:11:58 2009 +0100 ALSA: Add missing KERN_* prefix to printk in other sound/* Signed-off-by: Takashi Iwai commit ee419653a38de93b75a577851d9e4003cf0bbe07 Author: Takashi Iwai Date: Thu Feb 5 16:11:31 2009 +0100 ALSA: Fix missing KERN_* prefix to printk in sound/pci Signed-off-by: Takashi Iwai commit 14ab08610971eb1db572ad8ca63acd13bc4d4caf Author: Takashi Iwai Date: Thu Feb 5 16:09:57 2009 +0100 ALSA: intel8x0 - Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit 28a97c194cec477073ae341f15b836437d8ef8e5 Author: Takashi Iwai Date: Thu Feb 5 16:08:14 2009 +0100 ALSA: emu10k1 - Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit e2ea7cfc703cba3299d22db728516a0fc1a9717c Author: Takashi Iwai Date: Thu Feb 5 16:07:02 2009 +0100 ALSA: Add missing KERN_* prefix to printk in sound/pci/ice1712 Signed-off-by: Takashi Iwai commit 42b0158bdb1344b05cc1e98c363fba9e97137565 Author: Takashi Iwai Date: Thu Feb 5 16:01:46 2009 +0100 ALSA: emux - Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit 45203832df2fa9e94ca0a249ddb20d2b077e58cc Author: Takashi Iwai Date: Thu Feb 5 15:51:50 2009 +0100 ALSA: Add missing KERN_* prefix to printk in sound/drivers Signed-off-by: Takashi Iwai commit 006de267351aa3d836f3307370eae7ec16eac09d Author: Takashi Iwai Date: Thu Feb 5 15:51:04 2009 +0100 ALSA: Add missing KERN_* prefix to printk in sound/core Signed-off-by: Takashi Iwai commit 939778aedd9386e13051a9e1d57c14cba2b6ae13 Author: Takashi Iwai Date: Thu Feb 5 15:57:55 2009 +0100 ALSA: hda - Add missing KERN_* prefix to printk ... and disable the annoying debug message. Signed-off-by: Takashi Iwai commit 54530bded6ecf22d683423b66fc3cd6dddb249aa Author: Takashi Iwai Date: Thu Feb 5 15:55:18 2009 +0100 ALSA: usb - Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit 69b745ff91836dfc25b26d7be0ead02a6fc0286e Merge: ef3892b... e4d0407... Author: Ingo Molnar Date: Thu Feb 5 15:54:27 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu commit 4c9f1d3ed7e5f910b66dc4d1456cfac17e58cf0e Author: Takashi Iwai Date: Thu Feb 5 15:47:51 2009 +0100 ALSA: isa/*: Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit 91f050604cc045a0b7aa0460d36eb6e0f0cb301a Author: Takashi Iwai Date: Thu Feb 5 15:46:48 2009 +0100 ALSA: gus - Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit 76d498e43fa5f9f0a148dca8915cc7e9d9b9a643 Author: Takashi Iwai Date: Thu Feb 5 15:45:05 2009 +0100 ALSA: wss - Add missing KERN_* prefix to printk Signed-off-by: Takashi Iwai commit 6c7578bb0a631d018a68e5f90554f29fbd928055 Author: Hans-Christian Egtvedt Date: Thu Feb 5 13:11:01 2009 +0100 ALSA: Add Atmel ALSA drivers directory Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen Signed-off-by: Takashi Iwai commit 4ede028f8716523fc31e0d3d01b81405613dfb8f Author: Hans-Christian Egtvedt Date: Thu Feb 5 13:11:00 2009 +0100 ALSA: Add ALSA driver for Atmel AC97 controller This patch adds ALSA support for the AC97 controller found on Atmel AVR32 devices. Tested on ATSTK1006 + ATSTK1000 with a development board with a AC97 codec. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Takashi Iwai commit e4967d6016b7785edafdb871e6d3e4426cb4bd1f Author: Hans-Christian Egtvedt Date: Thu Feb 5 13:10:59 2009 +0100 ALSA: Add ALSA driver for Atmel Audio Bitstream DAC This patch adds ALSA support for the Audio Bistream DAC found on Atmel AVR32 devices. The ABDAC is an Atmel IP which might show up on AT91 devices in the future, hence making a generic driver which can be utilized by AT91 arch if needed. Datasheet describing the ABDAC peripheral is available in the AT32AP7000 datasheet, http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Tested on ATSTK1006 + ATSTK1000 with a class D amplifier stage. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Takashi Iwai commit 6bd0dd5f0ec67f654ebf95be8ef414afae1eecb7 Merge: 18e352e... b1a0aac... Author: Takashi Iwai Date: Thu Feb 5 15:08:33 2009 +0100 Merge branch 'topic/snd_card_new-err' into topic/atmel commit e6161653094f14b1add10efe3493a2e526fe9538 Author: Tim Blechmann Date: Thu Feb 5 13:01:54 2009 +0100 ALSA: snd_pcm_new api cleanup Impact: cleanup snd_pcm_new takes a char *id argument, although it is not modifying the string. it can therefore be declared as const char *id. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit 632da7321b7e9fa5375956280f8a0f380836c22d Author: Takashi Iwai Date: Thu Feb 5 15:02:06 2009 +0100 ALSA: hda - Add quirk for another HP laptop Add model=laptop entry for another HP laptop (103c:3077) with AD1984A. Signed-off-by: Takashi Iwai commit dac74940289f350c2590bec92737833bad608541 Author: Steven Rostedt Date: Thu Feb 5 01:13:38 2009 -0500 trace: code style clean up Ingo Molnar suggested using goto logic to keep the indentation down and to be able to remove the nasty line breaks. This actually makes the code a bit more readable. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7be421510b91491d5aa5a29fa1005712039b95af Author: Arnaldo Carvalho de Melo Date: Thu Feb 5 01:13:37 2009 -0500 trace: Remove unused trace_array_cpu parameter Impact: cleanup Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 97e5b191ae7dc0f4f5b82b9db29782928b103b4d Author: Arnaldo Carvalho de Melo Date: Thu Feb 5 01:13:36 2009 -0500 trace_branch: Remove unused function Impact: cleanup Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 268ccda0cb4d1292029d07ee3dbd07117baf6ecb Author: Arnaldo Carvalho de Melo Date: Wed Feb 4 20:16:39 2009 -0200 trace: assign defaults at register_ftrace_event Impact: simplification of tracers As all tracers are doing this we might as well do it in register_ftrace_event and save one branch each time we call these callbacks. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 43769f10b4826376cbf4ce17af74a5b4e8dc4fcd Merge: ae7462b... eda58a8... Author: Ingo Molnar Date: Thu Feb 5 14:33:31 2009 +0100 Merge branches 'tracing/ftrace' and 'linus' into tracing/core commit f036be96dd9ce442ffb9ab33e3c165f5178815c0 Author: Ingo Molnar Date: Thu Feb 5 13:45:43 2009 +0100 printk: introduce printk_once() This pattern shows up frequently in the kernel: static int once = 1; ... if (once) { once = 0; printk(KERN_ERR "message\n"); } ... So add a printk_once() helper macro that reduces this to a single line of: printk_once(KERN_ERR "message\n"); It works analogously to WARN_ONCE() & friends. (We use a macro not an inline because vararg expansion in inlines looks awkward and the macro is simple enough.) Signed-off-by: Ingo Molnar commit 67f7857ab12e9f8005ef988f0b667396e07622c2 Author: Takashi Iwai Date: Thu Feb 5 12:14:52 2009 +0100 ALSA: hda - Add quirk for HP zenith laptop Added model=laptop for another HP laptop (103c:3072) with AD1984A codec. Signed-off-by: Takashi Iwai commit 238c0270baade3a542c1497712dd8e66cc9cc476 Author: Mark Hills Date: Wed Feb 4 22:34:34 2009 +0000 ALSA: snd-usb-caiaq: Increase version number to 1.3.12 Indicates fixes affecting control messages and switching of input mode on Audio 8 DJ and Audio 4 DJ. Signed-off-by: Mark Hills Acked-by: Daniel Mack Signed-off-by: Takashi Iwai commit a8564155a9cb3b5c4a18afc451679a1f02c647b5 Author: Mark Hills Date: Wed Feb 4 22:34:33 2009 +0000 ALSA: snd-usb-caiaq: Remove duplicate A8DJ control Remove a duplicate control which causes an error when it is registered, and causes later controls to not be registered. The device does not have a fourth ground lift control. Signed-off-by: Mark Hills Acked-by: Daniel Mack Signed-off-by: Takashi Iwai commit 9a9527ed49f45e75a5b005592a261ab2bd7c1b1d Author: Mark Hills Date: Wed Feb 4 22:34:32 2009 +0000 ALSA: snd-usb-caiaq: Do not expose hardware input mode 0 of A4DJ In the context of the Audio 4 DJ (when compared to Audio 8 DJ), hardware input mode 0 is not used. Expose modes 1 (line) and 2 (phono) to the user as modes 0 and 1 respectively. Signed-off-by: Mark Hills Acked-by: Daniel Mack Signed-off-by: Takashi Iwai commit e3ca4c9982e3b84da859ca20a3ca0a9d5bda8c30 Author: Mark Hills Date: Wed Feb 4 22:34:31 2009 +0000 ALSA: snd-usb-caiaq: Set default input mode of A4DJ Do not start the device with input mode undefined. Mimic the behaviour of the Audio 8 DJ and start in phono input mode. Signed-off-by: Mark Hills Acked-by: Daniel Mack Signed-off-by: Takashi Iwai commit 705350f8bd6b44fda3f0dcc3e6f4b453da4378dd Author: Mark Hills Date: Wed Feb 4 22:34:30 2009 +0000 ALSA: snd-usb-caiaq: Send the correct command when setting controls Fixes a bug where an incorrect command was sent which had no effect on the device. Signed-off-by: Mark Hills Acked-by: Daniel Mack Signed-off-by: Takashi Iwai commit 28b7e343ee63454d563a71d2d5f769fc297fd5ad Author: Takashi Iwai Date: Thu Feb 5 09:28:08 2009 +0100 ALSA: Remove superfluous hwdep ops Remove NOP hwdep ops in sound drivers. Signed-off-by: Takashi Iwai commit e0d80648c0037b8b815317a52b782d4ea0c287f0 Author: Takashi Iwai Date: Thu Feb 5 09:17:50 2009 +0100 ALSA: hwdep - Fix coding style Fix misc coding style issues in hwdep.h and add some comments. Signed-off-by: Takashi Iwai commit 345d0b1964df83a6c3fff815fabd34e37265581f Author: Takashi Iwai Date: Thu Feb 5 09:10:20 2009 +0100 ALSA: hwdep - Make open callback optional Don't require the open callback as mandatory. Now all hwdeps ops can be optional. Signed-off-by: Takashi Iwai commit 45c1d85bcc6438454d104966c30fd2497ae1cdd7 Author: Matthew Ranostay Date: Wed Feb 4 17:49:41 2009 -0500 ALSA: hda: Added stac378x digital slave out struct Added the ADATOut nid to a slave digital outs struct to allow output via the DigOut pin. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 29d4ab4d6e996ef4c71910c915611151c34f1c75 Author: Herton Ronaldo Krzesinski Date: Wed Feb 4 11:37:27 2009 -0500 ALSA: hda - Don't call stac92xx_parse_auto_config with wrong dig_in Don't use uneeded/wrong third parameter for stac92xx_parse_auto_config in patch_stac92hd71bxx (no SPDIF in). Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 6df703aefc81252447c69d24d2863007de2338e9 Author: Herton Ronaldo Krzesinski Date: Wed Feb 4 11:34:22 2009 -0500 ALSA: hda - Dynamic detection of dmics/dmuxes/smuxes in stac92hd71bxx Detect the number of connected ports and number of smuxes dynamically, looking at pin configs, using new introduced functions stac92hd71bxx_connected_ports and stac92hd71bxx_connected_smuxes. Also use proper input mux configuration for 4port and 5port models. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 616f89e74cd954e04ae4f8bad6a3dc8730a4a47a Author: Herton Ronaldo Krzesinski Date: Wed Feb 4 11:23:19 2009 -0500 ALSA: hda - Additional pin nids for STAC92HD71Bx and STAC92HD75Bx codecs Current code for STAC92HD71Bx and STAC92HD75Bx doesn't consider pin complexes 0x20 and 0x27. Also for 4 port models, nids 0x0e and 0x0f are vendor reserved. This commit changes code so it'll consider the additional pin complexes for models that have it, and avoid reserved nids to be touched on 4 port models. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 306f47bd639b352b29193a3b69ef1d3546003efb Merge: 8f95c10... e8c0ee5... Author: Takashi Iwai Date: Thu Feb 5 07:42:28 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 18114f61359ac05e3aa797d53d63f40db41f798d Author: Hiroshi Shimamoto Date: Fri Jan 30 18:16:46 2009 -0800 x86: uaccess: use errret as error value in __put_user_size() Impact: cleanup In __put_user_size() macro errret is used for error value. But if size is 8, errret isn't passed to__put_user_asm_u64(). This behavior is inconsistent. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit e4d0407185cdbdcfd99fc23bde2e5454bbc46329 Author: Jeremy Fitzhardinge Date: Mon Feb 2 13:55:54 2009 -0800 xen: use direct ops on 64-bit Enable the use of the direct vcpu-access operations on 64-bit. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 5393744b71ce797f1b1546fafaed127fc50c2b61 Author: Jeremy Fitzhardinge Date: Mon Feb 2 13:55:42 2009 -0800 xen: make direct versions of irq_enable/disable/save/restore to common code Now that x86-64 has directly accessible percpu variables, it can also implement the direct versions of these operations, which operate on a vcpu_info structure directly embedded in the percpu area. In fact, the 64-bit versions are more or less identical, and so can be shared. The only two differences are: 1. xen_restore_fl_direct takes its argument in eax on 32-bit, and rdi on 64-bit. Unfortunately it isn't possible to directly refer to the 2nd lsb of rdi directly (as you can with %ah), so the code isn't quite as dense. 2. check_events needs to variants to save different registers. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 383414322b3b3ced0cbc146801e0cc6c60a6c5f4 Author: Jeremy Fitzhardinge Date: Mon Feb 2 13:55:31 2009 -0800 xen: setup percpu data pointers We need to access percpu data fairly early, so set up the percpu registers as soon as possible. We only need to load the appropriate segment register. We already have a GDT, but its hard to change it early because we need to manipulate the pagetable to do so, and that hasn't been set up yet. Also, set the kernel stack when bringing up secondary CPUs. If we don't they all end up sharing the same stack... Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 327641da8e3e227f42690479182b896fd19486be Merge: 1f4f931... ef3892b... Author: H. Peter Anvin Date: Wed Feb 4 16:58:26 2009 -0800 Merge branch 'core/percpu' into x86/paravirt commit 4cc7f68d65558f683c702d4fe3a5aac4c5227b97 Author: Herbert Xu Date: Wed Feb 4 16:55:54 2009 -0800 net: Reexport sock_alloc_send_pskb The function sock_alloc_send_pskb is completely useless if not exported since most of the code in it won't be used as is. In fact, this code has already been duplicated in the tun driver. Now that we need accounting in the tun driver, we can in fact use this function as is. So this patch marks it for export again. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9a279bcbe347496799711155ed41a89bc40f79c5 Author: Herbert Xu Date: Wed Feb 4 16:55:27 2009 -0800 net: Partially allow skb destructors to be used on receive path As it currently stands, skb destructors are forbidden on the receive path because the protocol end-points will overwrite any existing destructor with their own. This is the reason why we have to call skb_orphan in the loopback driver before we reinject the packet back into the stack, thus creating a period during which loopback traffic isn't charged to any socket. With virtualisation, we have a similar problem in that traffic is reinjected into the stack without being associated with any socket entity, thus providing no natural congestion push-back for those poor folks still stuck with UDP. Now had we been consistent in telling them that UDP simply has no congestion feedback, I could just fob them off. Unfortunately, we appear to have gone to some length in catering for this on the standard UDP path, with skb/socket accounting so that has created a very unhealthy dependency. Alas habits are difficult to break out of, so we may just have to allow skb destructors on the receive path. It turns out that making skb destructors useable on the receive path isn't as easy as it seems. For instance, simply adding skb_orphan to skb_set_owner_r isn't enough. This is because we assume all over the IP stack that skb->sk is an IP socket if present. The new transparent proxy code goes one step further and assumes that skb->sk is the receiving socket if present. Now all of this can be dealt with by adding simple checks such as only treating skb->sk as an IP socket if skb->sk->sk_family matches. However, it turns out that for bridging at least we don't need to do all of this work. This is of interest because most virtualisation setups use bridging so we don't actually go through the IP stack on the host (with the exception of our old nemesis the bridge netfilter, but that's easily taken care of). So this patch simply adds skb_orphan to the point just before we enter the IP stack, but after we've gone through the bridge on the receive path. It also adds an skb_orphan to the one place in netfilter that touches skb->sk/skb->destructor, that is, tproxy. One word of caution, because of the internal code structure, anyone wishing to deploy this must use skb_set_owner_w as opposed to skb_set_owner_r since many functions that create a new skb from an existing one will invoke skb_set_owner_w on the new skb. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7870389478d3c682c79c07abe7f1fce8b8a81952 Merge: 005c79b... b98ac70... Author: David S. Miller Date: Wed Feb 4 16:52:41 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 005c79b3d4df48fa01b77e5ccf46e5cd4754cfd5 Merge: 4d7902f... eda58a8... Author: David S. Miller Date: Wed Feb 4 16:51:58 2009 -0800 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 1f4f931501e9270c156d05ee76b7b872de486304 Author: Jeremy Fitzhardinge Date: Mon Feb 2 13:58:06 2009 -0800 xen: fix 32-bit build resulting from mmu move Moving the mmu code from enlighten.c to mmu.c inadvertently broke the 32-bit build. Fix it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 4d7902f22b0804730b80f7a4147f676430248a3a Author: Andy Fleming Date: Wed Feb 4 16:43:44 2009 -0800 gianfar: Fix stashing support Stashing is only supported on the 85xx (e500-based) SoCs. The 83xx and 86xx chips don't have a proper cache for this. U-Boot has been updated to add stashing properties to the device tree nodes of gianfar devices on 85xx. So now we modify Linux to keep stashing off unless those properties are there. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 0fd56bb5be6455d0d42241e65aed057244665e5e Author: Andy Fleming Date: Wed Feb 4 16:43:16 2009 -0800 gianfar: Add support for skb recycling Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 1577ecef766650a57fceb171acee2b13cbfaf1d3 Author: Andy Fleming Date: Wed Feb 4 16:42:12 2009 -0800 netdev: Merge UCC and gianfar MDIO bus drivers The MDIO bus drivers for the UCC and gianfar ethernet controllers are essentially the same. There's no reason to duplicate that much code. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 9c46f6d42f1b5627c49a5906cb5b315ad8716ff0 Author: Alex Williamson Date: Wed Feb 4 16:36:34 2009 -0800 virtio_net: Allow setting the MAC address of the NIC Many physical NICs let the OS re-program the "hardware" MAC address. Virtual NICs should allow this too. Signed-off-by: Alex Williamson Acked-by: Mark McLoughlin Signed-off-by: David S. Miller commit 0bde95690d65653e420d04856c5d5783155c747c Author: Alex Williamson Date: Wed Feb 4 09:02:50 2009 +0000 virtio_net: Add support for VLAN filtering in the hypervisor VLAN filtering allows the hypervisor to drop packets from VLANs that we're not a part of, further reducing the number of extraneous packets recieved. This makes use of the VLAN virtqueue command class. The CTRL_VLAN feature bit tells us whether the backend supports VLAN filtering. Signed-off-by: Alex Williamson Acked-by: Rusty Russell Signed-off-by: David S. Miller commit f565a7c259d71cc186753653d978c646d2354b36 Author: Alex Williamson Date: Wed Feb 4 09:02:45 2009 +0000 virtio_net: Add a MAC filter table Make use of the MAC control virtqueue class to support a MAC filter table. The filter table is managed by the hypervisor. We consider the table to be available if the CTRL_RX feature bit is set. We leave it to the hypervisor to manage the table and enable promiscuous or all-multi mode as necessary depending on the resources available to it. Signed-off-by: Alex Williamson Acked-by: Rusty Russell Signed-off-by: David S. Miller commit 2af7698e2dd698d452ab9d63a9ca5956bbe8fc3b Author: Alex Williamson Date: Wed Feb 4 09:02:40 2009 +0000 virtio_net: Add a set_rx_mode interface Make use of the RX_MODE control virtqueue class to enable the set_rx_mode netdev interface. This allows us to selectively enable/disable promiscuous and allmulti mode so we don't see packets we don't want. For now, we automatically enable these as needed if additional unicast or multicast addresses are requested. Signed-off-by: Alex Williamson Acked-by: Rusty Russell Signed-off-by: David S. Miller commit 2a41f71d3bd97dde3305b4e1c43ab0eca46e7c71 Author: Alex Williamson Date: Wed Feb 4 09:02:34 2009 +0000 virtio_net: Add a virtqueue for outbound control commands This will be used for RX mode, MAC filter table, VLAN filtering, etc... The control transaction consists of one or more "out" sg entries and one or more "in" sg entries. The first out entry contains a header defining the class and command. Additional out entries may provide data for the command. The last in entry provides a status response back from the command. Virtqueues typically run asynchronous, running a callback function when there's data in the channel. We can't readily make use of this in the command paths where we need to use this. Instead, we kick the virtqueue and spin. The kick causes an I/O write, triggering an immediate trap into the hypervisor. Signed-off-by: Alex Williamson Acked-by: Rusty Russell Signed-off-by: David S. Miller commit 0973a06cde8cc1522fbcf2baacb926f1ee3f4c79 Author: Hiroshi Shimamoto Date: Wed Feb 4 15:24:09 2009 -0800 x86: mm: introduce helper function in fault.c Impact: cleanup Introduce helper function fault_in_kernel_address() to make editors happy. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 8f95c102c562851d8789fe813569db233d3f5378 Merge: 680cd53... f67d817... Author: Takashi Iwai Date: Wed Feb 4 23:32:03 2009 +0100 Merge branch 'fix/hda' into topic/hda commit bdad05489fe5f7487c7a22ef311f005cb62ebbb6 Author: Grzegorz Bernacki Date: Wed Feb 4 13:39:17 2009 -0700 powerpc/5200: Add support for the digsy MTC board. Board support for the InterControl Digsy-MTC device based on the MPC5200B SoC. Signed-off-by: Grzegorz Bernacki Signed-off-by: Grant Likely commit bfee95bb830ff0260f3e2e0b1aa6b7492573fe4d Author: Grant Likely Date: Wed Feb 4 13:39:17 2009 -0700 powerpc/5200: Add support for the Media5200 board from Freescale This patch adds board support for the Media5200 platform. Changes are: - add the media5200 device tree - add the media5200 platform support code and cascaded interrupt controller - add media5200 to the build targets. Note: this patch also includes a minor tweak to the lite5200(b) target images list to add the .dtb files to the image list. Signed-off-by: Grant Likely commit 5496eab2434f2a2dfe0d35496fd9605d548b7fbc Author: Grant Likely Date: Wed Feb 4 13:35:42 2009 -0700 powerpc/5200: Rework GPT driver to also be an IRQ controller This patch adds IRQ controller support to the MPC5200 General Purpose Timer (GPT) device driver. With this patch the mpc5200-gpt driver supports both GPIO and IRQ functions. The GPT driver was contained within the mpc52xx_gpio.c file, but this patch moves it out into a new file (mpc52xx_gpt.c) since it has more than just GPIO functionality now and it was only grouped with the mpc52xx-gpio drivers as a matter of convenience before. Also, this driver will most likely get extended again to also provide support for the timer function. Implementation note: Alternately, I could have tried to implement the IRQ support as a separate driver and left the GPIO portion alone. However, multiple functions of this device (ie. GPIO input+interrupt controller, or timer+GPIO) can be active at the same time and the registers are shared so it is safer to contain all functionality within a single driver. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang commit 8f2558ded599c10d96a56fbf12849a27f6ab7997 Author: Grant Likely Date: Wed Feb 4 13:33:20 2009 -0700 powerpc/5200: Refactor mpc5200 interrupt controller driver Rework the mpc5200-pic driver to simplify it and fix up the setting of desc->status when set_type is called for internal IRQs (so they are reported as level, not edge). The simplification is due to splitting off the handling of external IRQs into a separate block so they don't need to be handled as exceptions in the normal CRIT, MAIN and PERP paths. Signed-off-by: Grant Likely commit ae7462b4f1fe1f36b5d562dbd5202a2eba01f072 Author: Arnaldo Carvalho de Melo Date: Tue Feb 3 22:05:50 2009 -0200 trace: make the trace_event callbacks return enum print_line_t As they actually all return these enumerators. Reported-by: Frederic Weisbecker Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit d9793bd8018f835c64b10f44e278c86cecb8e932 Author: Arnaldo Carvalho de Melo Date: Tue Feb 3 20:20:41 2009 -0200 trace: judicious error checking of trace_seq results Impact: bugfix and cleanup Some callsites were returning either TRACE_ITER_PARTIAL_LINE if the trace_seq routines (trace_seq_printf, etc) returned 0 meaning its buffer was full, or zero otherwise. But... /* Return values for print_line callback */ enum print_line_t { TRACE_TYPE_PARTIAL_LINE = 0, /* Retry after flushing the seq */ TRACE_TYPE_HANDLED = 1, TRACE_TYPE_UNHANDLED = 2 /* Relay to other output functions */ }; In other cases the return value was not being relayed at all. Most of the time it didn't hurt because the page wasn't get filled, but for correctness sake, handle the return values everywhere. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit ce70a0b472e06feae3a580ecb3fbef1e1e020a9b Merge: 939b366... 79fb076... 229c4ef... Author: Ingo Molnar Date: Wed Feb 4 20:45:41 2009 +0100 Merge branches 'tracing/blktrace', 'tracing/ftrace', 'tracing/urgent' and 'linus' into tracing/core commit bc4346fe2733dcca723d6b8f188bc44b54eac847 Author: Grant Likely Date: Wed Feb 4 11:23:56 2009 -0700 powerpc/5200: Remove pr_debug() from hot paths in irq driver pr_debug() calls in the 'hot' *_mask(), *_unmask(), *_ack() and get_irq() makes adding #define DEBUG pretty much useless. Remove these calls because they completely swamp the output. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang commit d9f0c5f9bc74f16d0ea0f6c518b209e48783a796 Author: Grant Likely Date: Wed Feb 4 11:23:56 2009 -0700 powerpc/5200: Don't specify IRQF_SHARED in PSC UART driver The MPC5200 PSC device is wired up to a dedicated interrupt line which is never shared. This patch removes the IRQF_SHARED flag from the request_irq() call which eliminates the "IRQF_DISABLED is not guaranteed on shared IRQs" warning message from the console output. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang commit 5e7476243ad755fa1d8be2b1774d0aeb16bb48df Author: Takashi Iwai Date: Wed Feb 4 18:28:42 2009 +0100 ALSA: msnd - Fix build error with CONFIG_PNP=n sound/isa/msnd/msnd_pinnacle.c:891: error: 'isapnp' undeclared (first use in this function) Signed-off-by: Takashi Iwai commit 453e37b37521b613f0927fcf53ccd93ad3a8b3ae Author: Krzysztof Helt Date: Wed Feb 4 17:41:32 2009 +0100 ALSA: sscape: drop redundant fields from soundscape struct The wss_base is disuised parameter for one function. It is converted to function parameter. The code_type is only set but never read. It is removed. The midi_vol is set only to 0 so it does not work as detection of change in midi volume. It is fixed. The xport variable is alias to the port[dev]. Use the port[dev] directly to increase readability. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 680cd53652d8bfb2b97d8c0248d1afb82de6b61d Author: Kusanagi Kouichi Date: Thu Feb 5 00:00:58 2009 +0900 ALSA: hda: Add digital beep generator support for Realtek codecs. A digital beep generator can be used via input layer. Signed-off-by: Kusanagi Kouichi Signed-off-by: Takashi Iwai commit 0664678a84c653bde844c7d91646259a25c6188b Author: Philipp Zabel Date: Tue Feb 3 21:18:26 2009 +0100 ASoC: pxa-ssp: fix SSP port request PXA2xx/3xx SSP ports start from 1, not 0. Thus, the probe function requested the wrong SSP port. Correcting this unveiled another bug where ssp_init tries to request the already-requested SSP port again. So this patch replaces the ssp_init/exit calls with their internals from mach-pxa/ssp.c, leaving out the redundant ssp_request and the unneeded IRQ request. Effectively, that leaves us with not much more than enabling/disabling the SSP clock. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit 5b2474425ed2a625b75dcd8d648701e473b7d764 Author: Philipp Zabel Date: Tue Feb 3 17:19:40 2009 +0100 ASoC: uda1380: split set_dai_fmt into _both, _playback and _capture variants This patch splits set_dai_fmt into three variants (single interface, dual interface playback only, dual interface capture only) so that data input and output formats can be configured separately for dual interface setups. Signed-off-by: Philipp Zabel Tested-by: Vasily Khoruzhick Signed-off-by: Mark Brown commit ef8f7fc549bf345d92f396f5aa7b152b4969cbf7 Author: Josef 'Jeff' Sipek Date: Wed Feb 4 09:37:43 2009 +0100 xfs: cleanup error handling in xfs_swap_extents Use multiple lables for proper error unwinding and get rid of some now superflous variables. Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: Christoph Hellwig Tested-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit d4bb6d0698090c485e2e80e8a13852be5a8bfb04 Author: Christoph Hellwig Date: Wed Feb 4 09:36:19 2009 +0100 xfs: merge xfs_inode_flush into xfs_fs_write_inode Splitting the task for a VFS-induced inode flush into two functions doesn't make any sense, so merge the two functions dealing with it. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Reviewed-by: Dave Chinner commit e1486dea0bf4bc75a52a983281076f454a894b66 Author: Christoph Hellwig Date: Wed Feb 4 09:36:00 2009 +0100 xfs: factor out attr fork reset handling We currently duplicate code to reset the attribute fork after the last attribute has been deleted. Factor this out into a small helper. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit c52e9fd8a9d3ac019680ffa315c1a0689d401ce3 Author: Christoph Hellwig Date: Wed Feb 4 09:34:34 2009 +0100 xfs: remove unused XFS_MOUNT_ILOCK/XFS_MOUNT_IUNLOCK These aren't only unused but also reference a lock that doesn't exist anymore. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit cb3f35bb3bf0759e00cd4f68155da9b636421f84 Author: Christoph Hellwig Date: Wed Feb 4 09:34:20 2009 +0100 xfs: tiny cleanup for xfs_link The source and target inodes are guaranteed to never be the same by the VFS, so no need to check for that (and we would get into bad trouble later anyway if that were the case). Also clean up the error handling to use two gotos instead of nested conditions. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit b93b6e434c046459cf3111c76dce46ba4abcb2b6 Author: Christoph Hellwig Date: Wed Feb 4 09:33:58 2009 +0100 xfs: make sure to free the real-time inodes in the mount error path When mount fails after allocating the real-time inodes we currently leak them. Add a new helper to free the real-time inodes which can be used by both the mount and unmount path. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit f9057e3da79d18fdbd9d6adbb183f032c614feeb Author: Christoph Hellwig Date: Wed Feb 4 09:31:52 2009 +0100 xfs: cleanup error handling in xfs_mountfs: Clean up the error handling in xfs_mountfs. Use readable goto label names, simplify the uuid handling and other error conditions. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit 508eb2ce222053e51e2243b7add8eeac85b1d250 Author: Paul Mundt Date: Wed Feb 4 15:28:06 2009 +0900 sh: Restrict old CMT timer code to SH-2/SH-2A. None of the other platforms use this, and need individual porting. Restrict it back to the supported set of CPU subtypes. Signed-off-by: Paul Mundt commit f5deb79679af6eb41b61112fadcda28b2a4cfb0d Author: Huang Ying Date: Tue Feb 3 14:22:48 2009 +0800 x86: kexec: Use one page table in x86_64 machine_kexec Impact: reduce kernel BSS size by 7 pages, improve code readability Two page tables are used in current x86_64 kexec implementation. One is used to jump from kernel virtual address to identity map address, the other is used to map all physical memory. In fact, on x86_64, there is no conflict between kernel virtual address space and physical memory space, so just one page table is sufficient. The page table pages used to map control page are dynamically allocated to save memory if kexec image is not loaded. ASM code used to map control page is replaced by C code too. Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit 0eb592dbba40baebec9cdde3ff4574185de6cbcc Author: Jeremy Fitzhardinge Date: Tue Feb 3 16:00:38 2009 -0800 x86/paravirt: return full 64-bit result Impact: Bug fix A hunk went missing in the original patch, and callee-save callsites were not marked as returning the upper 32-bit of result, causing Badness. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 073a24364fe6de7eef0a3dec0ec7d48e56624092 Author: Breno Leitao Date: Tue Feb 3 15:15:15 2009 -0800 s2io: Formatting log message S2IO driver is printing dev->name before the name being allocated, which display eth%d instead of eth0, eth1, etc. Example: eth%d: Enabling MSIX failed eth%d: MSI-X requested but failed to enable This patch just change eth%d to s2io. Signed-off-by: Breno Leitao Signed-off-by: David S. Miller commit 3834507d0c5480a0f05486c2fb57ed18fd179a83 Author: Stephen Hemminger Date: Tue Feb 3 11:27:30 2009 +0000 sky2: set VPD size Read configuration register during probe and use it to size the available VPD. Move existing code using same register slightly earlier in probe handling. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e4c2abe29e1ec5d68908848ffa77b39f61a83f7c Author: Stephen Hemminger Date: Tue Feb 3 11:27:29 2009 +0000 sky2: move VPD display into debug interface The VPD stuff has more data and isn't generally that useful, so move it into the existing debugfs display and use the new PCI VPD accessor routines. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 454e6cb6868dd5c88d8bcdab407caa3738d30c2b Author: Stephen Hemminger Date: Tue Feb 3 11:27:28 2009 +0000 sky2: handle dma mapping errors On non-x86 platforms it is possible to run out of DMA mapping resources. The driver was ignoring this and could cause corruptions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1bd68c04850b9e73f1c7022b9a8c38cd14ceb37d Author: Stephen Hemminger Date: Tue Feb 3 11:27:27 2009 +0000 sky2: remove unneede workaround This workaround is not needed. It was inherited from sk98lin driver but only applies to an early development version of the chip that is not supported by sky2. The workaround required an unnecessary pci read which hurts performance Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b58a4cc51f4f569c6a86979890f9b237a504ab6b Author: Felix Blyakher Date: Tue Feb 3 15:37:18 2009 -0600 xfs: Update maintainers New maintainer contact info. Signed-off-by: Felix Blyakher commit 1725d409caba16ea5fc694bd50e95e79e8ced11a Merge: b3ff29d... b8abde4... Author: David S. Miller Date: Tue Feb 3 12:41:58 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit b8842451079a3034363320b932205d9cea791e9d Author: Grant Likely Date: Tue Feb 3 12:30:26 2009 -0700 powerpc/5200: Trim cruft from device trees Trim out obsolete/extraneous properties and tighten up some usage conventions. Changes include: - removal of device_type properties - removal of cell-index properties - Addition of gpio-controller and #gpio-cells properties to gpio nodes - Move common interrupt-parent property out of device nodes and into top level parent node. This patch also include what looks to be just trivial editorial whitespace/format changes, but there is real method in this madness. Editorial changes were made to keep the all the mpc5200 board device trees as similar as possible so that diffs between them only show the real differences between the boards. The pcm030 device tree was most affected by this because many of the comments had been changed from // to /* */ style and some cell values where changed from decimal to hex format when it was cloned from one of the other 5200 device trees. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang commit 3b5ebf8e1ac88babf60772d54bc81b180b5f53b0 Author: Grant Likely Date: Tue Feb 3 12:30:25 2009 -0700 powerpc/5200: Stop using device_type and port-number properties There is no reason for the PSC UART driver or the Ethernet driver to require a device_type property. The compatible value is sufficient to uniquely identify the device. Remove it from the driver. The whole 'port-number' scheme for assigning numbers to PSC uarts was always rather half baked and just adds complexity. Remove it from the driver. After this patch is applied, PSC UART numbers are simply assigned from the order they are found in the device tree (just like all the other devices). Userspace can query sysfs to determine what ttyPSC number is assigned to each PSC instance. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang commit 063f8913afb48842b9329e195d90d2c28e58aacc Author: Ingo Molnar Date: Tue Feb 3 18:02:36 2009 +0100 x86: document 64-bit and 32-bit function call convention ABI - also clean up the calling.h file a tiny bit Signed-off-by: Ingo Molnar commit 111f6fbeb73fc350fe3a08c4ecd0ccdf3e13bef0 Author: Vasily Khoruzhick Date: Tue Feb 3 15:52:56 2009 +0200 ASoC: Don't unconditionally use the PLL in UDA1380 Without this fix driver switches to WSPLL in uda1380_pcm_prepare even if SYSCLK was chosen (uda1380_pcm_prepare modifies UDA1380_CLK register to disable R00_DAC_CLK before flushing reg cache) Signed-off-by: Vasily Khoruzhick Signed-off-by: Mark Brown commit 3228149ceb8b045e324cd268be9182bb26e6488b Author: Dave Chinner Date: Thu Jan 22 15:37:47 2009 +1100 xfs: Check buffer lengths in log recovery Before trying to obtain, read or write a buffer, check that the buffer length is actually valid. If it is not valid, then something read in the recovery process has been corrupted and we should abort recovery. Reported-by: Eric Sesterhenn Tested-by: Eric Sesterhenn Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Dave Chinner Signed-off-by: Felix Blyakher commit ed7b44af3517441ba46b84da13773d24809ffdd3 Merge: a1a1415... b1792e3... Author: Felix Blyakher Date: Tue Feb 3 09:51:52 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 939b366977d29b5c0d53d1ea3b0b8cefb1e76202 Author: Arnaldo Carvalho de Melo Date: Tue Feb 3 11:58:29 2009 -0200 blktrace: fix coding style in recent patches Impact: cleanup Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 0b86a4e34d885e734a4c4e46293376f3f1c639eb Merge: 87fe851... 750e1c1... Author: Ingo Molnar Date: Tue Feb 3 16:13:37 2009 +0100 Merge branch 'core/header-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tip into core/header-fixes commit 750e1c18251345e662bb7e7062b5fd5c1ade36de Author: Jaswinder Singh Rajput Date: Tue Feb 3 19:40:03 2009 +0530 headers_check fix cleanup: linux/reiserfs_fs.h Only REISERFS_IOC_* definitions are required for user space rest should be in #ifdef __KERNEL__ as pointed by Arnd Bergmann. Signed-off-by: Jaswinder Singh Rajput commit 5007b1fc4ef2c1b496536b2f026353c1d44d92ef Author: Jaswinder Singh Rajput Date: Tue Feb 3 19:28:24 2009 +0530 headers_check fix cleanup: linux/nubus.h These are only for kernel internals as pointed by Arnd Bergmann: struct nubus_board struct nubus_dev Signed-off-by: Jaswinder Singh Rajput commit f2cddb29ebfc02dfd2c4b439aa0433393ad15575 Author: Jaswinder Singh Rajput Date: Tue Feb 3 19:21:38 2009 +0530 headers_check fix cleanup: linux/coda_psdev.h These are only for kernel internals as pointed by Arnd Bergmann: struct kstatfs struct venus_comm coda_vcp() Signed-off-by: Jaswinder Singh Rajput commit 08a06b83ff8b2779289f733348c669f31cb65d51 Author: Arnaldo Carvalho de Melo Date: Mon Feb 2 20:30:40 2009 -0200 blkftrace: binary tracing, synthesizing old format Impact: new feature With this and a blkrawverify modified not to verify the sequence numbers we can start using the userspace tools to verify that the data produced with the ftrace plugin works as expected. Example: [root@f10-1 ~]# echo 1 > /sys/block/sda/sda1/trace/enable [root@f10-1 ~]# echo bin > /d/tracing/trace_options [root@f10-1 ~]# echo blk > /d/tracing/current_tracer [root@f10-1 ~]# cat /d/tracing/trace_pipe > sda1.blktrace.0 ^C [root@f10-1 ~]# ./blkrawverify --noseq sda1 Verifying sda1 CPU 0 Wrote output to sda1.verify.out [root@f10-1 ~]# cat sda1.verify.out --------------- Verifying sda1 --------------------- Summary for cpu 0: 1349 valid + 0 invalid (100.0%) processed [root@f10-1 ~]# Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 2c9b238eb325895d3312dad64e2685783575e474 Author: Arnaldo Carvalho de Melo Date: Mon Feb 2 20:30:12 2009 -0200 trace: Change struct trace_event callbacks parameter list Impact: API change The trace_seq and trace_entry are in trace_iterator, where there are more fields that may be needed by tracers, so just pass the tracer_iterator as is already the case for struct tracer->print_line. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit c4a8e8be2d43cc22b371e8e9c05c253409759d94 Author: Frederic Weisbecker Date: Mon Feb 2 20:29:21 2009 -0200 trace: better manage the context info for events Impact: make trace_event more convenient for tracers All tracers (for the moment) that use the struct trace_event want to have the context info printed before their own output: the pid/cmdline, cpu, and timestamp. But some other tracers that want to implement their trace_event callbacks will not necessary need these information or they may want to format them as they want. This patch adds a new default-enabled trace option: TRACE_ITER_CONTEXT_INFO When disabled through: echo nocontext-info > /debugfs/tracing/trace_options The pid, cpu and timestamps headers will not be printed. IE with the sched_switch tracer with context-info (default): bash-2935 [001] 100.356561: 2935:120:S ==> [001] 0:140:R -0 [000] 100.412804: 0:140:R + [000] 11:115:S events/0 -0 [000] 100.412816: 0:140:R ==> [000] 11:115:R events/0 events/0-11 [000] 100.412829: 11:115:S ==> [000] 0:140:R Without context-info: 2935:120:S ==> [001] 0:140:R 0:140:R + [000] 11:115:S events/0 0:140:R ==> [000] 11:115:R events/0 11:115:S ==> [000] 0:140:R A tracer can disable it at runtime by clearing the bit TRACE_ITER_CONTEXT_INFO in trace_flags. The print routines were renamed to trace_print_context and trace_print_lat_context, so that they can be used by tracers if they want to use them for one of the trace_event callbacks. Signed-off-by: Frederic Weisbecker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 87fe85133fa7f33c2bc9882826666a7f117c62bd Merge: 1ff8f73... 15c5544... Author: Ingo Molnar Date: Tue Feb 3 13:55:06 2009 +0100 Merge branch 'core/header-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tipclean into core/header-fixes commit 123848e77623b9996288e85433985439c157fcd0 Author: Tony Vroon Date: Tue Feb 3 11:13:34 2009 +0000 ALSA: Document tyan model for Realtek ALC262 As just pointed out to me, the new tyan model for ALC262 was implemented but not documented. This adds the board to the list, using both its marketing name (Thunder n6650W) and its model number (S2915-E). Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit ba340e825f4b892782779abd0f93bcff7e763567 Author: Tony Vroon Date: Mon Feb 2 19:01:30 2009 +0000 ALSA: hda - Add tyan model for Realtek ALC262 The Realtek ALC262 on the Tyan Thunder n6650W (S2915-E) mainboard has a rather odd configuration template. As a result, the white AUX connector can not be used. This rewrites the default config to more accurately reflect the connector layout, colour and function. Unfortunately the black CD_IN connector, which is suspected to be widget 0x1c refuses to switch into input (0x20), instead opting to remain on 0x0. As such, no mixer controls are exposed for it. Autoswitching is implemented between the front headphone output and back line output. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit b3ff29d2ccfe3af065a9b393699a8fbf2abd1b15 Merge: 1bded71... fb53fde... Author: David S. Miller Date: Tue Feb 3 00:15:35 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/Kconfig commit 1bded710a574f20d41bc9e7fb531301db282d623 Author: Michael Tokarev Date: Mon Feb 2 23:34:56 2009 -0800 tun: Check supplemental groups in TUN/TAP driver. Michael Tokarev wrote: [] > 2, and this is the main one: How about supplementary groups? > > Here I have a valid usage case: a group of testers running various > versions of windows using KVM (kernel virtual machine), 1 at a time, > to test some software. kvm is set up to use bridge with a tap device > (there should be a way to connect to the machine). Anyone on that group > has to be able to start/stop the virtual machines. > > My first attempt - pretty obvious when I saw -g option of tunctl - is > to add group ownership for the tun device and add a supplementary group > to each user (their primary group should be different). But that fails, > since kernel only checks for egid, not any other group ids. > > What's the reasoning to not allow supplementary groups and to only check > for egid? Signed-off-by: Michael Tokarev Signed-off-by: David S. Miller commit 1a5645bc901aea6f3f446888061b2b084bbf1ba6 Author: Frederic Weisbecker Date: Mon Feb 2 23:22:04 2009 -0800 connector: create connector workqueue only while needed once The netlink connector uses its own workqueue to relay the datas sent from userspace to the appropriate callback. If you launch the test from Documentation/connector and change it a bit to send a high flow of data, you will see thousands of events coming to the "cqueue" workqueue by looking at the workqueue tracer. This flow of events can be sent very quickly. So, to not encumber the kevent workqueue and delay other jobs, the "cqueue" workqueue should remain. But this workqueue is pointless most of the time, it will always be created (assuming you have built it of course) although only developpers with specific needs will use it. So avoid this "most of the time useless task", this patch proposes to create this workqueue only when needed once. The first jobs to be sent to connector callbacks will be sent to kevent while the "cqueue" thread creation will be scheduled to kevent too. The following jobs will continue to be scheduled to keventd until the cqueue workqueue is created, and then the rest of the jobs will continue to perform as usual, through this dedicated workqueue. Each time I tested this patch, only the first event was sent to keventd, the rest has been sent to cqueue which have been created quickly. Also, this patch fixes some trailing whitespaces on the connector files. Signed-off-by: Frederic Weisbecker Acked-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit 395707212a53999427bd160abd6541bffe062033 Merge: a6c255e... 64ca040... Author: Takashi Iwai Date: Tue Feb 3 07:07:15 2009 +0100 Merge branch 'fix/asoc' into topic/asoc commit 0d688da5505d77bcef2441e0a22d8cc26459702d Author: Yasunori Goto Date: Tue Feb 3 10:52:03 2009 +0900 IA64: fix swiotlb alloc_coherent for non DMA_64BIT_MASK devices, fix Because dma_alloc_coherent() always required DMA zone even if DMA is NOT necessary, FUJITA Tomonori posted a patch to fix it: http://marc.info/?l=linux-ia64&m=123314730923356&w=2 However, this fix needs one more patch to fix completely. I tested and confirmed dma_alloc_coherent() returns correct zone after applied following patch. Signed-off-by: Yasunori Goto Acked-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 79fb0768fbd371f3b94d909f51f587b3a24ab272 Author: Steven Rostedt Date: Mon Feb 2 21:38:33 2009 -0500 trace: let boot trace be chosen by command line Now that we have a working ftrace= function, make the boot tracer get activated by it. This way we can turn it on or off without recompiling the kernel, as well as keeping the selftests on. The selftests are disabled whenever a default tracer starts running. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit b2821ae68b14480bfc85ea1629537163310bc5cd Author: Steven Rostedt Date: Mon Feb 2 21:38:32 2009 -0500 trace: fix default boot up tracer Peter Zijlstra started the functionality to start up a default tracing at bootup. This patch finishes the work. Now if you add 'ftrace=' to the command line, when that tracer is registered on bootup, that tracer is selected and starts tracing. Note, all selftests for tracers that are registered after this tracer is disabled. This prevents the selftests from disturbing the running tracer, or the running tracer from disturbing the selftest. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit dc573f9b20c8710105ac35c08ed0fe1da5160ecd Merge: b3a8c34... ecf441b... b1792e3... Author: Ingo Molnar Date: Tue Feb 3 06:25:38 2009 +0100 Merge branches 'tracing/ftrace', 'tracing/kmemtrace' and 'linus' into tracing/core commit ef3892bd63420380d115f755d351d2071f1f805f Author: Yinghai Lu Date: Mon Feb 2 18:16:19 2009 -0800 x86, percpu: fix kexec with vmlinux Impact: fix regression with kexec with vmlinux Split data.init into data.init, percpu, data.init2 sections instead of let data.init wrap percpu secion. Thus kexec loading will be happy, because sections will not overlap. Before the patch we have: Elf file type is EXEC (Executable file) Entry point 0x200000 There are 6 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000200000 0xffffffff80200000 0x0000000000200000 0x0000000000ca6000 0x0000000000ca6000 R E 200000 LOAD 0x0000000000ea6000 0xffffffff80ea6000 0x0000000000ea6000 0x000000000014dfe0 0x000000000014dfe0 RWE 200000 LOAD 0x0000000001000000 0xffffffffff600000 0x0000000000ff4000 0x0000000000000888 0x0000000000000888 RWE 200000 LOAD 0x00000000011f6000 0xffffffff80ff6000 0x0000000000ff6000 0x0000000000073086 0x0000000000a2d938 RWE 200000 LOAD 0x0000000001400000 0x0000000000000000 0x000000000106a000 0x00000000001d2ce0 0x00000000001d2ce0 RWE 200000 NOTE 0x00000000009e2c1c 0xffffffff809e2c1c 0x00000000009e2c1c 0x0000000000000024 0x0000000000000024 4 Section to Segment mapping: Segment Sections... 00 .text .notes __ex_table .rodata __bug_table .pci_fixup .builtin_fw __ksymtab __ksymtab_gpl __ksymtab_strings __init_rodata __param 01 .data .init.rodata .data.cacheline_aligned .data.read_mostly 02 .vsyscall_0 .vsyscall_fn .vsyscall_gtod_data .vsyscall_1 .vsyscall_2 .vgetcpu_mode .jiffies 03 .data.init_task .smp_locks .init.text .init.data .init.setup .initcall.init .con_initcall.init .x86_cpu_dev.init .altinstructions .altinstr_replacement .exit.text .init.ramfs .bss 04 .data.percpu 05 .notes After patch we've got: Elf file type is EXEC (Executable file) Entry point 0x200000 There are 7 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000200000 0xffffffff80200000 0x0000000000200000 0x0000000000ca6000 0x0000000000ca6000 R E 200000 LOAD 0x0000000000ea6000 0xffffffff80ea6000 0x0000000000ea6000 0x000000000014dfe0 0x000000000014dfe0 RWE 200000 LOAD 0x0000000001000000 0xffffffffff600000 0x0000000000ff4000 0x0000000000000888 0x0000000000000888 RWE 200000 LOAD 0x00000000011f6000 0xffffffff80ff6000 0x0000000000ff6000 0x0000000000073086 0x0000000000073086 RWE 200000 LOAD 0x0000000001400000 0x0000000000000000 0x000000000106a000 0x00000000001d2ce0 0x00000000001d2ce0 RWE 200000 LOAD 0x000000000163d000 0xffffffff8123d000 0x000000000123d000 0x0000000000000000 0x00000000007e6938 RWE 200000 NOTE 0x00000000009e2c1c 0xffffffff809e2c1c 0x00000000009e2c1c 0x0000000000000024 0x0000000000000024 4 Section to Segment mapping: Segment Sections... 00 .text .notes __ex_table .rodata __bug_table .pci_fixup .builtin_fw __ksymtab __ksymtab_gpl __ksymtab_strings __init_rodata __param 01 .data .init.rodata .data.cacheline_aligned .data.read_mostly 02 .vsyscall_0 .vsyscall_fn .vsyscall_gtod_data .vsyscall_1 .vsyscall_2 .vgetcpu_mode .jiffies 03 .data.init_task .smp_locks .init.text .init.data .init.setup .initcall.init .con_initcall.init .x86_cpu_dev.init .altinstructions .altinstr_replacement .exit.text .init.ramfs 04 .data.percpu 05 .bss 06 .notes Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 659aaf2bb5496a425ba14036b5b5900f593e4484 Author: Rajiv Andrade Date: Mon Feb 2 15:23:44 2009 -0200 TPM: integrity interface This patch adds internal kernel support for: - reading/extending a pcr value - looking up the tpm_chip for a given chip number Signed-off-by: Rajiv Andrade Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 0883743825e34b81f3ff78aaee3a97cba57586c5 Author: Rajiv Andrade Date: Mon Feb 2 15:23:43 2009 -0200 TPM: sysfs functions consolidation According to Dave Hansen's comments on the tpm_show_*, some of these functions present a pattern when allocating data[] memory space and also when setting its content. A new function was created so that this pattern could be consolidated. Also, replaced the data[] command vectors and its indexes by meaningful structures as pointed out by Matt Helsley too. Signed-off-by: Rajiv Andrade Signed-off-by: James Morris commit faa3aad75a959f55e7783f4dc7840253c7506571 Author: Serge E. Hallyn Date: Mon Feb 2 15:07:33 2009 -0800 securityfs: fix long-broken securityfs_create_file comment If there is an error creating a file through securityfs_create_file, NULL is not returned, rather the error is propagated. Signed-off-by: Serge E. Hallyn Signed-off-by: James Morris commit 3bd323a1da42525317e2ce6c93b97b5ba653bc9d Author: H. Peter Anvin Date: Mon Feb 2 14:52:00 2009 -0800 x86 setup: a20: early timeout for a nonexistent keyboard controller When probing the keyboard controller to enable A20, if we get FF back (which is *possible* as a valid status word, but is extremely unlikely) then bail after much fewer iterations than we otherwise would, and abort the attempt to access the KBC. This hopefully should make it work a lot better for embedded platforms which don't have a KBC and where the BIOS doesn't implement INT 15h AX=2401h (and doesn't boot with A20 already enabled.) If this works, it will be the one remaining use of CONFIG_X86_ELAN as anything other than a processor type optimization option. Signed-off-by: H. Peter Anvin commit a6c255e0945160b76eabe983f59e2129e0c66246 Author: Timur Tabi Date: Mon Feb 2 15:08:29 2009 -0600 ASoC: fix message display in CS4270 codec driver Replace printk calls with dev_xxx calls. Set the 'dev' field of the codec and codec_dai structures so that these calls work. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit d9fb7fbddc9a14569aad517984c1a5b0b07002ea Author: Timur Tabi Date: Mon Feb 2 14:50:45 2009 -0600 ASoC: fix build break in CS4270 codec driver Fix a oversight in the CS4270 codec driver that caused a build break. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit c68a65da35906b32505bbb8eecab316e6736e28b Author: Randy Dunlap Date: Mon Feb 2 11:20:55 2009 -0800 jfs: needs crc32_le JFS needs crc32_le(), so select its library config symbol: fs/built-in.o: In function `jfs_statfs': super.c:(.text+0x7c8c0): undefined reference to `crc32_le' super.c:(.text+0x7c8d5): undefined reference to `crc32_le' Signed-off-by: Randy Dunlap Signed-off-by: Dave Kleikamp commit 8db0c5d5ef3ab99fe9e5151872b75f45c4282e3c Merge: 1ad53a9... 45c82b5... Author: Dave Kleikamp Date: Mon Feb 2 13:40:55 2009 -0600 Merge branch 'master' of /home/shaggy/git/linus-clean/ commit 15c554439faedfa490389b31db893dc764245e88 Author: Jaswinder Singh Rajput Date: Mon Feb 2 21:59:19 2009 +0530 headers_check fix: x86, setup.h fix the following 'make headers_check' warning: usr/include/asm/setup.h:16: extern's make no sense in userspace usr/include/asm/setup.h:17: extern's make no sense in userspace usr/include/asm/setup.h:23: extern's make no sense in userspace usr/include/asm/setup.h:24: extern's make no sense in userspace usr/include/asm/setup.h:51: extern's make no sense in userspace usr/include/asm/setup.h:52: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 8d4b4981195849dd50ed94be33ede926c6f41dcd Author: Jaswinder Singh Rajput Date: Mon Feb 2 21:48:33 2009 +0530 headers_check fix: x86, prctl.h fix the following 'make headers_check' warning: usr/include/asm/prctl.h:10: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit e683ec4697c74c7d04ff8e90ec625ac34e25a7d8 Author: Takashi Iwai Date: Wed Nov 12 16:42:44 2008 +0100 ALSA: ice1724 - Dynamic MIDI TX irq control MIDI_TX IRQ seems always pending when any bytes on FIFO is available. Thus, it's better to enable MPU_TX only when any bytres are really stored in the substream, and disables immediately when the queue becomes empty. Signed-off-by: Takashi Iwai commit 11d9f653aff1d445b4300ae1d2e2d675a0e9172f Author: Jaswinder Singh Rajput Date: Mon Feb 2 21:45:41 2009 +0530 headers_check fix: linux/reinserfs_fs.h fix the following 'make headers_check' warnings: usr/include/linux/reiserfs_fs.h:687: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:995: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:997: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1467: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1760: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1764: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1766: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1769: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1771: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1805: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1948: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1949: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1950: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1951: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1962: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1963: extern's make no sense in userspace usr/include/linux/reiserfs_fs.h:1964: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 7d7dc0d6b0565484e0623cb08b5dcdd56424697b Author: Jaswinder Singh Rajput Date: Mon Feb 2 21:44:09 2009 +0530 headers_check fix: linux/socket.h fix the following 'make headers_check' warning: usr/include/linux/socket.h:29: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 9fe03bc3139503fbad66016bf714f4575babf651 Author: Jaswinder Singh Rajput Date: Mon Feb 2 21:41:41 2009 +0530 headers_check fix: linux/nubus.h fix the following 'make headers_check' warnings: usr/include/linux/nubus.h:297: extern's make no sense in userspace usr/include/linux/nubus.h:299: extern's make no sense in userspace usr/include/linux/nubus.h:303: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 25d00fddf8d23234da2d45c051a14450939496d6 Author: Jaswinder Singh Rajput Date: Mon Feb 2 21:40:58 2009 +0530 headers_check fix: linux/in6.h fix the following 'make headers_check' warnings: usr/include/linux/in6.h:47: extern's make no sense in userspace usr/include/linux/in6.h:49: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 7e7f4eae28711fbb7f4d5e4b0aa3195776194bc1 Author: Jaswinder Singh Rajput Date: Mon Feb 2 21:40:10 2009 +0530 headers_check fix: linux/coda_psdev.h fix the following 'make headers_check' warning: usr/include/linux/coda_psdev.h:90: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 664c7954721adfc9bd61de6ec78f89f482f1a802 Author: Jeremy Fitzhardinge Date: Fri Jan 30 23:18:41 2009 -0800 x86/vmi: fix interrupt enable/disable/save/restore calling convention. Zach says: > Enable/Disable have no clobbers at all. > Save clobbers only return value, %eax > Restore also clobbers nothing. This is precisely compatible with the calling convention, so we can just call them directly without wrapping. (Compile tested only.) Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit e584f559c7b8711cccdf319400acd6294b2c074e Author: Jeremy Fitzhardinge Date: Fri Jan 30 23:17:23 2009 -0800 x86/paravirt: don't restore second return reg Impact: bugfix In the 32-bit calling convention, %eax:%edx is used to return 64-bit values. Don't save and restore %edx around wrapped functions, or they can't return a full 64-bit result. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 960d82aa5ba971aa9da86a41881cb8dc8f96e397 Author: Reynes Philippe Date: Mon Feb 2 16:59:01 2009 +0100 powerpc/83xx: Add lm75 to MPC837x RDB dts Signed-off-by: Philippe Reynes Signed-off-by: Kumar Gala commit 0f73a449a649acfca91404a98a35353a618b9555 Author: Wolfgang Grandegger Date: Thu Jan 29 13:49:17 2009 +0100 powerpc/85xx: TQM85xx - add i2c device nodes for LM75 Automatic I2C device probing is not done any more. Therefore we need proper DTS device node definitions for the I2C LM75 thermal sensor on the TQM85xx modules. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 7a3852417c0c9bdfebc1b37bf43d4798883867e0 Author: Wolfgang Grandegger Date: Thu Jan 29 14:23:21 2009 +0100 powerpc/85xx: TQM85xx - fix sensitivity of CAN interrupts Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 9e7d95c1976fddfb4a3cf82a170a49e6fb0e8440 Author: Reynes Philippe Date: Mon Feb 2 15:52:39 2009 +0100 powerpc/83xx: Add gpio to MPC837x RDB Signed-off-by: Philippe Reynes Signed-off-by: Kumar Gala commit 548d849574847b788fe846fe21a41386063be161 Author: Russell King Date: Tue Nov 4 14:02:46 2008 +0000 [ARM] omap: introduce clock operations structure Collect up all the common enable/disable clock operation functions into a separate operations structure. Signed-off-by: Russell King commit db8ac47cfccaafd3fa4c5c15320809d44f4fcef9 Author: Russell King Date: Tue Nov 4 15:10:54 2008 +0000 [ARM] omap: remove VIRTUAL_CLOCK Nothing tests the clock flags for this bit, so it serves no purpose. Remove it. Signed-off-by: Russell King commit e50a7ea0eba4f336b78b737e5ce48fba691c4919 Merge: 8f00806... 21dff43... Author: Mark Brown Date: Mon Feb 2 12:46:51 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit 51408e8a3221a9cd1a23d5363f57bcd43516c05e Merge: b98b7b3... 516a1ce... Author: Takashi Iwai Date: Mon Feb 2 11:43:36 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 432dc14fa40dea427d9ed476965001a816ff833b Author: Mike Rapoport Date: Mon Feb 2 08:57:58 2009 +0200 [ARM] pxa: add em_x270_defconfig for EM-X270 and eXeda machines Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 6e39759d456e502f91c6a7ff669f28d6e50437f1 Author: Mike Rapoport Date: Mon Feb 2 08:57:57 2009 +0200 [ARM] pxa: prepare xm_x2xx_defconfig for split xm_x2xx_defconfig currently supports 3 platforms: CM-X255, CM-X270 and EM-X270. Although EM-X270 is similar to CM-X2XX, it has a lot of unique features. Keeping these features in the same _defconfig increases the kernel size in the way it does not fit into CM-X2XX NOR flash. Rename xm_x2xx_defconfig to cm_x2xx_defconfig and remove EM-X270 specifc parts from it. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 7f14a78713e0b4517f785402accaccca22df93c1 Author: Mike Rapoport Date: Mon Feb 2 08:57:55 2009 +0200 [ARM] pxa: add eXeda platform support Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 4a697e83cf8b20b35942c93b873fe17e54d7e6c5 Author: Mike Rapoport Date: Mon Feb 2 08:57:54 2009 +0200 [ARM] pxa/em-x270: prepare addition of eXeda machine to em-x270.c Change several GPIO assignment from static to run-time Split MFP table to common and EM-X270 specific parts Introduce em_x270_module_init Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 9f055c49c6a1afe6e8b75a2622ac29f3a4290b9d Author: Mike Rapoport Date: Mon Feb 2 08:57:53 2009 +0200 [ARM] pxa/em-x270: add battery charger Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 432adf1898381bac5a9ef90262d8a91e16823b11 Author: Mike Rapoport Date: Mon Feb 2 08:57:52 2009 +0200 [ARM] pxa/em-x270: introduce macors to to simplify da9030 subdev initialization Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 6432f46c4ffd0a85cab5313bc989a6db32bc0eb4 Author: Mike Rapoport Date: Mon Feb 2 08:57:51 2009 +0200 [ARM] pxa/em-x270: update MMC/SDIO implementation Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 6489c611db095356645ca1a2689e93c63caeb310 Author: Philipp Zabel Date: Sun Feb 1 11:20:30 2009 +0100 [ARM] pxa/magician: Enable pxa27x_udc and gpio_vbus This patch depends on otg_transceiver support in pxa27x_udc (which is queued via linux-usb) to work. It compiles also without it. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 5aa13a94098ef5fc1bb0a7f531fdda8864ae67ff Author: Krzysztof Helt Date: Sun Feb 1 21:13:15 2009 +0100 ALSA: msnd: add module description and license for the snd-msnd-lib The missing module license generates warning during module loading. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit f15fbcd7d857ca2ea20b57ba6dfe63aab89d0b8b Author: Herbert Xu Date: Sun Feb 1 22:24:43 2009 -0800 ipv4: Delete redundant sk_family assignment sk_alloc now sets sk_family so this is redundant. In fact it caught my eye because sock_init_data already uses sk_family so this is too late anyway. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5626d3e86141390c8efc7bcb929b6a4b58b00480 Author: James Morris Date: Fri Jan 30 10:05:06 2009 +1100 selinux: remove hooks which simply defer to capabilities Remove SELinux hooks which do nothing except defer to the capabilites hooks (or in one case, replicates the function). Signed-off-by: James Morris Acked-by: Stephen Smalley commit 24dd1fa184595ff095a92de807fdf029b2632673 Author: Eric Dumazet Date: Sun Feb 1 12:31:33 2009 -0800 net: move bsockets outside of read only beginning of struct inet_hashinfo And switch bsockets to atomic_t since it might be changed in parallel. Signed-off-by: Eric Dumazet Acked-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit 5add300975cf36b1bd30c461105bb938da260f14 Author: Stephen Hemminger Date: Sun Feb 1 01:40:17 2009 -0800 inet: Fix virt-manager regression due to bind(0) changes. From: Stephen Hemminger Fix regression introduced by a9d8f9110d7e953c2f2b521087a4179677843c2a ("inet: Allowing more than 64k connections and heavily optimize bind(0) time.") Based upon initial patches and feedback from Evegniy Polyakov and Eric Dumazet. From Eric Dumazet: -------------------- Also there might be a problem at line 175 if (sk->sk_reuse && sk->sk_state != TCP_LISTEN && --attempts >= 0) { spin_unlock(&head->lock); goto again; If we entered inet_csk_get_port() with a non null snum, we can "goto again" while it was not expected. -------------------- Signed-off-by: David S. Miller commit ad0f9904444de1309dedd2b9e365cae8af77d9b1 Author: Herbert Xu Date: Sun Feb 1 01:24:55 2009 -0800 gro: Fix handling of imprecisely split packets The commit 89a1b249edcf9be884e71f92df84d48355c576aa (gro: Avoid copying headers of unmerged packets) only worked for packets which are either completely linear, completely non-linear, or packets which exactly split at the boundary between headers and payload. Anything else would cause bits in the header to go missing if the packet is held by GRO. This may have broken drivers such as ixgbe. This patch fixes the places that assumed or only worked with the above cases. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3efac5a0012979ae236fe1247b773317ef5f1c88 Author: Peter P Waskiewicz Jr Date: Sun Feb 1 01:19:20 2009 -0800 ixgbe: Update copyright dates, bump the driver version number New year, new copyright date ranges. Also bump the driver version number to reflect many of the recent changes. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit eb7f139ce523bfe03b1628c66d3e1d50f3c07196 Author: Peter P Waskiewicz Jr Date: Sun Feb 1 01:18:58 2009 -0800 ixgbe: Refactor MSI-X allocation mechanism Our current MSI-X allocation mechanism does not support new hardware at all. It also isn't getting the actual number of supported MSI-X vectors from the device. This patch allows the number of MSI-X vectors to be specific to a device, plus it gets the number of MSI-X vectors available from PCIe configuration space. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2f21bdd3542838dc5513a585a32aa13f01b019e7 Author: Don Skidmore Date: Sun Feb 1 01:18:23 2009 -0800 ixgbe: Add 82598 support for BX mezzanine devices Add the device ID for BX devices using the 82598 MAC. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1224736d97e83367bb66e29c2bee0f570f09db3e Author: Jarek Poplawski Date: Sun Feb 1 01:13:22 2009 -0800 pkt_sched: sch_htb: Use workqueue to schedule after too many events. Patrick McHardy suggested using a workqueue instead of hrtimers to trigger netif_schedule() when there is a problem with setting exact time of this event: 'The differnce - yeah, it shouldn't make much, mainly wake up the qdisc earlier (but not too early) after "too many events" occured _and_ no further enqueue events wake up the qdisc anyways.' Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit e82181de5ef4648074765912d2d82d6bd60115eb Author: Jarek Poplawski Date: Sun Feb 1 01:13:05 2009 -0800 pkt_sched: sch_htb: Warn on too many events. Let's get some info on possible config problems. This patch brings back an old warning, but is printed only once now. With feedback from Patrick McHardy Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit b00355db3f88d96810a60011a30cfb2c3469409d Author: Jarek Poplawski Date: Sun Feb 1 01:12:42 2009 -0800 pkt_sched: sch_hfsc: sch_htb: Add non-work-conserving warning handler. Patrick McHardy suggested: > How about making this flag and the warning message (in a out-of-line > function) globally available? Other qdiscs (f.i. HFSC) can't deal with > inner non-work-conserving qdiscs as well. This patch uses qdisc->flags field of "suspected" child qdisc. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit eefef1cf7653cd4e0aaf743c00ae8345086cdc01 Author: Stephen Hemminger Date: Sun Feb 1 01:04:33 2009 -0800 net: add ARP notify option for devices This adds another inet device option to enable gratuitous ARP when device is brought up or address change. This is handy for clusters or virtualization. Signed-off-by: Stephen Hemminger Signed-off-by: Jeremy Fitzhardinge Signed-off-by: David S. Miller commit ead731837d142b103eab9870105f50bc40b69255 Author: Sascha Hauer Date: Wed Jan 28 23:03:11 2009 +0000 FEC: Turn FEC driver into platform device driver This turns the fec driver into a platform device driver for new platforms. Old platforms are still supported through a FEC_LEGACY define till they are also ported. Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 196719ecec0c526de273dcb902f0be956a193232 Author: Sascha Hauer Date: Wed Jan 28 23:03:10 2009 +0000 fec: Add support for Freescale MX27 Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit ccdc4f198193eb4956b8dbc00745270525c4cd6e Author: Sascha Hauer Date: Wed Jan 28 23:03:09 2009 +0000 fec: replace flush_dcache_range with dma_sync_single flush_dcache_range is not portable across architectures. Use dma_sync_single instead. Also, the memory must be synchronised in the receive path aswell. Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 43268dcea7512cc10bc2542f20ce37971ecfeb48 Author: Sascha Hauer Date: Wed Jan 28 23:03:08 2009 +0000 fec: Fix KS8721BL_ICSR phy register offset According to the datasheet the ICSR register is at offset 27, not 22. Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 4661e75b9d7bb12bcbe9be8bbf40ebf0845879a9 Author: Sascha Hauer Date: Wed Jan 28 23:03:07 2009 +0000 fec: use dma_alloc_coherent for descriptor ring Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 6989f5122f84046ba286efe8ce8be2fec42a1b7c Author: Sascha Hauer Date: Wed Jan 28 23:03:06 2009 +0000 fec: do not use memcpy on physical addresses Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 6f501b173f2d69973497599f5358fb4c30922d67 Author: Sascha Hauer Date: Wed Jan 28 23:03:05 2009 +0000 fec: use linux/*.h instead of asm/*.h Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 6a8ea2c6f5521096b9972c75f7ad7b5303bce29c Author: Sascha Hauer Date: Wed Jan 28 23:03:04 2009 +0000 fec: remove empty functions There are some architecture specific functions which are all empty. Remove them. Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 51bbc3e31cb59d94b0c9c1ca3f1851b7f1787169 Author: Sascha Hauer Date: Wed Jan 28 23:03:03 2009 +0000 fec: remove unused #else branches The #else branches throughout this driver belong to a PowerPC 8xx for which this driver is not used. Signed-off-by: Sascha Hauer Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit b2f66d183966114fcc91591191ec9af14a252ac5 Author: Anton Vorontsov Date: Sun Feb 1 00:54:16 2009 -0800 gianfar: Fix sparse warnings This patch fixes following sparse warnings: CHECK gianfar_ethtool.c gianfar_ethtool.c:610:26: warning: symbol 'gfar_ethtool_ops' was not declared. Should it be static? CHECK gianfar_mii.c gianfar_mii.c:108:35: warning: cast adds address space to expression () gianfar_mii.c:119:35: warning: cast adds address space to expression () gianfar_mii.c:128:35: warning: cast adds address space to expression () gianfar_mii.c:272:5: warning: cast removes address space of expression gianfar_mii.c:271:15: warning: cast adds address space to expression () gianfar_mii.c:340:11: warning: cast adds address space to expression () CHECK gianfar_sysfs.c gianfar_sysfs.c:84:1: warning: symbol 'dev_attr_bd_stash' was not declared. Should it be static? gianfar_sysfs.c:133:1: warning: symbol 'dev_attr_rx_stash_size' was not declared. Should it be static? gianfar_sysfs.c:175:1: warning: symbol 'dev_attr_rx_stash_index' was not declared. Should it be static? gianfar_sysfs.c:213:1: warning: symbol 'dev_attr_fifo_threshold' was not declared. Should it be static? gianfar_sysfs.c:250:1: warning: symbol 'dev_attr_fifo_starve' was not declared. Should it be static? gianfar_sysfs.c:287:1: warning: symbol 'dev_attr_fifo_starve_off' was not declared. Should it be static? Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 3d1e4db2b0698785f4e4dd139d88257e855e53b8 Author: Anton Vorontsov Date: Sun Feb 1 00:53:34 2009 -0800 phylib: Rework suspend/resume code to check netdev wakeup capability In most cases (e.g. PCI drivers) MDIO and MAC controllers are represented by the same device. But for SOC ethernets we have separate devices. So, in SOC case, checking whether MDIO controller may wakeup is not only makes little sense, but also prevents us from doing per-netdevice wakeup management. This patch reworks suspend/resume code so that now it checks for net device's wakeup flags, not MDIO controller's ones. Each netdevice should manage its wakeup flags, and phylib will decide whether suspend an attached PHY or not. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 2884e5cc9283d541977bdf5dc344849af94cd639 Author: Anton Vorontsov Date: Sun Feb 1 00:52:34 2009 -0800 gianfar: Implement proper, per netdevice wakeup management This patch implements wakeup management for the gianfar driver. The driver should set wakeup enable if WOL is enabled, so that phylib won't power off an attached PHY. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 09640e6365c679b5642b1c41b6d7078f51689ddf Author: Harvey Harrison Date: Sun Feb 1 00:45:17 2009 -0800 net: replace uses of __constant_{endian} Base versions handle constant folding now. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit ee437770c42088b9b653e8b3bf28a61fa647f84e Author: Harvey Harrison Date: Sun Feb 1 00:43:54 2009 -0800 wimax: replace uses of __constant_{endian} Base versions handle constant folding now. Signed-off-by: Harvey Harrison Acked-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 4fb669948116d928ae44262ab7743732c574630d Author: Jarek Poplawski Date: Sun Feb 1 00:41:42 2009 -0800 net: Optimize memory usage when splicing from sockets. The recent fix of data corruption when splicing from sockets uses memory very inefficiently allocating a new page to copy each chunk of linear part of skb. This patch uses the same page until it's full (almost) by caching the page in sk_sndmsg_page field. With changes from David S. Miller Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 31f4574774e98aa275aeeee94f41ce042285ed8e Author: Steve Glendinning Date: Tue Jan 27 06:51:12 2009 +0000 smsc911x: allow mac address to be saved before device reset Some platforms (for example pcm037) do not have an EEPROM fitted, instead storing their mac address somewhere else. The bootloader fetches this and configures the ethernet adapter before the kernel is started. This patch allows a platform to indicate to the driver via the SMSC911X_SAVE_MAC_ADDRESS flag that the mac address has already been configured via such a mechanism, and should be saved before resetting the chip. Signed-off-by: Steve Glendinning Acked-by: Sascha Hauer Tested-by: Sascha Hauer Signed-off-by: David S. Miller commit d23f028a4ddce8b783c212bfe911d1d307ff3617 Author: Steve Glendinning Date: Tue Jan 27 06:51:11 2009 +0000 smsc911x: add external phy detection overrides On LAN9115/LAN9117/LAN9215/LAN9217, external phys are supported. These are usually indicated by a hardware strap which sets an "external PHY detected" bit in the HW_CFG register. In some cases it is desirable to override this hardware strap and force use of either the internal phy or an external PHY. This patch adds SMSC911X_FORCE_INTERNAL_PHY and SMSC911X_FORCE_EXTERNAL_PHY flags so a platform can indicate this preference via its platform_data. Signed-off-by: Steve Glendinning Acked-by: Sascha Hauer Tested-by: Sascha Hauer Signed-off-by: David S. Miller commit e81259b4f7c69a71d92216ba551731fb7027bcbe Author: Steve Glendinning Date: Tue Jan 27 06:51:10 2009 +0000 smsc911x: register isr as IRQF_SHARED The isr supports shared operation, so register it with the IRQF_SHARED flag to indicate this. This patch also removes the IRQF_DISABLED flag. This driver doesn't need it, and IRQF_DISABLED isn't guaranteed when using shared interrupts. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 61307ed85dbf0ee232e354721a5a0a2011da7996 Author: Steve Glendinning Date: Tue Jan 27 06:51:09 2009 +0000 smsc911x: add support for platform-specific irq flags this patch adds support for the platform_device's resources to indicate additional flags to use when registering the irq, for example IORESOURCE_IRQ_LOWLEVEL (which corresponds to IRQF_TRIGGER_LOW). These should be set in the irq resource flags field. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 1ff8f739c7cc4eaa89b6ba986494f458ff7bdbef Author: Jaswinder Singh Rajput Date: Sat Jan 31 12:02:14 2009 +0530 headers_check fix: xtensa, swab.h fix the following 'make headers_check' warnings: usr/include/asm-xtensa/swab.h:14: include of is preferred over usr/include/asm-xtensa/swab.h:19: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 48109870bab7e66f30f933cd218258368024cd9f Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:54:05 2009 +0530 headers_check fix: powerpc, swab.h fix the following 'make headers_check' warning: usr/include/asm-powerpc/swab.h:11: include of is preferred over Signed-off-by: Jaswinder Singh Rajput commit 1a16bc4590fcc94630571c541c8fef7a0845c2c0 Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:52:05 2009 +0530 headers_check fix: powerpc, spu_info.h fix the following 'make headers_check' warning: usr/include/asm-powerpc/spu_info.h:27: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 122bb2207b8107ce117d10fcfd3a2f6c3804a362 Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:46:23 2009 +0530 headers_check fix: powerpc, ps3fb.h fix the following 'make headers_check' warning: usr/include/asm-powerpc/ps3fb.h:33: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 9f2cd967b7f029ebe2c74969709ff9c745344dba Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:44:45 2009 +0530 headers_check fix: powerpc, kvm.h fix the following 'make headers_check' warnings: usr/include/asm-powerpc/kvm.h:23: include of is preferred over usr/include/asm-powerpc/kvm.h:26: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 785857f5f0b7fbeed934e39af24edec471637375 Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:42:29 2009 +0530 headers_check fix: powerpc, elf.h fix the following 'make headers_check' warning: usr/include/asm-powerpc/elf.h:5: include of is preferred over Signed-off-by: Jaswinder Singh Rajput commit 4be2c7ff4f362e41706e84a3d6726bdcda9ab65f Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:41:04 2009 +0530 headers_check fix: powerpc, bootx.h fix the following 'make headers_check' warnings: usr/include/asm-powerpc/bootx.h:12: include of is preferred over usr/include/asm-powerpc/bootx.h:57: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 726da1e3408caae6af8372f93380f18986f1003b Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:39:01 2009 +0530 headers_check fix: parisc, swab.h fix the following 'make headers_check' warnings: usr/include/asm-parisc/swab.h:4: include of is preferred over usr/include/asm-parisc/swab.h:9: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 79f95ac2412c993e52f02cfde1f71d141b2e530d Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:36:07 2009 +0530 headers_check fix: parisc, pdc.h fix the following 'make headers_check' warning: usr/include/asm-parisc/pdc.h:420: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit bef53ca086e069a3fb8e6bf4ecf06221de9b445f Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:29:28 2009 +0530 headers_check fix: mn10300, swab.h fix the following 'make headers_check' warnings: usr/include/asm-mn10300/swab.h:14: include of is preferred over usr/include/asm-mn10300/swab.h:19: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit a9f6acc5ab36c7533c9b3e224f7c209d8da4048d Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:23:37 2009 +0530 headers_check fix: mips, swab.h fix the following 'make headers_check' warnings: usr/include/asm-mips/swab.h:12: include of is preferred over usr/include/asm-mips/swab.h:18: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit ae612fb05b0f60ff58e2a86eea46dc99532d62c5 Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:22:18 2009 +0530 headers_check fix: mips, sigcontext.h fix the following 'make headers_check' warning: usr/include/asm-mips/sigcontext.h:57: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit d8cbec15af88e067f33cb78efad15d581fa79b12 Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:18:19 2009 +0530 headers_check fix: m32r, swab.h fix the following 'make headers_check' warning: usr/include/asm-m32r/swab.h:4: include of is preferred over Signed-off-by: Jaswinder Singh Rajput commit 040c92b8e5f080e1f5a610bf0e10c683328dce75 Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:12:29 2009 +0530 headers_check fix: ia64, swab.h fix the following 'make headers_check' warnings: usr/include/asm-ia64/swab.h:9: include of is preferred over usr/include/asm-ia64/swab.h:13: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 6ce795065bdd2bfeebd97fa91a95918dcff7d0ec Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:10:22 2009 +0530 headers_check fix: ia64, kvm.h fix the following 'make headers_check' warnings: usr/include/asm-ia64/kvm.h:24: include of is preferred over usr/include/asm-ia64/kvm.h:34: found __[us]{8,16,32,64} type without #include commit 1ecbb7fcfd20803bdd403de0c9c514da7d6c8843 Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:07:06 2009 +0530 headers_check fix: ia64, intrinsics.h fix the following 'make headers_check' warning: usr/include/asm-ia64/intrinsics.h:57: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit a812a9170c5db5390280eb4fa075f1555e6ae53c Author: Jaswinder Singh Rajput Date: Sat Jan 31 11:03:28 2009 +0530 headers_check fix: ia64, gcc_intrin.h fix the following 'make headers_check' warning: usr/include/asm-ia64/gcc_intrin.h:63: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit fa9ea6c7abd94482ecd84e130676b6a1b3e61c2c Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:59:12 2009 +0530 headers_check fix: ia64, fpu.h fix the following 'make headers_check' warning: usr/include/asm-ia64/fpu.h:9: include of is preferred over Signed-off-by: Jaswinder Singh Rajput commit 295803eea178d777cf3813b16696c54b0b2bcd23 Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:55:12 2009 +0530 headers_check fix: h8300, swab.h fix the following 'make headers_check' warning: usr/include/asm-h8300/swab.h:4: include of is preferred over Signed-off-by: Jaswinder Singh Rajput commit dacd762eabf69e32f0e9181f99fd19b6f96ea5c5 Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:53:32 2009 +0530 headers_check fix: frv, swab.h fix the following 'make headers_check' warning: usr/include/asm-frv/swab.h:4: include of is preferred over Signed-off-by: Jaswinder Singh Rajput commit 350eb8b3cb5e4860a4c8352f2cca00e6eb4a16b2 Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:48:44 2009 +0530 headers_check fix: blackfin, swab.h fix the following 'make headers_check' warnings: usr/include/asm-blackfin/swab.h:4: include of is preferred over usr/include/asm-blackfin/swab.h:13: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 1c6ce704f1e965f64ad0b017842854ceec5b9cc7 Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:46:26 2009 +0530 headers_check fix: avr32, swab.h fix the following 'make headers_check' warnings: usr/include/asm-avr32/swab.h:7: include of is preferred over usr/include/asm-avr32/swab.h:22: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit e42ec2418fa96f98ed8d4e6d8a572a7200156df6 Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:43:44 2009 +0530 headers_check fix: arm, swab.h fix the following 'make headers_check' warnings: usr/include/asm-arm/swab.h:19: include of is preferred over usr/include/asm-arm/swab.h:25: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 4af3bf6b393a2cec947cd42cc10fc03f5b782484 Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:41:59 2009 +0530 headers_check fix: arm, setup.h fix the following 'make headers_check' warnings: usr/include/asm-arm/setup.h:17: include of is preferred over usr/include/asm-arm/setup.h:25: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit f100e6d0368742ddb8b6b9be986536e63117c05a Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:38:16 2009 +0530 headers_check fix: arm, a.out.h fix the following 'make headers_check' warnings: usr/include/asm-arm/a.out.h:5: include of is preferred over usr/include/asm-arm/a.out.h:9: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 3fd59061b7b16dd0bb7bf779ba297daa5f0bf0f5 Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:36:04 2009 +0530 headers_check fix: alpha, swab.h fix the following 'make headers_check' warnings: usr/include/asm-alpha/swab.h:4: include of is preferred over usr/include/asm-alpha/swab.h:10: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit 0fc2eb3bade59365ed0b28b8ea3b5c448b2f4a26 Author: Jaswinder Singh Rajput Date: Sat Jan 31 10:34:04 2009 +0530 headers_check fix: alpha, statfs.h fix the following 'make headers_check' warning: usr/include/asm-alpha/statfs.h:6: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput commit d563ffa6b319a4e401d096db9014a947590ca081 Author: Tim Blechmann Date: Sat Jan 31 18:01:13 2009 +0100 ALSA: pcxhr: fix trivial typo Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit 8f008062943c8565e855dda8a6681f641d7e71f9 Author: Grazvydas Ignotas Date: Sat Jan 31 16:29:24 2009 +0200 ASoC: Update OMAP3 pandora board file Update pandora board file for recent TWL4030 codec changes. Also move output related snd_soc_dapm_nc_pin() calls to omap3pandora_out_init(), where they belong. Signed-off-by: Grazvydas Ignotas Signed-off-by: Mark Brown commit ff7bf02f630ae93cad4feda0f6a5a19b25a5019a Author: Timur Tabi Date: Fri Jan 30 11:14:49 2009 -0600 ASoC: fix documentation in CS4270 codec driver Spruce up the documentation in the CS4270 codec. Use kerneldoc where appropriate. Fix incorrect comments. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit 9f84653bbfba4f6c1bc7c0de914319bad55f17a4 Merge: 3ac6cff... da2c0b0... Author: Ingo Molnar Date: Sat Jan 31 14:27:28 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu commit da2c0b021cde94866f1e492f940aad29e8f61258 Merge: 795f99b... 33bfad5... Author: Tejun Heo Date: Sat Jan 31 14:36:00 2009 +0900 Merge branch 'master' into tj-percpu commit 795f99b61d20c34cb04d17d8906b32f745a635ec Author: Jeremy Fitzhardinge Date: Fri Jan 30 17:47:54 2009 +0900 xen: setup percpu data pointers Impact: fix xen booting We need to access percpu data fairly early, so set up the percpu registers as soon as possible. We only need to load the appropriate segment register. We already have a GDT, but its hard to change it early because we need to manipulate the pagetable to do so, and that hasn't been set up yet. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Tejun Heo commit 11e3a840cd5b731cdd8f6f956dfae78a8046d09c Author: Jeremy Fitzhardinge Date: Fri Jan 30 17:47:54 2009 +0900 x86: split loading percpu segments from loading gdt Impact: split out a function, no functional change Xen needs to be able to access percpu data from very early on. For various reasons, it cannot also load the gdt at that time. It does, however, have a pefectly functional gdt at that point, so there's no pressing need to reload the gdt. Split the function to load the segment registers off, so Xen can call it directly. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Tejun Heo commit 552be871e67ff577ed36beb2f53d078b42304739 Author: Brian Gerst Date: Fri Jan 30 17:47:53 2009 +0900 x86: pass in cpu number to switch_to_new_gdt() Impact: cleanup, prepare for xen boot fix. Xen needs to call this function very early to setup the GDT and per-cpu segments. Remove the call to smp_processor_id() and just pass in the cpu number. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 2749ebe320ff9f77548d10fcc0a3464ac21c8e58 Author: Cliff Wickman Date: Thu Jan 29 15:35:26 2009 -0600 x86: UV fix uv_flush_send_and_wait() Impact: fix possible tlb mis-flushing on UV uv_flush_send_and_wait() should return a pointer if the broadcast remote tlb shootdown requests fail. That causes the conventional IPI method of shootdown to be used. Signed-off-by: Cliff Wickman Signed-off-by: Tejun Heo commit d8106d2e24d54497233ca9cd97fa9bec807de458 Author: Ingo Molnar Date: Sat Jan 31 03:06:17 2009 +0100 x86, vm86: clean up invalid_vm86_irq() Signed-off-by: Ingo Molnar commit 009eb3fe146aa6f1951f3c5235851bb8d1330dfb Author: Ingo Molnar Date: Sat Jan 31 02:56:44 2009 +0100 x86, irq: describe NR_IRQ sizing details, clean up Impact: cleanup Signed-off-by: Ingo Molnar commit c379698fdac7cb65c96dec549850ce606dd6ceba Author: Ingo Molnar Date: Sat Jan 31 02:50:46 2009 +0100 x86, irq_vectors.h: remove needless includes Reduce include file dependencies a bit - remove the two headers that are included in irq_vectors.h. Signed-off-by: Ingo Molnar commit 9fc2e79d4f239c1c1dfdab7b10854c7588b39d9a Author: Ingo Molnar Date: Sat Jan 31 02:48:17 2009 +0100 x86, irq: add IRQ layout comments Describe the layout of x86 trap/exception/IRQ vectors and clean up indentation and other small details. Signed-off-by: Ingo Molnar commit 3e92ab3d7e2edef5dccd8b0db21528699c81d2c0 Author: Ingo Molnar Date: Sat Jan 31 02:21:42 2009 +0100 x86, irqs, voyager: remove Voyager quirk Remove a Voyager complication from the generic irq_vectors.h header. Signed-off-by: Ingo Molnar commit ed74ca6d5a3e57eb0969d4e14e46cf9f88d25d3f Author: Ingo Molnar Date: Sat Jan 31 02:16:04 2009 +0100 x86, voyager: move Voyager-specific defines to voyager.h They dont belong into the generic headers. Signed-off-by: Ingo Molnar commit 647ad94fc0479e33958cb4d0e20e241c0bcf599c Author: Ingo Molnar Date: Sat Jan 31 02:06:50 2009 +0100 x86, apic: clean up spurious vector sanity check Move the spurious vector sanity check to the place where it's defined - out of a .c file. Signed-off-by: Ingo Molnar commit 5da690d29f0de17cc1835dd3eb8f8bd0945521f0 Author: Ingo Molnar Date: Sat Jan 31 02:10:03 2009 +0100 x86, apic: unify the APIC vector enumeration Most of the vector layout on 32-bit and 64-bit is identical now, so eliminate the duplicated enumeration of the vectors. Signed-off-by: Ingo Molnar commit 8f47e16348e8e25eedf639092a8a2f10a66aba34 Author: Ingo Molnar Date: Sat Jan 31 02:03:42 2009 +0100 x86: update copyrights Signed-off-by: Ingo Molnar commit d1de36f5b5a30b8f9dae7142516fb122ce1e0661 Author: Ingo Molnar Date: Sat Jan 31 01:59:14 2009 +0100 x86, apic: clean up header section Signed-off-by: Ingo Molnar commit 193c81b979adbc4a540bf89e75b9039fae75bf82 Author: Ingo Molnar Date: Sat Jan 31 02:23:27 2009 +0100 x86, irq: add LOCAL_PERF_VECTOR Add a slot for the performance monitoring interrupt. Not yet used by any subsystem - but the hardware has it. (This eases integration with performance monitoring code.) Signed-off-by: Ingo Molnar commit 7e3fa56141175026136b392fd026d5d07c49720e Author: Sam Ravnborg Date: Fri Jan 30 23:56:42 2009 +0100 kbuild: drop check for CONFIG_ in headers_check The check for references to CONFIG_ symbols in exported headers turned out to be too agressive with the current state of affairs. After the work of Jaswinder to clean up all relevant cases we are down to almost pure noise. So lets drop the check for now - we can always add it back later should our headers be ready for that. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit 4767afbf1f60f73997a7eb69a86d380f1fb27a92 Author: Jeremy Fitzhardinge Date: Thu Jan 29 01:51:34 2009 -0800 x86/paravirt: fix missing callee-save call on pud_val Impact: Fix build when CONFIG_PARAVIRT_DEBUG is enabled Fix missed convertion to using callee-saved calls for pud_val, which causes a compile error when CONFIG_PARAVIRT_DEBUG is enabled. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit da5de7c22eb705be709a57e486e7475a6969b994 Author: Jeremy Fitzhardinge Date: Wed Jan 28 14:35:07 2009 -0800 x86/paravirt: use callee-saved convention for pte_val/make_pte/etc Impact: Optimization In the native case, pte_val, make_pte, etc are all just identity functions, so there's no need to clobber a lot of registers over them. (This changes the 32-bit callee-save calling convention to return both EAX and EDX so functions can return 64-bit values.) Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 791bad9d28d405d9397ea0c370ffb7c7bdd2aa6e Author: Jeremy Fitzhardinge Date: Wed Jan 28 14:35:06 2009 -0800 x86/paravirt: implement PVOP_CALL macros for callee-save functions Impact: Optimization Functions with the callee save calling convention clobber many fewer registers than the normal C calling convention. Implement variants of PVOP_V?CALL* accordingly. This only bothers with functions up to 3 args, since functions with more args may as well use the normal calling convention. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit ecb93d1ccd0aac63f03be2db3cac3fa974716f4c Author: Jeremy Fitzhardinge Date: Wed Jan 28 14:35:05 2009 -0800 x86/paravirt: add register-saving thunks to reduce caller register pressure Impact: Optimization One of the problems with inserting a pile of C calls where previously there were none is that the register pressure is greatly increased. The C calling convention says that the caller must expect a certain set of registers may be trashed by the callee, and that the callee can use those registers without restriction. This includes the function argument registers, and several others. This patch seeks to alleviate this pressure by introducing wrapper thunks that will do the register saving/restoring, so that the callsite doesn't need to worry about it, but the callee function can be conventional compiler-generated code. In many cases (particularly performance-sensitive cases) the callee will be in assembler anyway, and need not use the compiler's calling convention. Standard calling convention is: arguments return scratch x86-32 eax edx ecx eax ? x86-64 rdi rsi rdx rcx rax r8 r9 r10 r11 The thunk preserves all argument and scratch registers. The return register is not preserved, and is available as a scratch register for unwrapped callee code (and of course the return value). Wrapped function pointers are themselves wrapped in a struct paravirt_callee_save structure, in order to get some warning from the compiler when functions with mismatched calling conventions are used. The most common paravirt ops, both statically and dynamically, are interrupt enable/disable/save/restore, so handle them first. This is particularly easy since their calls are handled specially anyway. XXX Deal with VMI. What's their calling convention? Signed-off-by: H. Peter Anvin commit 9104a18dcdd8dfefdddca8ce44988563f13ed3c4 Author: Jeremy Fitzhardinge Date: Wed Jan 28 14:35:04 2009 -0800 x86/paravirt: selectively save/restore regs around pvops calls Impact: Optimization Each asm paravirt-ops call says what registers are available for clobbering. This patch makes use of this to selectively save/restore registers around each pvops call. In many cases this significantly shrinks code size. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit b8aa287f77be943e37a84fa4657e27df95269bfb Author: Jeremy Fitzhardinge Date: Wed Jan 28 14:35:03 2009 -0800 x86: fix paravirt clobber in entry_64.S Impact: Fix latent bug The clobber is trying to say that anything except RDI is available for clobbering, but actually clobbers everything. This hasn't mattered because the clobbers were basically ignored, but subsequent patches will rely on them. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 41edafdb78feac1d1f8823846209975fde990633 Author: Jeremy Fitzhardinge Date: Wed Jan 28 14:35:02 2009 -0800 x86/pvops: add a paravirt_ident functions to allow special patching Impact: Optimization Several paravirt ops implementations simply return their arguments, the most obvious being the make_pte/pte_val class of operations on native. On 32-bit, the identity function is literally a no-op, as the calling convention uses the same registers for the first argument and return. On 64-bit, it can be implemented with a single "mov". This patch adds special identity functions for 32 and 64 bit argument, and machinery to recognize them and replace them with either nops or a mov as appropriate. At the moment, the only users for the identity functions are the pagetable entry conversion functions. The result is a measureable improvement on pagetable-heavy benchmarks (2-3%, reducing the pvops overhead from 5 to 2%). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 319f3ba52c71630865b10ac3b99dd020440d681d Author: Jeremy Fitzhardinge Date: Wed Jan 28 14:35:01 2009 -0800 xen: move remaining mmu-related stuff into mmu.c Impact: Cleanup Move remaining mmu-related stuff into mmu.c. A general cleanup, and lay the groundwork for later patches. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 9b7ed8faa034fc2d350e2eff5c68680eb5c43a07 Merge: 6522869... c43e0e4... Author: H. Peter Anvin Date: Fri Jan 30 14:50:57 2009 -0800 Merge branch 'core/percpu' into x86/paravirt commit 6b64ee02da20d6c0d97115e0b1ab47f9fa2f0d8f Author: Ingo Molnar Date: Fri Jan 30 23:42:18 2009 +0100 x86, apic, 32-bit: add self-IPI methods Impact: fix rare crash on 32-bit The 32-bit APIC drivers had their send_IPI_self vectors set to NULL, but ioapic_retrigger_irq() depends on it being always set. Fix it. Signed-off-by: Ingo Molnar commit 05bee4737774881e027bfd9a8b5c40a7d68f6325 Merge: 80595d5... 905db44... Author: David S. Miller Date: Fri Jan 30 14:31:07 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/e1000/e1000_main.c commit 3ac6cffea4aa18007a454a7442da2855882f403d Author: Tejun Heo Date: Fri Jan 30 16:32:22 2009 +0900 linker script: use separate simpler definition for PERCPU() Impact: fix linker screwup on x86_32 Recent x86_64 zerobased patches introduced PERCPU_VADDR() to put .data.percpu to a predefined address and re-defined PERCPU() in terms of it. The new macro defined one extra symbol, __per_cpu_load, for LMA of the section so that the init data could be accessed. This new symbol introduced the following problems to x86_32. 1. If __per_cpu_load is defined outside of .data.percpu as an absolute symbol, relocation generation for relocatable kernel fails due to absolute relocation. 2. If __per_cpu_load is put inside .data.percpu with absolute address assignment to work around #1, linker gets confused and under certain configurations ends up relocating the symbol against .data.percpu such that the load address gets added on top of already set load address. As x86_32 doesn't use predefined address for .data.percpu, there's no need for it to care about the possibility of __per_cpu_load being different from __per_cpu_start. This patch defines PERCPU() separately so that __per_cpu_load is defined inside .data.percpu so that everything is ordinary linking-wise. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 1ad53a98c927a9b5b1b57288ac0edec562fbcf8d Author: Dave Kleikamp Date: Fri Jan 30 14:09:06 2009 -0600 jfs: Fix error handling in metapage_writepage() Improved error handling so that last_write_complete(), and thus end_page_writeback(), gets called only once. Signed-off-by: Dave Kleikamp Reported-by: Eric Sesterhenn commit 504a06d8b05cb5b214c9b97752d8451e88d9ef81 Author: Takashi Iwai Date: Fri Jan 30 19:59:10 2009 +0100 ALSA: Add description of new fm_port option for snd-es1688 driver Signed-off-by: Takashi Iwai commit 880abd42d0891635e988b0a2cfb0942cf79fa2c3 Author: Krzysztof Helt Date: Fri Jan 30 19:20:29 2009 +0100 ALSA: ess1688: fix OPL3 port setting The ess1688 driver uses the same port for PCM audio (SB compatible) and OPL3 synthesis. It is not always right so allow to choose a different port for OPL3 synthesis. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit b8abde45d7d6ab9e8ceced9b5990eeb1149d0b97 Author: Vivek Natarajan Date: Tue Jan 27 19:26:28 2009 +0530 mac80211: Cancel the dynamic ps timer in ioctl_siwpower. If the dynamic power save timer has been started before the power save is disabled using iwconfig, we fail to cancel the timer. Hence cancel it while disabling power save. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 94ff91d4afd8ae14e8bb7012ba17cf6984130e44 Author: Sujith Date: Tue Jan 27 15:06:38 2009 +0530 ath9k: Fix bug in TX DMA termination Removing the module was slow because ath9k_hw_stopdma() was looping for a long time quantum. Use reasonable values now to fix this issue. Signed-off-by: Sujith Signed-off-by: John W. Linville commit f46730d13f23b4578dca1c0f7663ea3093ff4f0e Author: Sujith Date: Tue Jan 27 13:51:03 2009 +0530 ath9k: Setup short preamble properly in rate registration This patch fixes an issue where hw_value_short was not being filled with the proper ratecode during rate registration, but was being used in the RX path for decoding the packet rate. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1286ec6d63c557aa203ab5af56962a3d37181771 Author: Sujith Date: Tue Jan 27 13:30:37 2009 +0530 ath9k: Fix station access in aggregation completion The ieee80211_sta pointer in the SKB's TX control info area is not guaranteed to be valid after returning from the tx() callback. Use ieee80211_find_sta() instead and return early if the station is no longer present. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1f7d6cbfa2a993ea0d714e8552c784eea75a046b Author: Sujith Date: Tue Jan 27 10:55:54 2009 +0530 ath9k: Reconfigure beacons on getting a notification from mac80211 Signed-off-by: Sujith Signed-off-by: John W. Linville commit 3c4572657656117c1f9cf1df42e681ea71abb2db Author: Sujith Date: Tue Jan 27 10:55:31 2009 +0530 ath9k: Handle chainmask for A9280 The default chainmask for AR9280 is 3, so handle that when setting the supported MCS rates. Also, check for the HW supported chainmask when choosing single/dual stream. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c43e0e46adf79c321ed3fbf0351e1005fb8a2413 Merge: dba3d36... f2257b7... Author: Ingo Molnar Date: Fri Jan 30 18:23:30 2009 +0100 Merge branch 'linus' into core/percpu Conflicts: kernel/irq/handle.c commit ecf441b593ac41cb8cd8cd3695110167c42e098c Author: Randy Dunlap Date: Thu Jan 29 13:49:45 2009 -0800 kmemtrace: fix printk formats, fix Geert Uytterhoeven wrote: > %4zu? Reported-by: Geert Uytterhoeven Signed-off-by: Randy Dunlap Acked-by: Eduard - Gabriel Munteanu Signed-off-by: Ingo Molnar commit 4d87c5bec5389625d80b71108795aecf82cd670d Author: Andrew Morton Date: Thu Jan 29 14:29:10 2009 -0800 fix "sparseirq: use kstat_irqs_cpu on non-x86 architectures too" Repair 0b0f0b1c2c87de299df6f92a8ffc0a73bd1bb960 arch/alpha/kernel/irq.c: In function 'show_interrupts': arch/alpha/kernel/irq.c:93: error: 'i' undeclared (first use in this function) arch/alpha/kernel/irq.c:93: error: (Each undeclared identifier is reported only once arch/alpha/kernel/irq.c:93: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 26f7ef14a76b0e590a3797fd7b2f3cee868d9664 Author: Yinghai Lu Date: Thu Jan 29 14:19:22 2009 -0800 x86: don't treat bigsmp as non-standard just like 64 bit switch from flat logical APIC messages to flat physical mode automatically. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 43f39890db2959b10891cf7bbf3f53fffc8ce3bd Author: Yinghai Lu Date: Thu Jan 29 19:31:49 2009 -0800 x86: seperate default_send_IPI_mask_sequence/allbutself from logical Impact: 32-bit should use logical version there are two version: for default_send_IPI_mask_sequence/allbutself one in ipi.h and one in ipi.c for 32bit it seems .h version overwrote ipi.c for a while. restore it so 32 bit could use its old logical version. also remove dupicated functions in .c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1ff2f20de354a621ef4b56b9cfe6f9139a7e493b Author: Yinghai Lu Date: Thu Jan 29 19:30:04 2009 -0800 x86: fix compiling with 64bit with def_to_bigsmp only need to do cut off with 32bit Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 36ef4944ee8118491631e317e406f9bd15e20e97 Author: Yinghai Lu Date: Thu Jan 29 19:29:24 2009 -0800 x86, apic unification: remove left over files Impact: cleanup remove unused files Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 04eb093c7c81d118efeb96228f69bc0179f71897 Author: Timur Tabi Date: Thu Jan 29 14:28:37 2009 -0600 ASoC: fix initialization order of the CS4270 codec driver ASoC codec drivers typically serve two masters: the I2C bus and ASoC itself. When a codec driver registers with ASoC, a probe function is called. Most codec drivers call ASoC first, and then register with the I2C bus in the ASoC probe function. However, in order to support multiple codecs on one board, it's easier if the codec driver is probed via the I2C bus first. This is because the call to i2c_add_driver() can result in the I2C probe function being called multiple times - once for each codec. In the current design, the driver registers once with ASoC, and in the ASoC probe function, it calls i2c_add_driver(). The results in the I2C probe function being called multiple times before the driver can register with ASoC again. The new design has the driver call i2c_add_driver() first. In the I2C probe function, the driver registers with ASoC. This allows the ASoC probe function to be called once per I2C device. Also add code to check if the I2C probe function is called more than once, since that is not supported with the current ASoC design. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit f87b2ed225c002ea1b1b9994c6608d8b202f865e Author: David Woodhouse Date: Fri Jan 30 14:31:36 2009 +1100 solos: Swap upstream/downstream rates in status packet, clean up some more Signed-off-by: David Woodhouse commit eab50f73ca51384d8f17886edc7bbc9969b91c0e Author: David Woodhouse Date: Fri Jan 30 14:27:26 2009 +1100 solos: Set RX empty flag at startup only for !dma mode Signed-off-by: David Woodhouse commit cd5549e0f4b5129cdb7b02fbb6a559f78eda7f4c Author: David Woodhouse Date: Fri Jan 30 14:26:37 2009 +1100 solos: Don't clear config registers at startup Signed-off-by: David Woodhouse commit 95852f48c2b78ee6b211a38039ccca2c889a7010 Author: David Woodhouse Date: Fri Jan 30 14:23:52 2009 +1100 solos: Tidy up status interrupt handling, cope with 'ERROR' status Signed-off-by: David Woodhouse commit cc3657e1f6d552a88307af62f53380503ba0130b Author: David Woodhouse Date: Fri Jan 30 14:23:22 2009 +1100 solos: Add 'reset' module parameter to reset the DSL chips on load Signed-off-by: David Woodhouse commit 39ba5d43fc9133696240fc8b6b13e7a41fea87cd Author: Yasuaki Ishimatsu Date: Wed Jan 28 12:52:24 2009 +0900 x86: unify PM-Timer messages Impact: Cleans up printk formatting When LOCAL APIC was calibrated, the debug message is displayed as follows. CPU0: Intel(R) Xeon(R) CPU 5110 @ 1.60GHz stepping 06 Using local APIC timer interrupts. calibrating APIC timer ... ... lapic delta = 3773131 ... PM timer delta = 812434 APIC calibration not consistent with PM Timer: 226ms instead of 100ms APIC delta adjusted to PM-Timer: 1662420 (3773131) TSC delta adjusted to PM-Timer: 159592409 (362220564) ..... delta 1662420 ..... mult: 71411249 ..... calibration result: 265987 ..... CPU clock speed is 1595.0924 MHz. ..... host bus clock speed is 265.0987 MHz. There are three type of PM-Timer (PM-Timer, PM Timer, and PM timer), in this message. This patch unifies those messages to PM-Timer. Signed-off-by: Yasuaki Ishimatsu Signed-off-by: H. Peter Anvin commit 754ef0cd65faac4840ada4362bda322d9a811fbf Author: Yasuaki Ishimatsu Date: Wed Jan 28 12:51:09 2009 +0900 x86: fix debug message of CPU clock speed Impact: Fixes incorrect printk LOCAL APIC is corrected by PM-Timer, when SMI occurred while LOCAL APIC is calibrated. In this case, LOCAL APIC debug message(Boot with apic=debug) is displayed correctly, however, CPU clock speed debug message is displayed wrongly . When SMI occured on my machine, which has 1.6GHz CPU, CPU clock speed is displayed 3622.0205 MHz as follow. CPU0: Intel(R) Xeon(R) CPU 5110 @ 1.60GHz stepping 06 Using local APIC timer interrupts. calibrating APIC timer ... ... lapic delta = 3773130 ... PM timer delta = 812434 APIC calibration not consistent with PM Timer: 226ms instead of 100ms APIC delta adjusted to PM-Timer: 1662420 (3773130) ..... delta 1662420 ..... mult: 71411249 ..... calibration result: 265987 ..... CPU clock speed is 3622.0205 MHz. =====> here ..... host bus clock speed is 265.0987 MHz. This patch fixes to displaying CPU clock speed correctly as follow. CPU0: Intel(R) Xeon(R) CPU 5110 @ 1.60GHz stepping 06 Using local APIC timer interrupts. calibrating APIC timer ... ... lapic delta = 3773131 ... PM timer delta = 812434 APIC calibration not consistent with PM Timer: 226ms instead of 100ms APIC delta adjusted to PM-Timer: 1662420 (3773131) TSC delta adjusted to PM-Timer: 159592409 (362220564) ..... delta 1662420 ..... mult: 71411249 ..... calibration result: 265987 ..... CPU clock speed is 1595.0924 MHz. ..... host bus clock speed is 265.0987 MHz. Signed-off-by: Yasuaki Ishimatsu Signed-off-by: H. Peter Anvin commit 80595d59ba9917227856e663da249c2276a8628d Author: Herbert Xu Date: Thu Jan 29 14:19:52 2009 +0000 gro: Open-code memcpy in napi_fraginfo_skb This patch optimises napi_fraginfo_skb to only copy the bits necessary. We also open-code the memcpy so that the alignment information is always available to gcc. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 81705ad1b2f926d2ef15ed95074a9c1fa9fb4dc4 Author: Herbert Xu Date: Thu Jan 29 14:19:51 2009 +0000 gro: Do not merge paged packets into frag_list gro: Do not merge paged packets into frag_list Bigger is not always better :) It was easy to continue to merged packets into frag_list after the page array is full. However, this turns out to be worse than LRO because frag_list is a much less efficient form of storage than the page array. So we're better off stopping the merge and starting a new entry with an empty page array. In future we can optimise this further by doing frag_list merging but making sure that we continue to fill in the page array. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 86911732d3996a9da07914b280621450111bb6da Author: Herbert Xu Date: Thu Jan 29 14:19:50 2009 +0000 gro: Avoid copying headers of unmerged packets Unfortunately simplicity isn't always the best. The fraginfo interface turned out to be suboptimal. The problem was quite obvious. For every packet, we have to copy the headers from the frags structure into skb->head, even though for 99% of the packets this part is immediately thrown away after the merge. LRO didn't have this problem because it directly read the headers from the frags structure. This patch attempts to address this by creating an interface that allows GRO to access the headers in the first frag without having to copy it. Because all drivers that use frags place the headers in the first frag this optimisation should be enough. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5d0d9be8ef456afc6c3fb5f8aad06ef19b704b05 Author: Herbert Xu Date: Thu Jan 29 14:19:48 2009 +0000 gro: Move common completion code into helpers Currently VLAN still has a bit of common code handling the aftermath of GRO that's shared with the common path. This patch moves them into shared helpers to reduce code duplication. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4272ebfbefd0db40073f3ee5990bceaf2894f08b Author: Yinghai Lu Date: Thu Jan 29 15:14:46 2009 -0800 x86: allow more than 8 cpus to be used on 32-bit X86_PC is the only remaining 'sub' architecture, so we dont need it anymore. This also cleans up a few spurious references to X86_PC in the driver space - those certainly should be X86. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a1a1415e5ea2d2241df208a7777a4f38aba9ed5a Merge: aaca4ff... 18e352e... Author: Felix Blyakher Date: Thu Jan 29 16:55:56 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 95c14904b6f6f8a35365f0c58d530c85b4fb96b4 Author: James Morris Date: Thu Jan 29 12:37:58 2009 +1100 selinux: remove secondary ops call to shm_shmat Remove secondary ops call to shm_shmat, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit 5c4054ccfafb6a446e9b65c524af1741656c6c60 Author: James Morris Date: Thu Jan 29 12:34:53 2009 +1100 selinux: remove secondary ops call to unix_stream_connect Remove secondary ops call to unix_stream_connect, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit 2cbbd19812b7636c1c37bcf50c403e7af5278d73 Author: James Morris Date: Thu Jan 29 12:32:50 2009 +1100 selinux: remove secondary ops call to task_kill Remove secondary ops call to task_kill, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit ef76e748faa823a738d632ee4c8ed9adaabc8a40 Author: James Morris Date: Thu Jan 29 12:30:28 2009 +1100 selinux: remove secondary ops call to task_setrlimit Remove secondary ops call to task_setrlimit, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit ca5143d3ff3c7a4e1c2c8bdcf0f53aea227a7722 Author: James Morris Date: Thu Jan 29 12:26:14 2009 +1100 selinux: remove unused cred_commit hook Remove unused cred_commit hook from SELinux. This currently calls into the capabilities hook, which is a noop. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit af294e41d0c95a291cc821a1b43ec2cd13976a8b Author: James Morris Date: Thu Jan 29 12:23:36 2009 +1100 selinux: remove secondary ops call to task_create Remove secondary ops call to task_create, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit d541bbee6902d5ffb8a03d63ac8f4b1364c2ff93 Author: James Morris Date: Thu Jan 29 12:19:51 2009 +1100 selinux: remove secondary ops call to file_mprotect Remove secondary ops call to file_mprotect, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit 438add6b32d9295db6e3ecd4d9e137086ec5b5d9 Author: James Morris Date: Thu Jan 29 12:15:59 2009 +1100 selinux: remove secondary ops call to inode_setattr Remove secondary ops call to inode_setattr, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit 188fbcca9dd02f15dcf45cfc51ce0dd6c13993f6 Author: James Morris Date: Thu Jan 29 12:14:03 2009 +1100 selinux: remove secondary ops call to inode_permission Remove secondary ops call to inode_permission, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit f51115b9ab5b9cfd0b7be1cce75afbf3ffbcdd87 Author: James Morris Date: Thu Jan 29 12:10:56 2009 +1100 selinux: remove secondary ops call to inode_follow_link Remove secondary ops call to inode_follow_link, which is a noop in capabilities. Acked-by: Serge Hallyn Signed-off-by: James Morris commit dd4907a6d4e038dc65839fcd4030ebefe2f5f439 Author: James Morris Date: Thu Jan 29 12:08:34 2009 +1100 selinux: remove secondary ops call to inode_mknod Remove secondary ops call to inode_mknod, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit e4737250b751b4e0e802adae9a4d3ae0227b580b Author: James Morris Date: Thu Jan 29 12:00:08 2009 +1100 selinux: remove secondary ops call to inode_unlink Remove secondary ops call to inode_unlink, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit efdfac437607e4acfed66c383091a376525eaec4 Author: James Morris Date: Thu Jan 29 11:57:34 2009 +1100 selinux: remove secondary ops call to inode_link Remove secondary ops call to inode_link, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit 97422ab9ef45118cb7418d799dc69040f17108ce Author: James Morris Date: Thu Jan 29 11:55:02 2009 +1100 selinux: remove secondary ops call to sb_umount Remove secondary ops call to sb_umount, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit ef935b9136eeaa203f75bf0b4d6e398c29f44d27 Author: James Morris Date: Thu Jan 29 11:51:11 2009 +1100 selinux: remove secondary ops call to sb_mount Remove secondary ops call to sb_mount, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit 5565b0b865f672e3d7e31936ad1d40710ab7bfc4 Author: James Morris Date: Thu Jan 29 11:47:49 2009 +1100 selinux: remove secondary ops call to bprm_committed_creds Remove secondary ops call to bprm_committed_creds, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit 2ec5dbe23d68bddc043a85d1226bfc499a724b1c Author: James Morris Date: Thu Jan 29 11:46:14 2009 +1100 selinux: remove secondary ops call to bprm_committing_creds Remove secondary ops call to bprm_committing_creds, which is a noop in capabilities. Acked-by: Serge Hallyn Acked-by: Eric Paris Signed-off-by: James Morris commit bc05595845f58c065adc0763a678187647ec040f Author: James Morris Date: Thu Jan 29 11:28:33 2009 +1100 selinux: remove unused bprm_check_security hook Remove unused bprm_check_security hook from SELinux. This currently calls into the capabilities hook, which is a noop. Acked-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit fb9ddbf086591ab4c90c44d10468f84d465b3fdf Author: Johannes Berg Date: Mon Jan 26 19:11:57 2009 +0100 mac80211: don't try to powersave/config disabled interfaces Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d81c2d9c909e95ee8a5745da95bbb35f8ded3d17 Author: Luis R. Rodriguez Date: Mon Jan 26 09:00:51 2009 -0800 cfg80211: do not pass -EALREADY to userspace on regdomain change request If the regulatory domain is already set it is technically not an error so do not pass an errno to userspace. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b51bb3cd6c8078b8b8cc1d1725b100267eaa726e Author: Luis R. Rodriguez Date: Mon Jan 26 07:30:03 2009 -0800 ath9k: remove useless ath9k driver version information Versioning for ath9k is pointless we have kept it at 0.1 since the initial release so its meaningless. We put more emphasis on kernel release or dated wireless-testing master tag as per John's tagging. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 793c592995b841667fa6d1a36a98880430dcc8f4 Author: Senthil Balasubramanian Date: Mon Jan 26 20:28:14 2009 +0530 ath9k: Fix AR9285 specific noise floor eeprom reads. Fix AR9285 specific noise floor reads and initialize tx and rx chainmask during reset. This along with the following earlier patches of ath9k fixes an issue with association noticed in noisy environment. ath9k: Fix typo in chip version check ath9k: Remove unnecessary gpio configuration in ath9k_hw_reset() ath9k: Fix bug in NF calibration Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 0c6666e4c43a10a224c63e3270c963d97f7e8cc8 Author: Luis R. Rodriguez Date: Mon Jan 26 06:48:10 2009 -0800 ath9k: fix debug print on regd With debugging enabled and with ATH_DBG_REGULATORY selected we wouldn't get the full print out of one line, reason is we used "," instead of nothing to separate two lines. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f677d7702d48b7b3dfcce3b2c0db601dbee0aa24 Author: Tulio Magno Quites Machado Filho Date: Sun Jan 25 23:54:25 2009 +0100 ath5k: support LED's on emachines E510 notebook Add vendor ID for AMBIT and use it to set the ath5k LED gpio. base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Tulio Magno Quites Machado Filho Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 060210f938d8aa0b9d795588a2274cd67ba9d6a4 Author: Michael Buesch Date: Sun Jan 25 15:49:59 2009 +0100 b43: Dynamically control log verbosity Dynamically control the log verbosity with a module parameter. This enables us to dynamically enable debugging messages (or disable info, warn, error messages) via module parameter or /sys/module/b43/parameters/verbose. This increases the module size by about 3k. But in practice it reduces the module size for the user, because some distributions ship the b43 module with CONFIG_B43_DEBUG set, which increases the module by about 15k. So with this patch applied, distributions should really _disable_ CONFIG_B43_DEBUG. There is no reason to keep it in a production-release kernel. So we have a net reduction in size by about 12k. This patch also adds a printk of the wireless core revision, so people don't have to enable SSB debugging to get the wireless core revision. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 08e87a833f5e77ff33b64c9ac27cb7fb9ecd4a48 Author: Alina Friedrichsen Date: Sun Jan 25 15:28:28 2009 +0100 b43: Accessing the TSF via mac80211 This allows the mac80211 high level code to access the TSF. This is e.g. needed for BSSID merges in the IBSS mode. The second version adds locking and removes the now unnecessary debugfs entries. Thanks to Michael Buesch! :) Signed-off-by: Alina Friedrichsen Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 3b5d665b51cda73ef1a774b515afd879a38e3674 Author: Alina Friedrichsen Date: Sat Jan 24 07:09:59 2009 +0100 mac80211: Generic TSF debugging This patch enables low-level driver independent debugging of the TSF and remove the driver specific things of ath5k and ath9k from the debugfs. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 3978e5bce63484789891c67413372da3915bcbd6 Author: Winkler, Tomas Date: Fri Jan 23 13:45:23 2009 -0800 iwlwifi: iwl_tx_queue_alloc : fix warning in printk formatting This patch fix compilation warning in printk formatting iwl_tx_queue_alloc function. Cleanup the code a bit on the way. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c771c9d8da1e8292ef8bf7fd4ce135dacc650130 Author: Johannes Berg Date: Fri Jan 23 22:54:03 2009 +0100 mac80211: add interface list lock Using only the RTNL has a number of problems, most notably that ieee80211_iterate_active_interfaces() and other interface list traversals cannot be done from the internal workqueue because it needs to be flushed under the RTNL. This patch introduces a new mutex that protects the interface list against modifications. A more detailed explanation is part of the code change. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 506d03f97d10e54fd27c58c872a98242326d6419 Author: Dan Williams Date: Sat Jan 24 09:13:58 2009 -0500 airo: remove useless #defines Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 018697d178717d63f668b9e5f3b473f4e37f6304 Author: Dan Williams Date: Sat Jan 24 09:13:32 2009 -0500 airo: clean up and clarify micinit() Fix some endian issues too. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 99590ffefc803caaf6ba923da092cde739269c06 Author: Dan Williams Date: Sat Jan 24 09:12:58 2009 -0500 airo: use __attribute__ ((packed)) not #pragma Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit dff8ccd9f5ff76b7449bf833f4646f70036b2256 Author: Michael Buesch Date: Sat Jan 24 22:36:57 2009 +0100 b43: Fix phy_g.c compiler warning Fix compile warning for non-debug builds: drivers/net/wireless/b43/phy_g.c: In function ‘b43_gphy_op_recalc_txpower’: drivers/net/wireless/b43/phy_g.c:3195: warning: unused variable ‘dbm’ Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e874e6585539f6706b8e5f96125c9fca89cce716 Author: Bob Copeland Date: Sat Jan 24 13:21:14 2009 -0500 mac80211: flush workqueue a second time in suspend() Drivers can theoretically queue more work in one of their callbacks from mac80211 suspend, so let's flush it once more to be on the safe side, just before calling ->stop(). Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 30d3ef41b4395d9bee5f481395eef2d3b8b6ee50 Author: Bob Copeland Date: Fri Jan 23 23:09:35 2009 -0500 mac80211: change workqueue back to non-freezeable "mac80211: make workqueue freezable" made the mac80211 workqueue freezeable to prevent us from doing any work after the driver went away. This was fine before mac80211 had any suspend support. However, now we want to flush this workqueue in suspend(). Because the thread for a freezeable workqueue is stopped before the device class suspend() is called, flush_workqueue() will hang in the suspend-to-disk case. Converting it back to a non-freezeable queue will keep suspend from hanging. Moreover, since we flush the workqueue under RTNL and userspace is stopped, there won't be any new work in the workqueue until after resume. Thus we still don't have to worry about pinging the AP without hardware. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit dfe670121a2719be6ead12eb5306d4d2714c09cb Author: Alina Friedrichsen Date: Sat Jan 24 01:19:04 2009 +0100 mac80211: Fixed BSSID handling revisited This patch cleanup the fixed BSSID handling, that ieee80211_sta_set_bssid() works like ieee80211_sta_set_ssid(). So that the BSSID is only a second selection criterion besides the SSID. This allows us to create new IBSS networks with fixed BSSIDs, which was broken before. In the second version of this patch the handling of the stupid merges to the same BSSID is moved out to get reworked into an other patch. And this version hopefully solves the problems with some low-level drivers and re-adds the config BSSID warning to help debugging the low-level drivers. Much thanks to all who have helped testing! :) Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit c0380693520b1a1e4f756799a0edc379378b462a Author: Dan Williams Date: Sat Jan 24 09:12:15 2009 -0500 airo: clean up WEP key operations get_wep_key() and set_wep_key() combind both get/set of the actual WEP key and get/set of the transmit index into the same functions. Split those out so it's clearer what is going one where. Add error checking to WEP key hardware operations too. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 138c0c688262b7f4ed07cdc6d0592299c4f12998 Author: Dan Williams Date: Sat Jan 24 09:11:35 2009 -0500 airo: simplify WEP index and capability checks Do the computation once at init time; don't ask the hardware every time. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit f65b56d67b48eec7ffe174f223e98db58c3bf2b5 Author: Dan Williams Date: Sat Jan 24 09:10:42 2009 -0500 airo: re-arrange WPA capability checks The capability register has to be read for other (upcoming) stuff, so fold the WPA test function back into _init_airo_card() and move the netdevice registration stuff above it so that the netdevice has a name by the time the card's capabilities are printed out. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit f55d4517ebdd6de627d42a24baefaeb689978087 Author: Dan Williams Date: Sat Jan 24 09:04:12 2009 -0500 airo: clean up and clarify interrupt-time task handling Split each specific interrupt-time task out into its own function to make airo_interrupt() actually readable. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0d21044effa10044930419c6f837f75191229c3a Author: Winkler, Tomas Date: Fri Jan 23 13:45:21 2009 -0800 iwlwifi: fix probe mask for 39 scan API This pach make use of 39 own scan probe mask the variables or of different types Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 17f841cd6cb0837ba0599ad18a746c30ddd83e08 Author: Samuel Ortiz Date: Fri Jan 23 13:45:20 2009 -0800 iwl3945: Remaining host command cleanups With the recent host command routines merge, we can now look at the various host command helpers and get rid of the duplicated ones. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit af48d048ac5f10981df093c7566ae0fea9ba1967 Author: Samuel Ortiz Date: Fri Jan 23 13:45:19 2009 -0800 iwl3945: Add restart_fw module parameter In order to be in sync with the agn code, we're ading a fw_restart3945 module parameter to iwl3945. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7e4bca5e5b8dffd9373470693e20f43b0aee566c Author: Samuel Ortiz Date: Fri Jan 23 13:45:18 2009 -0800 iwl3945: Getting rid of priv->antenna The iwl_priv antenna field is useless as we can simply use the corresponding mod_params antenna field. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d08853a3995cfc2985307da7400fb57bfa5773e2 Author: Samuel Ortiz Date: Fri Jan 23 13:45:17 2009 -0800 iwlwifi: Remove IWL3945_DEBUG IWL3945_DEBUG is pointless and obsolete. We already have an IWLWIFI_DEBUG symbol, that needs to be set if we actually want to get 3945 debug (see iwl-debug.h). Thus, we can simply get rid of this symbol. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 534166dedaa9a660c7221b145b5e4088a2d9ac69 Author: Samuel Ortiz Date: Fri Jan 23 13:45:16 2009 -0800 iwl3945: Use the iwlcore geos routines By removing the init_rates() routine outside of the init_geos() one, we can share the geos routines between 3945 and agn. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e6148917db2c223fa7edd3dfb64d99756a86b452 Author: Samuel Ortiz Date: Fri Jan 23 13:45:15 2009 -0800 iwl3945: Use iwl-eeprom.c routines By adding the eeprom ops to the 3945 code, we can now use the iwlcore eeprom routines (defined in iwl-eeprom.c). We also removed the heavy eeprom39 reference from iwl_priv and use the eeprom pointer instead. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8e74e2774cd1aecfef0460de07e6e178df89232 Author: Samuel Ortiz Date: Fri Jan 23 13:45:14 2009 -0800 iwl3945: Use iwlcore TX queue management routines By adding an additional hw_params (tfd_size) and a new iwl_lib ops (txq_init), we can now use the iwlcore TX queue management routines. We had to add a new hw_params because we need to allocate the right DMA buffer for TFDs, and those have a different sizes depending if you're on 3945 or agn. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 59606ffa9146538b73bbe1ca1285321cd7474bc0 Author: Samuel Ortiz Date: Fri Jan 23 13:45:13 2009 -0800 iwlwifi: make iwl_tx_queue->tfds void* Instead of having both tfds and tfds39, we can just have a void *tfds. It makes the tx_queue structure nicer, and the code cleaner. It also helps with further TX queues management code merging. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 77fecfb88f8ad64420e06a96f1bd3b38498bfb4f Author: Samuel Ortiz Date: Fri Jan 23 13:45:12 2009 -0800 iwl3945: Use iwlcore scan code A lot of the scanning related code is duplicated between 3945 and agn. Let's use the iwlcore one and get rid of the 3945. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 75bcfae97d71756263ccbffc2dcdd8b3020a1a0f Author: Samuel Ortiz Date: Fri Jan 23 13:45:11 2009 -0800 iwl3945: Define send_tx_power We can define this iwl_lib ops for 3945, as this would help us cleaning the scanning code. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7b841727d2715d97592f46164804b34d6241644f Author: Rick Farrington Date: Fri Jan 23 13:45:10 2009 -0800 iwlagn: reduce off channel reception for 4965 Force use of chains B and C (0x6) for Rx for 4965 Avoid A (0x1) because of its off-channel reception on A-band. Signed-off-by: Rick Farrington Signed-off-by: Ben Cahill Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4c4df78f5e224fd59fe337773878eca681ed02a9 Author: Chatre, Reinette Date: Fri Jan 23 13:45:09 2009 -0800 iwlwifi: add test to determine if interface in monitor mode mac80211 sets driver in monitor mode through configuring the RX filters. We cannot trust priv->iw_mode to be accurate regarding monitor mode as iw_mode is only set in add_interface, which is not called by mac80211 when in monitor mode. Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 1a9f509368ceb24fc66be961be15c69966f5eb5d Author: Michael Buesch Date: Fri Jan 23 21:21:51 2009 +0100 b43: Automatically probe for opensource firmware First probe for proprietary firmware and then probe for opensource firmware. This way around it's a win-win situation. 1) If proprietary fw is available, it will work. 2) If opensource firmware is available, but no proprietary (Distros can only ship open fw) it might work. 3) If both open and proprietary are available, it will work, because it selects the proprietary. We currently don't prefer the open fw in this case, because it doesn't work on all devices. It would introduce a regression otherwise. The remaining FIXMEs in this patch are harmless, because they only matter on multiband devices, which are not implemented yet anyway. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2f47690ed42a85820783dee7f16ae47edadf8fad Author: Larry Finger Date: Fri Jan 23 11:40:22 2009 -0600 rtl8187: Fix driver to return TX retry info for RTL8187L Current code for the RTL8187 is not returning valid retry information, thus the rate-setting mechanism is not functioning. As a further complication, this info is only obtained by reading a register, which cannot be read while in interrupt context. This patch implements the TX status return to mac80211 through the use of a work queue. One additional problem is that the driver currently enables the rate fallback mechanism of the device, which conflicts with the mac80211 rate-setting algorithm. This version of the patch disables rate fallback. Signed-off-by: Larry Finger Tested-by: Herton Ronaldo Krzesinski Tested-by: Martín Ernesto Barreyro Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 2a57cf3e83f89150f2ac9b6f01caf3fcdbb36486 Author: Larry Finger Date: Fri Jan 23 11:30:54 2009 -0600 rtl8187: Increase receive queue depth The receive queue depth in rtl8187 may not be long enough to keep the pipe full. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 66aafd9a3108da465a73bd755366416e75fb9d3d Author: Larry Finger Date: Fri Jan 23 11:30:11 2009 -0600 rtl8187: Fix locking of private data In rtl8187_add_interface(), the mutex that protects the data in struct rtl8187_priv does not include all references to that structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1fac36ee7d5a0611e1216b02b485b154c8aa6dad Author: Dan Williams Date: Fri Jan 23 11:55:33 2009 -0500 libertas: fix CF firmware loading for some cards if_cs_poll_while_fw_download() returned the number of iterations remaining on success, which in turn got returned as the value from if_cs_prog_real() and if_cs_prog_helper(). But since if_cs_probe() interprets non-zero return values from firmware load functions as an error, this sometimes caused spurious firmware load failures. Signed-off-by: Dan Williams Tested-by: Ryan Mallon Acked-by: Ryan Mallon Signed-off-by: John W. Linville commit 0712612741e1dccf10353c70ebe90ba8cc60d5fb Author: Ivo van Doorn Date: Fri Jan 23 17:04:05 2009 +0100 rt2x00: Simplify suspend/resume handling With mac80211 handling all open interfaces during suspend and resume we can simplify suspend/resume within rt2x00lib. The only thing rt2x00 needs to do is free up memory during suspend and bring back the minimal required components during resume. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9752a7bd7f36557f34283f5d75dfa32578437f08 Author: Ivo van Doorn Date: Fri Jan 23 17:03:24 2009 +0100 rt2x00: Restrict firmware file lengths Add extra security to the drivers for firmware loading, check the firmware file length before uploading it to the hardware. Incorrect lengths might indicate a firmware upgrade (which is not yet supported by the driver) or otherwise incorrect firmware. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6ba265e9cc764bc401cda284954cf2bdd4408c38 Author: Ivo van Doorn Date: Fri Jan 23 17:03:06 2009 +0100 rt2x00: rt2x00_rev() should return u32 The "rev" field in chipset definition is an u32, which means that rt2x00_rev() which returns that field should be of the same type. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 81b1e19ac2cadc2f8a05c82ffb1abe20a0594d1f Author: Vasanthakumar Thiagarajan Date: Fri Jan 23 14:40:37 2009 +0530 ath9k: Clean up the way the eeprom antenna configuration is read Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3aa24e6031a0ca7a8803a103f5c183cd94e5ac98 Author: Vasanthakumar Thiagarajan Date: Fri Jan 23 14:40:36 2009 +0530 ath9k: Remove unused ath9k_hw_select_antconfig() from hw.c Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5dad40c13e7753e7b62eb7c2fca9b4034679882a Author: Sujith Date: Fri Jan 23 11:20:55 2009 +0530 ath9k: Fix bug in NF calibration The number of chainmasks for AR9285 weren't being setup when running NF calibration. Signed-off-by: Sujith Signed-off-by: John W. Linville commit f8206e053498174ef4b5f994e2a7091a74f7da30 Author: Sujith Date: Fri Jan 23 11:20:51 2009 +0530 ath9k: Fix bug in rate control capability registration Dual stream capability must be registered only when the hardware supports it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit eb2599ca25be212bd37dd3e90ef13ea45758e838 Author: Sujith Date: Fri Jan 23 11:20:44 2009 +0530 ath9k: Fix MCS rates registration bug for AR9285 AR9285 based devices support only single stream MCS rates. This patch fixes a bug where dual stream stream rates were also being registered. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 27abe060aa9d3410545ef663676c7183fc2512c6 Author: Alina Friedrichsen Date: Fri Jan 23 05:44:21 2009 +0100 ath9k: Read and write the TSF via debugfs This patch adds an ath9k specific entry to read, write and reset the TSF into the debugfs, like in ath5k. This makes debugging the IBSS handling of wifi drivers _much_ easier. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 8cab7581dba90b0519e25784e08feb5dedde737f Author: Alina Friedrichsen Date: Fri Jan 23 05:39:13 2009 +0100 ath5k: Read and write the TSF via debugfs This patch updates the ath5k specific entry in the debugfs to read and reset the TSF value, to allowing write it, too. This makes debugging the IBSS handling of wifi drivers _much_ easier. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit ae54c985cc7daa502da6e7eb3b223a30fbbf4cfb Author: Alina Friedrichsen Date: Fri Jan 23 05:33:37 2009 +0100 mac80211: Read the TSF via debugfs This patch adds an low-level driver independent entry to read the TSF value into the debugfs of mac80211. This makes debugging the IBSS handling of wifi drivers easier. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 5f8e077c0adc0dc7cfad64cdc05276e1961a1394 Author: Luis R. Rodriguez Date: Thu Jan 22 15:16:48 2009 -0800 ath9k: simplify regulatory code Now that cfg80211 has its own regulatory infrastructure we can condense ath9k's regulatory code considerably. We only keep data we need to provide our own regulatory_hint(), reg_notifier() and information necessary for calibration. Atheros hardware supports 12 world regulatory domains, since these are custom we apply them through the the new wiphy_apply_custom_regulatory(). Although we have 12 we can consolidate these into 5 structures based on frequency and apply a different set of flags that differentiate them on a case by case basis through the reg_notifier(). If CRDA is not found our own custom world regulatory domain is applied, this is identical to cfg80211's except we enable passive scan on most frequencies. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 24ed1da1337b92e3b0a89f2c2b7cd33b9a8fcb62 Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:54 2009 -0800 cfg80211: allow users to help a driver's compliance Let users be more compliant if so desired. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9a95371aa26e3cb9fb1340362912000088ff3c3e Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:53 2009 -0800 mac80211: allow mac80211 drivers to get to struct ieee80211_hw from wiphy If a driver is given a wiphy and it wants to get to its private mac80211 driver area it can use wiphy_to_ieee80211_hw() to get first to its ieee80211_hw and then access the private structure via hw->priv. The wiphy_priv() is already being used internally by mac80211 and drivers should not use this. This can be helpful in a drivers reg_notifier(). Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f976376de0d6a9697fb635369f12ae00251f4566 Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:52 2009 -0800 cfg80211: Allow for strict regulatory settings This allows drivers to request strict regulatory settings to be applied to its devices. This is desirable for devices where proper calibration and compliance can only be gauranteed for for the device's programmed regulatory domain. Regulatory domain settings will be ignored until the device's own regulatory domain is properly configured. If no regulatory domain is received only the world regulatory domain will be applied -- if OLD_REG (default to "US") is not enabled. If OLD_REG behaviour is not acceptable to drivers they must update their wiphy with a custom reuglatory prior to wiphy registration. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 716f9392e2b84cacc18cc11f7427cb98adeb1c3d Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:51 2009 -0800 cfg80211: pass more detailed regulatory request information on reg_notifier() Drivers may need more information than just who set the last regulatory domain, as such lets just pass the last regulatory_request receipt. To do this we need to move out to headers struct regulatory_request, and enum environment_cap. While at it lets add documentation for enum environment_cap. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d46e5b1d0c617a2a46353812d7f02115c17b5e72 Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:50 2009 -0800 cfg80211: move check for ignore_reg_update() on wiphy_update_regulatory() This ensures that the initial REGDOM_SET_BY_CORE upon wiphy registration respects the wiphy->custom_regulatory setting. Without this and if OLD_REG is disabled (which will be default soon as we remove it) the wiphy->custom_regulatory is simply ignored. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2a44f911d8bac3e6c97a25cc612e4324dfbdfdc4 Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:49 2009 -0800 cfg80211: rename fw_handles_regulatory to custom_regulatory Drivers without firmware can also have custom regulatory maps which do not map to a specific ISO / IEC alpha2 country code. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e74b1e7fb2f12db36f25af2158ee6e2940e4f138 Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:48 2009 -0800 cfg80211: ignore consecutive equal regulatory hints We ignore regulatory hints for the same alpha2 if we already have processed the same alpha2 on the current regulatory domain. For a driver regulatory_hint() this means we copy onto its wiphy->regd the previously procesed regulatory domain from CRDA without having to call CRDA again. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5eebade608d695e30e89d4c5ca6136a58f24ed14 Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:47 2009 -0800 cfg80211: process user requests only after previous user/driver/core requests This prevents user regulatory changes to be considered prior to previous pending user, core or driver requests which have not be applied. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 34f573473a659f8c2727d8d408e17b241900c28e Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:45 2009 -0800 cfg80211: export freq_reg_info() This can be used by drivers on the reg_notifier() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1fa25e413659f943dfec65da2abe713d566c7fdf Author: Luis R. Rodriguez Date: Thu Jan 22 15:05:44 2009 -0800 cfg80211: add wiphy_apply_custom_regulatory() This adds wiphy_apply_custom_regulatory() to be used by drivers prior to wiphy registration to apply a custom regulatory domain. This can be used by drivers that do not have a direct 1-1 mapping between a regulatory domain and a country. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 078e1e60dd6c6b0d4bc8d58ccb80c008e8efc9ff Author: Johannes Berg Date: Thu Jan 22 18:07:31 2009 +0100 mac80211: Add capability to enable/disable beaconing This patch adds a flag to notify drivers to start and stop beaconing when needed, for example, during a scan run. Based on Sujith's first patch to do the same, but now disables beaconing for all virtual interfaces while scanning, has a separate change flag and tracks user-space requests. Signed-off-by: Sujith Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 07c1e852514e862e246b9f2962ce8fc0d7ac8ed1 Author: Bob Copeland Date: Thu Jan 22 08:44:21 2009 -0500 ath5k: honor the RTS/CTS bits The ath5k driver didn't use set_rts_threshold or use_cts_prot, and also didn't check the IEEE80211_TX_RC_USE_{RTS_CTS,CTS_PROTECT} RC flags. Tell the hardware about these so RTS/CTS will work, and so the device will work better in mixed b/g environments. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8902ff4e5666c04ca5829c9fd7fc28d73e81ee90 Author: Bob Copeland Date: Thu Jan 22 08:44:20 2009 -0500 ath5k: use short preamble when possible ath5k previously ignored TX_RC_SHORT_PREAMBLE and did not use config->use_short_preamble, so the long preamble was always used for transmitted packets. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 5ef4017a72f77f0bc07d8efb35c140b42e064f70 Author: Bob Copeland Date: Thu Jan 22 08:44:19 2009 -0500 ath5k: remove unused led_off parameter ath5k_softc->led_off hasn't been used since commit 3a078876caee9634dbb9b41e6269262e30e8b535, "convert LED code to use mac80211 triggers." Changes-licensed-under: 3-Clause-BSD Reported-by: Tobias Doerffel Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 2134e7e724798cf8d54ae822afe235abb607d9b2 Author: Sujith Date: Thu Jan 22 09:00:52 2009 +0530 mac80211: Add documentation bits for mac80211_rate_control_flags Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e129a948c906200db87727822559c09b62278824 Author: Andrey Borzenkov Date: Wed Jan 21 21:55:29 2009 +0300 orinoco: trivial cleanup in alloc_orinocodev Remove extra space; remove redundant cast Signed-off-by: Andrey Borzenkov Acked-by: Pavel Roskin Signed-off-by: John W. Linville commit 89ea40905fb48e2bf92211b57ab6be51c0797657 Author: Andrey Borzenkov Date: Wed Jan 21 20:46:46 2009 +0300 orinoco: convert to struct net_device_ops No functional changes; use new kernel interface for netdev methods. Signed-off-by: Andrey Borzenkov Acked-by: Pavel Roskin Signed-off-by: John W. Linville commit 881d948c23442173a011f1adcfe4c95bf7f27515 Author: Johannes Berg Date: Wed Jan 21 15:13:48 2009 +0100 wireless: restrict to 32 legacy rates Since the standards only define 12 legacy rates, 32 is certainly a sane upper limit and we don't need to use u64 everywhere. Add sanity checking that no more than 32 rates are registered and change the variables to u32 throughout. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 369391db1aabd089cefaadaabb6d9fc82e78b0a7 Author: Vasanthakumar Thiagarajan Date: Wed Jan 21 19:24:13 2009 +0530 ath9k: Remove unnecessary gpio configuration in ath9k_hw_reset() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e6799cc2e8c755a0317e664f29de0b08ddd0eb35 Author: Vasanthakumar Thiagarajan Date: Wed Jan 21 17:18:48 2009 +0530 ath9k: Fix typo in chip version check Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5f936f11613c32ca7f8ed5fa333bb38a4501deeb Author: Johannes Berg Date: Wed Jan 21 12:47:05 2009 +0100 mac80211: constify ieee80211_if_conf.bssid Then one place can be a static const. Signed-off-by: Johannes Berg Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e9414b6b3f34dcc3683e66dffa4f5f167d49df51 Author: Abbas, Mohamed Date: Tue Jan 20 21:33:55 2009 -0800 iwl3945: fix deep sleep when removing the driver. A warning message "MAC is in deep sleep" sometimes happen when user removes the driver. This warning is related to card not being ready. In __iwl3945_down function some of the going down steps are in wrong order, to fix this this patch do the following: 1- make sure we are calling iwl3945_apm_reset and iwl3945_apm_stop in the right order. 2- make sure we set CSR_GP_CNTRL_REG_FLAG_INIT_DONE in apm_reset before poll on CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY. 3- set correct polling counter. This fixes bug http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1834 Signed-off-by: mohamed abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c0af96a6e63ef93c605ce495fff79c692d4b8c4d Author: Samuel Ortiz Date: Wed Jan 21 18:27:54 2009 +0100 iwl3945: Use iwl-rfkill Here again, the rfkill routines are duplicated between agn and 3945. Let's move the agn one to iwlcore, and so we can get rid of the 3945 ones. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7d049e5abe77c82d6f11a4e5869203f7b2838380 Author: Abbas, Mohamed Date: Tue Jan 20 21:33:53 2009 -0800 iwlagn: fix agn rate scaling Sometime Tx reply rate different than what rate scale expecting causing rate scale to bail out. This could cause failing to commit LQ cmd. This patch will try to solve this instead of just bail out. It also make sure we start with a valid rate. Signed-off-by: mohamed abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c6ec7a9b17875e3a5a9cdd23f7914d74069316c8 Author: Abbas, Mohamed Date: Tue Jan 20 21:33:52 2009 -0800 iwlwifi: allow user to set max rate allow user to set max rate through #iwconfig rate XXX. mac80211 will try to force this if user set it, but driver is not in sync which cause mac80211 to report wrong current rate. This patch will check if max rate is set and force it in rate scaling Signed-off-by: mohamed abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3cbb5dd73697b3f1c677daffe29f00ace22b71e9 Author: Vivek Natarajan Date: Tue Jan 20 11:17:08 2009 +0530 ath9k: Enable dynamic power save in ath9k. This patch implements dynamic power save feature for ath9k. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit c5d0569882b9c264be31dcb0758961bfc479deea Author: Jay Sternberg Date: Mon Jan 19 15:30:35 2009 -0800 iwlwifi: add recognition of Intel WiFi Link 100 Series add configuration for new Intel WiFi Link 100 series as part of the iwlagn driver under the umbrella of 5000 family of devices. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e1228374d648efe451973bc5f3d1f9a8e943ec0b Author: Jay Sternberg Date: Mon Jan 19 15:30:34 2009 -0800 iwlwifi: add recognition of Intel WiFi Link 6000 and 6050 Series add configuration for new Intel WiFi Link Series as part of the iwlagn driver under the umbrella of 5000 family of devices. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cec2d3f38c11f4c7e28ec2a065698653dbccfbb7 Author: Jay Sternberg Date: Mon Jan 19 15:30:33 2009 -0800 iwlwifi: remove static from 5000 structures remove static from config structures which will be used by new hardware that is similar to 5000. This way the new devices can use them without the new structures having to be stored in the already overloaded iwl-5000.c file. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f82d8d9724b6054b63fb3a0108937064029b2c00 Author: Jay Sternberg Date: Mon Jan 19 15:30:31 2009 -0800 iwlwifi: correct Kconfig to prevent following entries from not indenting defining configurations that are not visible caused the following entries to not be indented. changing the tree structure to name the top level selection and have all others reference IWLWIFI directly corrects this issue. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3dae0c42ba1d51ae49bf149d1dcc38ffbb357409 Author: Winkler, Tomas Date: Mon Jan 19 15:30:30 2009 -0800 iwlwifi: eliminate power_data_39. This patch eliminates 3945 power_data structure and make use of of iwl_power_data. Signed-off-by: Tomas Winkler Acked-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 62ea9c5b9e531dbf6b2601e6c9e2705a56983b6e Author: Winkler, Tomas Date: Mon Jan 19 15:30:29 2009 -0800 iwlwifi: remove unused or twice defined members in iwl_priv This patch removes user_txpower_limit and max_channel_txpower_limit and use tx_power_user_lmt and tx_power_channel_lmt instead call_post_assoc_from_beacon is not used Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 805cee5b81f1e493820601fe7990aef935c2c621 Author: Winkler, Tomas Date: Mon Jan 19 15:30:28 2009 -0800 iwlwifi: kill scan39 scan and scan39 can be represented by void * in iwl_priv Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 518099a870ef3f5f97d96aa0c284ce1b403436fa Author: Samuel Ortiz Date: Mon Jan 19 15:30:27 2009 -0800 iwl3945: Use iwl-hcmd host command routines With the previously added tfd related ops, we can now use the iwl-tx.c host command enqueue routine. Since the 3945 host command specific routines are identical to the agn ones, we can just remove them from the 3945 code. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7aaa1d79e3a2d573ac469744506f17b1c9386840 Author: Samuel Ortiz Date: Mon Jan 19 15:30:26 2009 -0800 iwlwifi: Add TFD library operations The TFD structures for 3945 and agn HWs are fundamentally different. We thus need to define operations for attaching and freeing them. This will allow us to share a fair amount of code (cmd and tx queue related) between both drivers. Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4f3602c8a3cf8d31e8b08b82d7ea9b0c30f28965 Author: Samuel Ortiz Date: Mon Jan 19 15:30:25 2009 -0800 iwl3945: Use iwl_txq_update_write_ptr The iwl3945 and the iwl versions are identical. Signed-off-by: Samuel Ortiz Acked-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 638d0eb9197d1e285451f6594184fcfc9c2a5d44 Author: Chatre, Reinette Date: Mon Jan 19 15:30:24 2009 -0800 iwl3945: add debugging for wrong command queue We encountered a problem related to this BUG and need to obtain more debugging information. See bug report at http://marc.info/?l=linux-wireless&m=123147215829854&w=2 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit af0053d660f7c330ed1a5c6538938283fd79662f Author: Winkler, Tomas Date: Mon Jan 19 15:30:23 2009 -0800 iwlwifi: kill iwl3945_scan_cancel and iwl3945_scan_cancel_timeout This patch removes iwl3945_scan_cancel and iwl3945_scan_cancel_timeout because iwl_scan_cancel iwl_scan_cancel_timeout are just same. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 42986796409a6293351207150edb7b4689b6013d Author: Winkler, Tomas Date: Mon Jan 19 15:30:22 2009 -0800 iwlwifi: fix iwl_mac_set_key and iwl3945_mac_set_key This patch fix iwl_mac_set_key function changed in patch "mac80211: clean up set_key callback" 1. removing 'static' const u8 *addr' that can possible cause conflict when two or more NICs are present in the system. 2. simplifying functions Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5cd19c5f15f4bd3354cc7f8f8b1125018a84a25c Author: Winkler, Tomas Date: Mon Jan 19 15:30:21 2009 -0800 iwlwifi: make iwl-power.c more readable This patch rearrange code in iwl-power.c function to make it a little more readable. No functional changes. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f797eb7e2903571e9c0e7e5d64113f51209f8dc4 Author: Jouni Malinen Date: Mon Jan 19 18:48:46 2009 +0200 mac80211: Fix MFP Association Comeback to use Timeout Interval IE The separate Association Comeback Time IE was removed from IEEE 802.11w and the Timeout Interval IE (from IEEE 802.11r) is used instead. The editing on this is still somewhat incomplete in IEEE 802.11w/D7.0, but still, the use of Timeout Interval IE is the expected mechanism. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit bb2becac91f13e862d4601a8c5364bc758c35b8e Author: Bob Copeland Date: Mon Jan 19 11:20:54 2009 -0500 ath5k: remove stop/start calls from within suspend/resume mac80211 now takes down interfaces automatically during suspend so doing it in the driver is unnecessary. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 665af4fc8979734d8f73c9a6732be07e545ce4cc Author: Bob Copeland Date: Mon Jan 19 11:20:53 2009 -0500 mac80211: add suspend/resume callbacks This patch introduces suspend and resume callbacks to mac80211, allowing mac80211 to quiesce its state (bringing down interfaces, removing keys, etc) in preparation for suspend. cfg80211 will call the suspend hook before the device suspend, and resume hook after the device resume. Signed-off-by: Bob Copeland Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 0378b3f1c49d48ed524eabda7e4340163d9483c9 Author: Johannes Berg Date: Mon Jan 19 11:20:52 2009 -0500 cfg80211: add PM hooks This should help implement suspend/resume in mac80211, these hooks will be run before the device is suspended and after it resumes. Therefore, they can touch the hardware as much as they want to. Signed-off-by: Johannes Berg Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit e0463f501fb945c1fde536d98eefc5ba156ff497 Author: Jouni Malinen Date: Mon Jan 19 16:52:00 2009 +0200 mac80211: Fix drop-unencrypted for management frames ADDBA request Action frame was sent out before 4-way handshake was completed and the initial 802.11w code ended up dropping the frame even if MFP was not enabled. While the sending of Action frames this early is not really a good idea (will break with MFP enabled), we should not break this for the MFP disabled case. This patch fixes ieee80211_tx_h_select_key() not to drop management frames if MFP is disabled. If MFP is enabled, Action frames will be dropped before keys are set per IEEE 802.11w/D7.0. Other robust management frames (i.e., Deauthentication and Disassociation frames) are allowed unprotected prior to key configuration. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 6cd0b1cb872b3bf9fc5de4536404206ab74bafdd Author: Helmut Schaa Date: Mon Jan 19 13:10:07 2009 +0100 iwlagn: fix hw-rfkill while the interface is down Currently iwlagn is not able to report hw-killswitch events while the interface is down. This has implications on user space tools (like NetworkManager) relying on rfkill notifications to bring the interface up once the wireless gets enabled through a hw killswitch. Thus, enable the device already in iwl_pci_probe instead of iwl_up and enable interrups while the interface is down in order to get notified about killswitch state changes. The firmware loading is still done in iwl_up. Signed-off-by: Helmut Schaa Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit c7e035a95d68819491b5250c6854f144c941e305 Author: Helmut Schaa Date: Mon Jan 19 13:02:15 2009 +0100 iwl3945: fix some warnings when compiled without debug Fix the following warnings if compiled without CONFIG_IWLWIFI_DEBUG. drivers/net/wireless/iwlwifi/iwl3945-base.c: In function ‘iwl3945_rx_reply_add_sta’: drivers/net/wireless/iwlwifi/iwl3945-base.c:2748: warning: unused variable ‘pkt’ drivers/net/wireless/iwlwifi/iwl3945-base.c: In function ‘iwl3945_rx_scan_results_notif’: drivers/net/wireless/iwlwifi/iwl3945-base.c:2903: warning: unused variable ‘notif’ drivers/net/wireless/iwlwifi/iwl3945-base.c: In function ‘iwl3945_rx_scan_complete_notif’: drivers/net/wireless/iwlwifi/iwl3945-base.c:2928: warning: unused variable ‘scan_notif’ Signed-off-by: Helmut Schaa Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit 2182b830fe0258477d469429d2dfb5702b84587e Author: Rami Rosen Date: Mon Jan 19 13:50:37 2009 +0200 mac80211: trivial documentation fix (mesh_nexthop_lookup()). This patch fixes the documentation of mesh_nexthop_lookup() in mesh_hwmp.c. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit eb80ed8d1fc0f3005ab356fbd8d61d870e3038e6 Author: Rami Rosen Date: Mon Jan 19 13:50:32 2009 +0200 mac80211: trivial documentation fixes (enum mesh_path_flags). This patch fixes documentation of enum mesh_path_flags in mesh.h. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 9cf2d186e4c52308cad8ecd893924e22ed020605 Author: Rami Rosen Date: Mon Jan 19 13:50:27 2009 +0200 mac80211: remove mesh_plink_close() method. This patch removes mesh_plink_close() method as it is unused. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit e9648179706448d50884f172711b00a6e5ab9e42 Author: Wei Yongjun Date: Thu Jan 15 17:41:16 2009 +0800 mac80211: cleanup kmalloc/memset -> kcalloc Transform calls kmalloc/memset to a single kcalloc. Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 672cf3cefe5f686637dec72b9f3d21fe1cdc8c94 Author: Roel Kluin Date: Sun Jan 18 23:50:27 2009 +0100 ath5k: notice a negative keytype To notice a negative keytype Signed-off-by: Roel Kluin Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 3d3e451ff71b4e951d4b522b460a94f36fb5b276 Author: Ivo van Doorn Date: Sat Jan 17 20:44:08 2009 +0100 rt2x00: Add LED_MODE_ASUS support When the led mode is asus, the activity led mode must be registered otherwise the second LED will not be enabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5e790023620ee02486fd64c7e5a6115ce004495d Author: Ivo van Doorn Date: Sat Jan 17 20:42:58 2009 +0100 rt2x00: conf_tx() only need register access for WMM queues conf_tx() in rt61pci and rt73usb only have to check once if the queue_idx indicates a non-WMM queue and break of the function immediately if that is the case. Only the WMM queues need to have the TX configuration written to the registers. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4e54c711b42c3cc8da8a3fdcde3407b86d67ebcc Author: Ivo van Doorn Date: Sat Jan 17 20:42:32 2009 +0100 rt2x00: Update copyright year to 2009 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 49c1d2085b92a392189d44a06840cbd9ec147da2 Author: Andrey Borzenkov Date: Sat Jan 17 15:53:45 2009 +0300 Move orinoco Kconfig entries into drivers/net/wireless/orinoco/Kconfig Since driver now lives in separate subdirectory, move Kconfig entries in own file so they can be tweaked indepndently. It complements "orinoco: Move sources to a subdirectory". Signed-off-by: Andrey Borzenkov Acked-by: Pavel Roskin Signed-off-by: John W. Linville commit a2116993c172bbb0c62f83d25cc3fe5dc7fece0d Author: Christian Lamparter Date: Fri Jan 16 22:34:15 2009 +0100 p54spi: remove arch specific dependencies On Friday 16 January 2009 20:33:43 Kalle Valo wrote: > N800 and N810 support is not on mainline yet, for stlc45xx I decided > to add module parameters for the gpio numbers. Here's the commit from > stlc45xx repo: > > http://gitorious.org/projects/stlc45xx/repos/mainline/commits/35afc5df0027d02d49e6f5bf986dcc4deb4ee6cf This is the same patch for p54spi. It removes all N800/N810 specific code from p54spi, so the driver can be used on other architectures, or configurations as well. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c88a768d7ed1bc38eedf18d16419ef2f01cd2d0d Author: Christian Lamparter Date: Fri Jan 16 20:24:31 2009 +0100 p54usb: fix conflict with recent usb changes A recent change in the usb core "USB: change interface to usb_lock_device_for_reset()" conflicts with "p54usb: utilize usb_reset_device for 3887". Sadly, we have to call usb_reset_device before we can upload the firmware on 3887. Unless someone figures out how to reliably stop the 3887 so the hardware is still usable next time we want to start it. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c656bbb582cebd988d8c39c4912722dc47578eab Author: Sujith Date: Fri Jan 16 21:38:56 2009 +0530 ath9k: Cleanup buffer type assignment The buffer state is already cleared in ATH_TXBUF_RESET. Remove redundant code clearing the type variable. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d43f301520aa64bb331736a4568d435762f980b0 Author: Sujith Date: Fri Jan 16 21:38:53 2009 +0530 ath9k: Revamp TX aggregation This patch cleans up the convoluted buffer management logic for TX aggregation. Both aggregation creation and completion are addressed. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6ef9b13db24757a9856f2feb1e571f34938567c9 Author: Sujith Date: Fri Jan 16 21:38:51 2009 +0530 ath9k: Handle holding descriptor in TX completion properly If the current holding descriptor is the last one in the TX queue, *and* it has been marked as STALE, then move it to the free list and bail out, as it has already been processed. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 059d806cdcad3848582519f0546cf8b3bfede7a3 Author: Sujith Date: Fri Jan 16 21:38:49 2009 +0530 ath9k: Add a helper function to wake mac80211 queues Signed-off-by: Sujith Signed-off-by: John W. Linville commit 043a040503b0d0c21bf3fba971813eba3322267d Author: Sujith Date: Fri Jan 16 21:38:47 2009 +0530 ath9k: Merge queue draining functions The TX queue draining routines have confusing names, rename them approprately and merge ath_drain_txdataq() with ath_drain_all_txq(). Signed-off-by: Sujith Signed-off-by: John W. Linville commit 55f5e4a9800ae6e6e052380a8b3c9c4996d5cd05 Author: Sujith Date: Fri Jan 16 21:38:45 2009 +0530 ath9k: Remove ath_tx_stopdma and call ath9k_hw_stoptxdma directly Signed-off-by: Sujith Signed-off-by: John W. Linville commit e8324357902698ffb7615d128d612c85d8e21912 Author: Sujith Date: Fri Jan 16 21:38:42 2009 +0530 ath9k: Reorganize code in xmit.c This patch starts cleaning up all the crufty code in transmission path, grouping functions into logical blocks. Signed-off-by: Sujith Signed-off-by: John W. Linville commit dd006395688cd3ce6c92de288d8db090d98dc2c7 Author: Sujith Date: Fri Jan 16 21:38:40 2009 +0530 ath9k: Update short guard interval in rate control The rate control algorithm needs to know if a STA allows short guard interval, fixing this allows RC to use the correct table. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6642fe6f5d033128086c8b64737780454e53625e Author: Sujith Date: Fri Jan 16 21:38:28 2009 +0530 ath9k: rateCodeToIndex is not used, remove it Calculation of rate indices from ratecode is done in recv.c in a straightforward manner for both HT and legacy rates. This variable is not needed anymore. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9aed3cc124343d92be6697e9af3928bdfe8eb03e Author: Jouni Malinen Date: Tue Jan 13 16:03:29 2009 +0200 nl80211: New command for adding extra IE(s) into management frames A new nl80211 command, NL80211_CMD_SET_MGMT_EXTRA_IE, can be used to add arbitrary IE data into the end of management frames. The interface allows extra IEs to be configured for each management frame subtype, but only some of them (ProbeReq, ProbeResp, Auth, (Re)AssocReq, Deauth, Disassoc) are currently accepted in mac80211 implementation. This makes it easier to implement IEEE 802.11 extensions like WPS and FT that add IE(s) into some management frames. In addition, this can be useful for testing and experimentation purposes. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 0c1aa495961f03c964b3287cf5800217cf6f2cee Author: Gabor Juhos Date: Wed Jan 14 20:17:12 2009 +0100 ath9k: enable support for AR9100 Because we have support for the AR9100 devices now, we can enable them. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 9950688263dcd74560582f590d270728f4e92ed0 Author: Gabor Juhos Date: Wed Jan 14 20:17:11 2009 +0100 ath9k: fix null pointer dereference in ani monitor code In 'ath9k_ani_reset' the 'ahp->ah_curani' will be initialized only if 'DO_ANI(ah)' true. In 'ath9k_hw_ani_monitor' we are using 'ahp->ah_curani' unconditionally, and it will cause a NULL pointer dereference on AR9100. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 1975ef2039c63f58e6c80861a24236bcd0483aa9 Author: Gabor Juhos Date: Wed Jan 14 20:17:10 2009 +0100 ath9k: fix ar5416Addac_9100 values Writing the register at offset 0x98c4 causes a deadlock on the AR913x SoCs. Although i don't have detailed knowledge about these registers, but if i change the register offset according to the 'ar5416Addac' table, it works. Additionally there is no reference to the 0x98c4 elsewhere. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit d03a66c17ab94f7cfec9b343d415111386216847 Author: Gabor Juhos Date: Wed Jan 14 20:17:09 2009 +0100 ath9k: remove (u16) casts from rtc register access The RTC register offsets don't fit into 'u16' on the AR913x, so we have to remove the existing casts. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 9dbeb91a8b97e2892c04461e28d2bdd0198b719d Author: Gabor Juhos Date: Wed Jan 14 20:17:08 2009 +0100 ath9k: get EEPROM contents from platform data on AHB bus On the AR913x SOCs we have to provide EEPROM contents via platform_data, because accessing the flash via MMIO is not safe. Additionally different boards may store the radio calibration data at different locations. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 09329d371e57ff9fcb645b8e2cdee1ec8b9b539f Author: Gabor Juhos Date: Wed Jan 14 20:17:07 2009 +0100 ath9k: introduce platform driver for AHB bus support This patch adds the platform_driver itself, and modifies the main driver to register it. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 6baff7f9a6c571dcd9a59820e3c094f7490cb0fd Author: Gabor Juhos Date: Wed Jan 14 20:17:06 2009 +0100 ath9k: move PCI code into separate file Now that we have converted all bus specific routines to replaceable, we can move the PCI specific codes into a separate file. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 39c3c2f2de6bccf698bfb5b9c4f56ddf99de0dbc Author: Gabor Juhos Date: Wed Jan 14 20:17:05 2009 +0100 ath9k: introduce bus specific cleanup routine We have left only some PCI specific cleanup code. We have to convert them as well. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 88d15707644fad1a137af7a17b00da6135f1c1a8 Author: Gabor Juhos Date: Wed Jan 14 20:17:04 2009 +0100 ath9k: introduce bus specific cache size routine The PCI specific bus_read_cachesize routine won't work on the AHB bus, we have to replace it with a suitable one later. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 7da3c55ce849e17fd9017c7bf770a03fa083d95b Author: Gabor Juhos Date: Wed Jan 14 20:17:03 2009 +0100 ath9k: convert to use bus-agnostic DMA routines Convert to use bus-agnostic DMA routines to make it usable on AHB bus as well. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit f5870acb3a8e2cad57b6c5ffd3157a7dfbb47942 Author: Gabor Juhos Date: Wed Jan 14 20:17:02 2009 +0100 ath9k: convert to struct device Convert 'struct pci_dev' to 'struct device' to make it usable on the AHB bus as well. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: Imre Kaloz Tested-by: Pavel Roskin Signed-off-by: John W. Linville commit 2663516d8fb896430bf42dce41b3e2f141d63bd5 Author: Helmut Schaa Date: Thu Jan 15 09:38:44 2009 +0100 iwl3945: report killswitch changes even if the interface is down Currently iwl3945 is not able to report hw-killswitch events while the interface is down. This has implications on user space tools (like NetworkManager) relying on rfkill notifications to bring the interface up once the wireless gets enabled through a hw killswitch. Thus, enable the device already in iwl3945_pci_probe instead of iwl3945_up and poll the CSR_GP_CNTRL register to update the killswitch state every two seconds. The polling is only needed on 3945 hardware as this adapter does not use interrupts to signal rfkill changes to the driver (in case no firmware is loaded). The firmware loading is still done in iwl3945_up. Signed-off-by: Helmut Schaa Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit c95741deef31d14c3a3d58397f9a3d2126d452e5 Author: Harvey Harrison Date: Wed Jan 14 23:10:55 2009 -0800 prism54: remove private implementation of le32_add_cpu Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit a1d88210955e56f7a0d54ac72747075b683b0850 Author: Larry Finger Date: Wed Jan 14 11:15:25 2009 -0600 b43: Eliminate compilation warning in b43_op_set_key A recent pull from wireless testing generates the following warning: CC [M] drivers/net/wireless/b43/main.o drivers/net/wireless/b43/main.c: In function ‘b43_op_set_key’: drivers/net/wireless/b43/main.c:3636: warning: pointer type mismatch in conditional expression This fix was suggested by Johannes Berg . Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 07e74348c76368c3d694a06677c200dc8d9b00e8 Author: Jouni Malinen Date: Tue Jan 13 14:32:37 2009 +0200 ath9k: Use a defined value for pci_set_power_state() Silence sparse by using a defined value PCI_D3hot instead of a magic constant in a pci_set_power_state() call. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d03415e6771cd709b2b2ec64d3e6315cc3ebfa74 Author: Jouni Malinen Date: Mon Jan 12 14:24:40 2009 +0200 nl80211: Fix documentation errors Couple of '_ATTR's were missing and SEC_CHAN_OFFSET to CHANNEL_TYPE rename was missed in couple of places. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 81094888bfbb759ea395f1857a7c38982acb99a9 Author: Helmut Schaa Date: Mon Jan 12 13:04:06 2009 +0100 ath5k: discard 11g caps if reported by an ar5211 eeprom At least one ar5211 card (GIGABYTE GN-WLMA101, 168c:0012 subsystem 1458:e800) reports itself as 11g capable which seems to be a bug in the eeprom. initvals.c assumes that ar5211 is only 11b capable and thus refuses to initialize this card. Hence this patch changes the probing for 11g capabilities to discard 11g capabilities for ar5211 cards which allows this specific card to work fine in 11b and 11a modes. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit cd8d3d321285a34b4e29cb7b04e552c49cc0f018 Author: Christian Lamparter Date: Sun Jan 11 01:18:38 2009 +0100 p54spi: p54spi driver This patch adds the p54spi driver. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4628ae75583311fcbbd02f4eebcfc08514dfbd65 Author: Christian Lamparter Date: Sun Jan 11 01:16:09 2009 +0100 p54spi: stlc45xx eeprom blob Usually every prism54 design hardware has a tiny eeprom chip in which all device specific data for calibration and link-tuning is stored. The stlc45xx chips are the only exception. They are made for embedded devices, where space is scarce. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6917f506a03b6bd7389683e8a8e08a1ad977b33e Author: Christian Lamparter Date: Sun Jan 11 01:14:18 2009 +0100 p54: longbow frontend support This patch adds support for longbow RF chip. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 83cf1b6edba6bde87c8cf852b182d44b12ae7f88 Author: Christian Lamparter Date: Sun Jan 11 01:10:33 2009 +0100 p54: prepare the eeprom parser routines for longbow This patch adds support to upload pre-calculated calibration data to the firmware. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b6ea03562f04382776ad825624daefe27f5d3f9c Author: Bob Copeland Date: Sat Jan 10 14:42:54 2009 -0500 ath5k: fix bf->skb==NULL panic in ath5k_tasklet_rx Under memory pressure, we may not be able to allocate a new skb for new packets. If the allocation fails, ath5k_tasklet_rx will exit but will leave a buffer in the list with a NULL skb, eventually triggering a BUG_ON. Extract the skb allocation from ath5k_rxbuf_setup() and change the tasklet to allocate the next skb before accepting a packet. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 138ab2e44e99a9544aad60cf137b8ac1f54131c5 Author: Vasanthakumar Thiagarajan Date: Sat Jan 10 17:07:09 2009 +0530 ath9k: Fix basic connectivity issue This patch temporarily fixes a regression introduced by BT coexistence support. There is an instability in connection when BT coexistence is enabled on some h/w. This interim fix introduces a module parameter for BT coexistence configuration. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 217875a37d4db3354c4c297d07b359abbf52e5e1 Author: Andrew Price Date: Sat Jan 10 19:38:05 2009 +0000 rt2400,rt2500: init led_qual for LED_MODE_DEFAULT Add a check for LED_MODE_DEFAULT so that we use the link LED for rt2400 and rt2500 devices. Signed-off-by: Andrew Price Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit ebe6c7ba9b63539d3b1daba1a8ef4cc9ed0f6941 Author: Jouni Malinen Date: Sat Jan 10 11:47:33 2009 +0200 mac80211: Fix radiotap header it_present on big endian CPUs When the IEEE80211_RADIOTAP_RATE flag was moved to be conditional, it was mistakenly left without cpu_to_le32(). Fix that. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f4f727a6c84a6ba8f099b84b2a9f0b2ceddc1c8a Author: Jouni Malinen Date: Sat Jan 10 11:46:53 2009 +0200 mac80211: Mark ieee80211_process_sa_query_req() static This function is only used within rx.c, so mark it static. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d2b21f191753abd12c4063776cb1a3d635397509 Author: Colin McCabe Date: Fri Jan 9 14:58:09 2009 -0800 libertas: if_spi, driver for libertas GSPI devices Add initial support for libertas devices using a GSPI interface. This has been tested with the 8686. GSPI is intended to be used on embedded systems. Board-specific parameters are required (see libertas_spi.h). Thanks to everyone who took a look at the earlier versions of the patch. Signed-off-by: Colin McCabe Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit 3cd08b383b2efe163272045afc415c75afc9e9c5 Author: Christian Lamparter Date: Fri Jan 9 21:06:06 2009 +0100 p54: upgrade memrecord to p54_tx_info mac80211 reserves 24 bytes in skb->cb for the driver. So far, we only used them to keep track of used and free device memory. But p54spi will need a slice of it, as well as the stuck frame detection. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 63f2dc9f2fd63c8b66f49c53cd26236f3f0785fd Author: Christian Lamparter Date: Fri Jan 9 21:05:31 2009 +0100 p54: refactor p54_alloc_skb Old firmwares had no problems processing frames which filled eighth of the memory window. However we have to be a bit more careful with fat frames when we talk to new firmwares. Apart from that, I confess the old logic was a bit weird and not very sophisticated. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6dd1bf3118b62a3ce241dc2b7e05e3d4a28c9eb1 Author: Bob Copeland Date: Thu Jan 8 21:00:34 2009 -0500 mac80211: document return codes from ops callbacks For any callbacks in ieee80211_ops, specify what values the return codes represent. While at it, fix a couple of capitalization and punctuation differences. Signed-off-by: Bob Copeland Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit e724b8fef6088e5dd240b53a38443e48fbcc8e93 Author: Jiri Slaby Date: Mon Jan 5 17:06:06 2009 +0100 IWL: fix WARN typo new kew -> a new key Signed-off-by: Jiri Slaby Cc: Tomas Winkler Signed-off-by: John W. Linville commit b48365994b1b5cce8078c0707a06cf9897007fb5 Author: Colin McCabe Date: Fri Jan 2 19:00:22 2009 -0800 libertas: Update libertas core with GSPI constants Add GSPI constants to libertas core. Fix misleading comment in lbs_setup_firmware. Signed-off-by: Colin McCabe Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit c7a7c8ecd43b4bc796a8e79c46305e2a677b55f3 Author: Samuel Ortiz Date: Thu Jan 8 10:20:01 2009 -0800 iwl3945: Fix iwl3945_init_drv() iwl3945_init_drv() initialises the wrong lock, and sets the wrong power saving default level. With this power saving mode, we are losing a lot of frames in Ad-Hoc mode. This is a bug fix for bug #1873. ( http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1873 ) Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8302de934b5d1897ff146cd0c7ab87d1417c092 Author: Vasanthakumar Thiagarajan Date: Fri Jan 9 18:14:15 2009 +0530 mac80211: Handle power constraint level advertised in 11d+h beacon This patch uses power constraint level while determining the maximum transmit power, there by it makes sure that any power mitigation requirement for the channel in the current regulatory domain is met. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 01f8162a854df7f9c259c839ad3c1168ac13b7b8 Author: Reinette Chatre Date: Thu Jan 8 10:20:02 2009 -0800 iwlwifi: update copyright year to 2009 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9c74d9fbd59f3a69cbe08a6bd66479c190effe5f Author: Samuel Ortiz Date: Thu Jan 8 10:19:59 2009 -0800 iwl3945: Change crypto parameter name Now that we're using iwl_mod_params, we want our module parameters names to be in sync with the structure. So, to set iwl_mod_params.sw_crypto, we'd better use a "swcrypto" parameter name instead of the "hwcrypto" current one. Moreover, by setting the decrypted flag properly, this patch also fixes the HW crypto path for 3945 (the current code is not setting it when running HW crypto). This is a bug fix for bug #1872 ( http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1872 ) Signed-off-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1e33dc64475790c10a7cda3ca23d2eb678760d85 Author: Winkler, Tomas Date: Thu Jan 8 10:19:57 2009 -0800 iwl3945: use hw_params.rx_buf_size This patch makes 3945 use of hw_params.rx_buf_size instead of IWL_RX_BUF_SIZE. It also renames IWL_RX_BUF_SIZE to IWL_RX_BUF_SIZE_3K and moves rx buffer defines into iwl-fh.h. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d45aadd04b60c6d4f846e7ec2564654567065e5f Author: Winkler, Tomas Date: Thu Jan 8 10:19:56 2009 -0800 iwl3945: remove double defined 3945 tfd structures This patch removes doubly defined struct iwl3945_tfd_frame_data and struct iwl3945_tfd_frame. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 625a381ab870b190c1899c08467c0e6dcc5d94d4 Author: Winkler, Tomas Date: Thu Jan 8 10:19:55 2009 -0800 iwl3945: kill iwl3945_x2_queue_used This patch replaces iwl3945_x2_queue_used with iwl_queue_used. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 37d68317add2b769ad232a5d199bece41c59e13f Author: Winkler, Tomas Date: Thu Jan 8 10:19:54 2009 -0800 iwl3945: kill iwl3945_rx_queue_space This patch replaces iwl3945_rx_queue_space with iwl_rx_queue_space. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 141c43a3e4c7e8543fea982284765fda5e73837e Author: Winkler, Tomas Date: Thu Jan 8 10:19:53 2009 -0800 iwl3945: kill iwl3945_rx_queue_restock This patch kills iwl3945_rx_queue_restock function on prise of new hw_params.rx_wrt_ptr_reg which holds per NIC RX write pointer register. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f5965955e0107b116b379cccb94de612281bdf55 Author: Winkler, Tomas Date: Thu Jan 8 10:19:52 2009 -0800 iwl3945: kill hw_params.tx_ant_num This patch removes tx_ant_num for hw_params structure. It is not used. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fa77533e2e1e5c7d9d80618db21266b9eac1b205 Author: Jouni Malinen Date: Thu Jan 8 13:32:14 2009 +0200 mac80211_hwsim: Report driver as MFP capable mac80211_hwsim has no problems with MFP, so report it as MFP capable. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0ced0e176ab854df15bd307188decba9c06650e5 Author: Jouni Malinen Date: Thu Jan 8 13:32:13 2009 +0200 ath9k: Setup MFP options for CCMP Configure hardware CCMP for management frame protection and use software crypto when needed. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ca470b29027f093d8d63abc0fa401cf4f72e427b Author: Jouni Malinen Date: Thu Jan 8 13:32:12 2009 +0200 ath9k: Fix set_key error codes Return -EOPNOTSUPP if the algorithm is not supported and -ENOSPC if there is no room in the key cache. This avoids KERN_ERR printk in mac80211 for "errors" that are actually expected to happen in normal operating conditions. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 4375d08350e3661d5e8860d33eea084e47ba01cf Author: Jouni Malinen Date: Thu Jan 8 13:32:11 2009 +0200 mac80211: 802.11w - Add driver capability flag for MFP This allows user space to determine whether a driver supports MFP and behave properly without having to ask user to configure this in MFP-optional mode. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1f7d77ab69789980dad44e1af7afd3a68cd48276 Author: Jouni Malinen Date: Thu Jan 8 13:32:10 2009 +0200 mac80211: 802.11w - Optional software CCMP for management frames If driver/firmware/hardware does not support CCMP for management frames, it can now request mac80211 to take care of encrypting and decrypting management frames (when MFP is enabled) in software. The will need to add this new IEEE80211_KEY_FLAG_SW_MGMT flag when a CCMP key is being configured for TX side and return the undecrypted frames on RX side without RX_FLAG_DECRYPTED flag to use software CCMP for management frames (but hardware for data frames). Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 63a5ab82255a4ff5d0783f16427210f1d45d7ec8 Author: Jouni Malinen Date: Thu Jan 8 13:32:09 2009 +0200 mac80211: 802.11w - Implement Association Comeback processing When MFP is enabled, the AP does not allow a STA to associate if an existing security association exists without first going through SA Query process. When this happens, the association request is denied with a new status code ("temporarily rejected") ans Association Comeback IE is used to notify when the association may be tried again (i.e., when the SA Query procedure has timed out). Use the comeback time to update the mac80211 client MLME timer for next association attempt to minimize waiting time if association is temporarily rejected. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 97ebe12a035e11f8af7a06a34f4d848f9b2f0b49 Author: Jouni Malinen Date: Thu Jan 8 13:32:08 2009 +0200 mac80211: 802.11w - Drop unprotected robust management frames if MFP is used Use ieee80211_drop_unencrypted() to decide whether a received frame should be dropped with management frames, too. If MFP is negotiated, unprotected robust management frames will be dropped. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1acc97b63a3f32481ebbb4e831323e9aa8834f66 Author: Jouni Malinen Date: Thu Jan 8 13:32:07 2009 +0200 mac80211: 802.11w - Do not force Action frames to disable encryption When sending out Action frames, allow ieee80211_tx_skb() to send them without enforcing do_not_encrypt. These frames will be encrypted if MFP has been negotiated. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit fea147328908b7e2bfcaf9dc4377909d5507ca35 Author: Jouni Malinen Date: Thu Jan 8 13:32:06 2009 +0200 mac80211: 802.11w - SA Query processing Process SA Query Requests for client mode in mac80211. AP side processing of SA Query Response frames is in user space (hostapd). Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit fdfacf0ae2e8339098b1164d2317b792d7662c0a Author: Jouni Malinen Date: Thu Jan 8 13:32:05 2009 +0200 mac80211: 802.11w - Configuration of MFP disabled/optional/required Add new WEXT IW_AUTH_* parameter for setting MFP disabled/optional/required. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 22787dbaa3b952602542506e0426ea6d5f104042 Author: Jouni Malinen Date: Thu Jan 8 13:32:04 2009 +0200 mac80211: 802.11w - WEXT configuration for IGTK Added new SIOCSIWENCODEEXT algorithm for configuring BIP (AES-CMAC) keys (IGTK). Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 54604d3a827b37525ef017adba313c7112e0f484 Author: Jouni Malinen Date: Thu Jan 8 13:32:03 2009 +0200 mac80211: 802.11w - WEXT parameter for setting mgmt cipher Add a new IW_AUTH parameter for setting cipher suite for multicast/broadcast management frames. This is for full-mac drivers that take care of RSN IE generation for (re)association request frames. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3cfcf6ac6d69dc290e96416731eea5c88ac7d426 Author: Jouni Malinen Date: Thu Jan 8 13:32:02 2009 +0200 mac80211: 802.11w - Use BIP (AES-128-CMAC) Add mechanism for managing BIP keys (IGTK) and integrate BIP into the TX/RX paths. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 765cb46a3fc856245ea68a7c961ac87c77e4ae2d Author: Jouni Malinen Date: Thu Jan 8 13:32:01 2009 +0200 mac80211: 802.11w - Add BIP (AES-128-CMAC) Implement Broadcast/Multicast Integrity Protocol for management frame protection. This patch adds the needed definitions for the new information element (MMIE) and implementation for the new "encryption" type (though, BIP is actually not encrypting data, it provides only integrity protection). These routines will be used by a follow-on patch that enables BIP for multicast/broadcast robust management frames. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit fb7333367632c67d8b6b06fb8d906cdabb11b02a Author: Jouni Malinen Date: Thu Jan 8 13:32:00 2009 +0200 mac80211: 802.11w - CCMP for management frames Extend CCMP to support encryption and decryption of unicast management frames. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5394af4d86ae51b369ff243c3f75b6f9a74e164b Author: Jouni Malinen Date: Thu Jan 8 13:31:59 2009 +0200 mac80211: 802.11w - STA flag for MFP Add flags for setting STA entries and struct ieee80211_if_sta to indicate whether management frame protection (MFP) is used. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 039498c6ec67bd718ac1c8e7f6b4e2cfe2146773 Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:35 2009 -0800 cfg80211: fix typo on message after intersection Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3e0c3ff36c4c7b9e39af7d600e399664ca04e817 Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:34 2009 -0800 cfg80211: allow multiple driver regulatory_hints() We add support for multiple drivers to provide a regulatory_hint() on a system by adding a wiphy specific regulatory domain cache. This allows drivers to keep around cache their own regulatory domain structure queried from CRDA. We handle conflicts by intersecting multiple regulatory domains, each driver will stick to its own regulatory domain though unless a country IE has been received and processed. If the user already requested a regulatory domain and a driver requests the same regulatory domain then simply copy to the driver's regd the same regulatory domain and do not call CRDA, do not collect $200. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 560e28e14f69ad3440a6e8c283dcfd37e1e41c2d Author: Luis R. Rodriguez Date: Wed Jan 7 17:43:32 2009 -0800 cfg80211: call reg_notifier() once We are calling the reg_notifier() callback per band, this is not necessary, just call it once. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4be8c3873e0b88397866d3ede578503e188f9ad2 Author: Johannes Berg Date: Wed Jan 7 18:28:20 2009 +0100 mac80211: extend/document powersave API This modifies hardware flags for powersave to support three different flags: * IEEE80211_HW_SUPPORTS_PS - indicates general PS support * IEEE80211_HW_PS_NULLFUNC_STACK - indicates nullfunc sending in software * IEEE80211_HW_SUPPORTS_DYNAMIC_PS - indicates dynamic PS on the device It also adds documentation for all this which explains how to set the various flags. Additionally, it fixes a few things: * a spot where && was used to test flags * enable CONF_PS only when associated again Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit acbaf32e94cb70218792cac68e5149e482e77441 Author: Christian Lamparter Date: Wed Jan 7 16:40:08 2009 +0100 p54: return NETDEV_TX_OK in p54_tx and fix sparse warnings This patch addresses all recent comments from Johannes Berg: 1st: (reference http://marc.info/?l=linux-wireless&m=123124685019631 ) >First off: all those should return NETDEV_TX_OK/BUSY. >iwl-agn: returns 0 (== NETDEV_TX_OK, but still should be changed) >[...] >p54: same (some paths) 2nd: > due to your PS patch ("p54: power save management"), please run sparse: > make C=2 CF=-D__CHECK_ENDIAN__ M=... > +drivers/net/wireless/p54/p54common.c:1753:8: warning: incorrect type in assignment (different base types) > +drivers/net/wireless/p54/p54common.c:1769:29: warning: incorrect type in assignment (different base types) The cpu_to_le16 ended up in the wrong line... Sorry! Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 64d74681433415855da02d2516f28d2ed859cde9 Author: Ivo van Doorn Date: Wed Jan 7 14:51:41 2009 +0100 rt2x00: Only register rfkill input when key is present rt2x00 should only register the RFKILL input device when the hardware indicated the key was present. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 46f2c4bd7e2ba2cfedbcd4fe15d316eebc608cba Author: Johannes Berg Date: Tue Jan 6 18:13:18 2009 +0100 mac80211: move dynamic PS timeout to hardware config This will be needed for drivers that set the IEEE80211_HW_NO_STACK_DYNAMIC_PS flag and still want to handle dynamic PS. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit e9aeabaeb9a0bece50100dc74bbd720a68cb8f5c Author: Johannes Berg Date: Tue Jan 6 18:12:35 2009 +0100 mac80211: validate SIOCSIWPOWER arguments better Don't accept any arguments we don't handle, and return error codes instead of using an uninitialised stack value. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 4797938c5dfa22af30fd16679192972f878419a1 Author: Johannes Berg Date: Wed Jan 7 10:13:27 2009 +0100 mac80211: clean up channel type config The channel_type really doesn't need to be the only member in a new structure, so remove the struct. Additionally, remove the _CONF_CHANGE_HT flag and use _CONF_CHANGE_CHANNEL when the channel type changes, since that's enough of a change to require reprogramming the hardware anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 47166791b7296db5c0a7189401e42b8c7f4cca25 Author: David Kilroy Date: Wed Jan 7 00:43:54 2009 +0000 orinoco: Remove unused variable rx_data Probably something leftover from experimentation with tasklets. Now the structure declaration orinoco_rx_data can be relocated to orinoco.c Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit d1c3a37ceeb1a5ea02991a0476355f1a1d3b3e83 Author: Johannes Berg Date: Wed Jan 7 00:26:10 2009 +0100 mac80211: clarify alignment docs, fix up alignment Not all drivers are capable of passing properly aligned frames, in particular with mesh networking no hardware will support completely aligning it correctly. This patch adds code to align the data payload to a 4-byte boundary in memory for those platforms that require this, or when CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is set. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2bf30fabadbdcb535b057afc92aba015884847dc Author: Johannes Berg Date: Tue Jan 6 23:23:56 2009 +0100 mac80211: remove user_power_level from driver API I missed this during review of "mac80211: Fix tx power setting", the user_power_level shouldn't be available to the driver but rather be an internal value used to calculate the value for the driver. Signed-off-by: Johannes Berg Cc: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8465676241cad5e28a1b745c32a0e18e1f67e18e Author: Nick Kossifidis Date: Tue Jan 6 17:27:06 2009 +0200 ath5k: Minor QCU updates * Sync qcu.c with legacy-hal * Add some more comments * Set QCU mask to save power (QCU mask controls which QCUs are attached to each DCU, we do a 1:1 mapping) TODO: Use max QCU from EEPROM, further sync with legacy-hal and sam's hal and a few more minor fixes. I think after this we are ready to implement WME on the driver part. Anyone interested ? Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8fe12920dc5fa0a0db7cad3661223d5f78a39c60 Author: Rami Rosen Date: Tue Jan 6 15:24:57 2009 +0200 mac80211: remove unused variable in ieee80211_local (dot11WEPUndecryptableCount). This patch removes an unused declaration of dot11WEPUndecryptableCount (an snmp counter) in ieee80211_local structure and its usage in debugfs.c since this counter is not incremented/decremented anywhere. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 81d963a1f6aeefca5527cc605f863eb82a634eab Author: Rami Rosen Date: Tue Jan 6 10:51:01 2009 +0200 mac80211: remove an unused definition (MAX_STA_COUNT) in sta_info.h. This patch removes an unused definition of MAX_STA_COUNT in sta_info.h. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 504a71e4c2718d8ef5dc5bff89dea47a91cf87e5 Author: Rami Rosen Date: Tue Jan 6 10:50:51 2009 +0200 mac80211: remove an unused parameter in ieee80211_rx_mgmt_probe_req(). This patch removes an unused parameter (rx_status) in ieee80211_rx_mgmt_probe_req(), in mlme.c. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit def1343971b2abd158ece1a71dd1c7a20e4c2fcb Author: Rami Rosen Date: Tue Jan 6 10:50:33 2009 +0200 mac80211: remove an unnecessary assignment to info in __ieee80211_tx(). This patch removes an unnecessary assignment to info in __ieee80211_tx() , tx.c. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit c481ec9705d4a5d566393bc17374cfd82c870715 Author: Sujith Date: Tue Jan 6 09:28:37 2009 +0530 mac80211: Add 802.11h CSA support Move to the advertised channel on reception of a CSA element. This is needed for 802.11h compliance. Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b522ed56ef90f5078a2a1253e390299723510a89 Author: Alina Friedrichsen Date: Tue Jan 6 03:15:23 2009 +0100 mac80211: Allow to set channel in adhoc properly The last patch fixes a bug that it was not possible to set the channel manually in the ad hoc mode properly. Please commit this patches so that we don't need the proprietary Broadcom driver in the near future anymore. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 65f0e6a36e25fbfa6adf706d9c53bf64b13096eb Author: Alina Friedrichsen Date: Tue Jan 6 03:08:10 2009 +0100 mac80211: Don't merge if BSSID is set manually If you set a fixed BSSID manually, you never want that the driver change it back, or your ad-hoc mesh network will break into peaces. So don't do it. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 137f9f46a4edf8a937ffe9e3dba498b5cfaa1e5b Author: Alina Friedrichsen Date: Tue Jan 6 02:49:07 2009 +0100 mac80211: Don't scan if BSSID and channel are set manually If you set a fixed BSSID and channel it's not necessary to scan for neighbors to merge, because you really don't want to merge with it. So don't do it. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit 0efcdfd6ed4e7ac74c45e7c3218fd1a7416fdb3f Author: Alina Friedrichsen Date: Tue Jan 6 02:41:35 2009 +0100 mac80211: Disallow to set multicast BSSID Okay, here is the first of the five patches. After applying all of them you should be able to build/join huge city mesh networks (e.g. with the OLSR protocol) with the most of the mac80211 wireless drivers by setting a fixed BSSID in the ad hoc mode. (If you found no other bug/problem.) This was not specified in the original standard, but is a widely used de facto standard. The first patch now completely disallow to set multicast MAC addresses as BSSID. The behavior before was really strange. Signed-off-by: Alina Friedrichsen Signed-off-by: John W. Linville commit cca3e99861e883358ceb39ad17c9eaee082138a5 Author: Ivo van Doorn Date: Sat Jan 3 19:56:02 2009 +0100 rt2x00: Replace RFKILL with INPUT As discussed on linux-wireless rt2x00 does not offer a true RFKILL key, for that reason RFKILL support should be entirely removed. The key which is attached to the hardware should be treated as normal input device instead. Implement input_poll_dev support to poll the device frequently. When the key status has changed report it as a SW event. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c97c92d92715ea4ea2d7cf00957e8a014439bdd8 Author: Vasanthakumar Thiagarajan Date: Fri Jan 2 15:35:46 2009 +0530 ath9k: Enable Bluetooth Coexistence support Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7d969204882882585336b0fa19ad4587d8fb15a2 Author: Bob Copeland Date: Thu Jan 1 15:01:45 2009 -0500 ath5k: fix off-by-one in gpio checks Sanity checks against AR5K_NUM_GPIO were all broken. This doesn't currently cause any problems since we only use the first four gpios. Changes-licensed-under: ISC Reported-by: Andreas Mohr Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 63649b6cf0a964582af2b4d4734e28ca90ec8f5c Author: Bob Copeland Date: Thu Jan 1 15:01:44 2009 -0500 ath5k: support LEDs on Acer Aspire One netbook Add vendor ID for Foxconn and use it to set the ath5k LED gpio and polarity for Acer branded laptops. base.c: Changes-licensed-under: 3-Clause-BSD Reported-by: Maxim Levitsky Tested-by: Maxim Levitsky Tested-by: Andreas Mohr Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 2b8d4e2eea711b6dfe1878ff3c94ebe757656f6d Author: Christian Lamparter Date: Tue Dec 30 13:48:41 2008 +0100 p54: power save management This patch implements dynamic power save feature for p54. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 51eed9923d98477e7f7473edd60d876d1cecc8c5 Author: Christian Lamparter Date: Tue Dec 30 13:48:29 2008 +0100 p54: implement FIF_OTHER_BSS filter setting According to STMicroelectronics' LMAC documentation, the P54_FILTER_TYPE_TRANSPARENT flag "configures the receive frame filter to pass all frames without regard to type and address matching." Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 78eb7484fadddd2860d4503b3c8c1710c1bfa1b3 Author: Christian Lamparter Date: Tue Dec 30 13:48:19 2008 +0100 p54: enable rx/tx antenna diversity by eeprom bits Respect all documented bits in the eeprom about the device diversity features. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 295834fe3605fd50265399c266fe0a5ccc76edc8 Author: Gabor Juhos Date: Mon Dec 29 21:07:42 2008 +0100 ath9k: use signed format to print HAL status Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit dc822b5db479dc0178d5c04cbb656dad0b6564fb Author: Johannes Berg Date: Mon Dec 29 12:55:09 2008 +0100 mac80211: clean up set_key callback The set_key callback now seems rather odd, passing a MAC address instead of a station struct, and a local address instead of a vif struct. Change that. Signed-off-by: Johannes Berg Acked-by: Bob Copeland [ath5k] Acked-by: Ivo van Doorn [rt2x00] Acked-by: Christian Lamparter [p54] Tested-by: Kalle Valo [iwl3945] Tested-by: Samuel Ortiz [iwl3945] Signed-off-by: John W. Linville commit b3093664c931aa06fc50da42e25b3b6dc307a915 Author: Kalle Valo Date: Mon Dec 29 10:02:48 2008 +0200 mac80211: make wake/stop_queue_by_reason() functions static Fixes sparse warnings: net/mac80211/util.c:355:6: warning: symbol 'ieee80211_wake_queue_by_reason' was not declared. Should it be static? net/mac80211/util.c:385:6: warning: symbol 'ieee80211_stop_queue_by_reason' was not declared. Should it be static? Thanks to Johannes Berg for reporting this. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c557289cb8ea063bd09db88f8a687a841556e291 Author: Michael Buesch Date: Sat Dec 27 18:26:39 2008 +0100 b43: Change schedule for old-fw support removal The scheduled date for the removal of old fw support was in July 2008. However, we're not going to remove the support unless it causes a major headache. So change the schedule from "July 2008" to "when it causes headaches". Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 98a8d1a8f22237e2aa7db5453df0f68935a5ede0 Author: Christian Lamparter Date: Fri Dec 26 21:50:33 2008 +0100 p54: regulatory domain hints This patch adds a sub-routine that parses the default country eeprom entry and forwards the obtained Alpha2 identifier to the regulatory sub-system. Note: I dropped the p54 specific regdomain<->alpha2 conversion code for now. But it will be added as soon as there's the common library function is ready. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e365f16046b72977ec22364215b57af840f0907e Author: Christian Lamparter Date: Fri Dec 26 19:09:34 2008 +0100 p54: prevent upload of wrong firmwares This patch will prevent anyone to upload a firmware which was not designed for his device. There's still a catch: There is no easy way to detect if a firmware is for PCI or for USB (1st Gen), because they all share the same LM86 identifier. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6982869d993009c02cefcca98a67b212d0e61c5f Author: Christian Lamparter Date: Fri Dec 26 19:08:31 2008 +0100 p54usb: utilize usb_reset_device for 3887 Sometimes on unload or reboot the 3887 USB devices become stuck. kernel: usbcore: registered new interface driver p54usb kernel: usb 2-10: (p54usb) reset failed! (-110) kernel: p54usb: probe of 2-10:1.0 failed with error -110 [...] and a physical unplug and replug was necessary. However we should be able to do this in software as well, without any user interaction. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6b1c7c67603efdf0b39f6056989b0f8194cdc1f3 Author: Michael Buesch Date: Thu Dec 25 00:39:28 2008 +0100 b43/ssb: Add SPROM8 extraction and LP-PHY detection This adds detection code for the LP-PHY and SPROM extraction code for version 8, which is needed by the LP-PHY and newer N-PHY. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit bb519bee07eed4fac9921ad658fb1f7ed78defb5 Author: Johannes Berg Date: Wed Dec 24 15:26:40 2008 +0100 b43: detect N PHY revision/radio Does nothing unless you enable the hidden N PHY config. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb33c4126ba9825b047463352d12dc3ed983d320 Author: Senthil Balasubramanian Date: Wed Dec 24 18:03:58 2008 +0530 ath9k: INI update for Atheros AR9280 and AR9285 chipset. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 92d6128e1766bb7a7b6dc58f012fdf772fdf1100 Author: Johannes Berg Date: Wed Dec 24 12:44:09 2008 +0100 ssb/b43: add new N PHY device This is used on my macbook. N PHY, obviously nothing works yet, but we can detect the chip with this patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e3c92df08cbf6a0cb60a9c7ce377378383967e07 Author: Vasanthakumar Thiagarajan Date: Wed Dec 24 13:53:11 2008 +0530 mac80211: Fix tx power setting power_level in ieee80211_conf is being used for more than one purpose. It being used as user configured power limit and the final power limit given to the driver. By doing so, except very first time, the tx power limit is taken from min(chan->max_power, local->hw.conf.power_level) which is not what we want. This patch defines a new memeber in ieee80211_conf which is meant only for user configured power limit. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit a085ff718c8c9f14c44feb337774fadfd982e1a5 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:51 2008 -0800 ath9k: fix sparse warnings Fix sparse warnings: drivers/net/wireless/ath9k/hw.c:1850:17: warning: symbol 'tmp' shadows an earlier one drivers/net/wireless/ath9k/hw.c:1713:6: originally declared here drivers/net/wireless/ath9k/hw.c:2051:17: warning: symbol 'tmp' shadows an earlier one drivers/net/wireless/ath9k/hw.c:1961:6: originally declared here drivers/net/wireless/ath9k/eeprom.c:195:6: warning: symbol 'ath9k_fill_eeprom' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:463:5: warning: symbol 'ath9k_check_eeprom' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:1219:6: warning: symbol 'ath9k_hw_set_def_power_per_rate_table' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:1510:6: warning: symbol 'ath9k_hw_set_4k_power_per_rate_table' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2007:5: warning: symbol 'ath9k_set_txpower' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2106:6: warning: symbol 'ath9k_set_addac' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2543:6: warning: symbol 'ath9k_eeprom_set_board_values' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2606:5: warning: symbol 'ath9k_get_eeprom_antenna_cfg' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2622:4: warning: symbol 'ath9k_hw_get_4k_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2628:4: warning: symbol 'ath9k_hw_get_def_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2647:4: warning: symbol 'ath9k_get_num_ant_config' was not declared. Should it be static? drivers/net/wireless/ath9k/eeprom.c:2790:5: warning: symbol 'ath9k_get_eeprom' was not declared. Should it be static? drivers/net/wireless/ath9k/calib.c:962:30: warning: symbol 'iq_cal_multi_sample' was not declared. Should it be static? drivers/net/wireless/ath9k/calib.c:969:30: warning: symbol 'iq_cal_single_sample' was not declared. Should it be static? drivers/net/wireless/ath9k/calib.c:976:30: warning: symbol 'adc_gain_cal_multi_sample' was not declared. Should it be static? drivers/net/wireless/ath9k/calib.c:983:30: warning: symbol 'adc_gain_cal_single_sample' was not declared. Should it be static? drivers/net/wireless/ath9k/calib.c:990:30: warning: symbol 'adc_dc_cal_multi_sample' was not declared. Should it be static? drivers/net/wireless/ath9k/calib.c:997:30: warning: symbol 'adc_dc_cal_single_sample' was not declared. Should it be static? drivers/net/wireless/ath9k/calib.c:1004:30: warning: symbol 'adc_init_dc_cal' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c0d7c7af0a8298a43449d54762e655ab57739539 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:50 2008 -0800 ath9k: remove superfluous check on changing channel When we try to change the channel in ath9k its because either the configuration indicates we *have* changed channels or HT configuration has changed. In both cases we want to do a reset. Either way mac80211 will inform us when we want to actually change the channel so trust those calls. Although in the patch it may seem as I am doing more code changes I am not, all I am doing is removing the initial branch conditional and shifting the code to the left. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0de57d991b82eb64b7a0f4cf406251713ee633cf Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:49 2008 -0800 ath9k: remove ath9k_hw_check_chan() The only check we care about in ath9k_hw_check_chan() is the internal regulatory check so use that. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4febf7b8f4f2c7052cffbccba9e5ddf041b41330 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:48 2008 -0800 ath9k: remove ath9k_hw_chan2wmode() The only left users are for timing for ACK timeout, slotime and CTS timeout. We currently use an array CLOCK_RATE to keep these values per mode and since as only will use A and G we can depend on the band to get the appropriate values. We note that we should be using a different clock rate value for CCK, we can do this in separate patch, currently this is being disregarded and should only affect when we want to change the default ACK/CTS timeout or slot time and stuck with using using 802.11b. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e56db718468416ce5ff1ba05e7fa5026424befd5 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:47 2008 -0800 ath9k: remove mode specific default noise floor values The NOISE_FLOOR array we have is mode specific, and the only possible indexed values are A, B and G. The mode routine only can return G or A, so this is band specific. Then since the values for A and G (5ghz or 2ghz) are the same (-96) we simply remove the array and use a static value. If we later determine we want to use special values for HT configurations we can use the new mac80211 conf_is_ht*() helpers. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 38b33707a1ec77f7b4c92ae41cfe93318014f5bf Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:46 2008 -0800 ath9k: Make ANI CCK and OFDM error triggers band specific The CCK and OFDM ANI error triggers are not mode specific but rather band specific so just make use of the already available band from ieee80211_conf. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 285256a59d790c6a9afe8ec82804a369d956ac06 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:45 2008 -0800 mac80211: no need for ht.enabled We can simply use conf_is_ht() check where needed. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit de27e64e5eb72ff3edcaf5edce2f306ada1f094d Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:44 2008 -0800 iwlwifi: make use of conf_is_ht*() helpers Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit ecf70441a3d53dd96cb1b454060fe39f9c3db301 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:43 2008 -0800 ath9k: make use of conf_is_ht*() in the rest of the driver Use shiny new conf_is_ht*() helpers, we can later remove ht.enabled if desired. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c9e27d94f5fc726f88897914025619fbfc18b23c Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:42 2008 -0800 ath9k: use ieee80211_conf on ath9k_hw_iscal_supported() ath9k_hw_iscal_supported() just needs to be aware of your band and if HT20 is being used so lets abandon our internal channel, HT appended values and internal mode values and use ieee80211_conf which already carries this information. This works as calibration is being done for the currently configured channel. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 76061abbbb39ba4bdf42fe28aa3157df8bb03d38 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:41 2008 -0800 ath9k: make request to get the noisefloor threshold band specific Lets make the request to get the current noise floor threshold from the EEPROM band specific as it is band specific, not mode specific. This also adds a backpointer on the private channel structure back to the ieee80211_channel structure as this is now needed during ath9k_hw_getnf(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ae8d2858c54f52dc4df513a818cc4e1257fd9143 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:40 2008 -0800 ath9k: consolidate arguments on hw reset HW reset calls pass the same variables or structs which we can obtain easily from ah. Although this also applies during channel changes as we will keep around the ath9k_channel passed as an argument for now. We now also now propagate the hw reset errors down. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ce111badf5ac387e9eefe1f2bba751f595994cb2 Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:39 2008 -0800 ath9k: Rename ath_setcurmode() to ath_cache_conf_rate() ath_setcurmode() is a bit misleading, all we are doing is caching the rate for the corresponding configuration we are using. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 96742256aba8c458d49af42610557977245be82d Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:38 2008 -0800 ath9k: remove cache of rate preference when using 11g protection No need to cache when we want to use 2Mbit/s for all protection frames for 802.11g as we can determine that dynamically on ath_buf_set_rate() itself. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 030bb495c0c34aa74903ab8cf9c35e4f2f0aedea Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:37 2008 -0800 ath9k: use hw->conf on ath_setcurmode() We don't need to use our own mode for setting the the routine tries to do, in fact lets remove ath_chan2mode() now as we can simply use the currently set band and the HT configuration provided by mac80211 through the ieee80211_conf. This works on changing channels as well as the internal ath9k_channel we use is based on the ieee80211_channel in the config. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 10c806b32db1c9f010945e92043ef2a3f6fffc3f Author: Luis R. Rodriguez Date: Tue Dec 23 15:58:36 2008 -0800 mac80211: add HT conf helpers In HT capable drivers you often need to check if you are currently using HT20 or HT40. This adds a few small helpers to let drivers figure that out. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 51af3d3fbbe326077a7e245268a7de325de6ecd2 Author: Winkler, Tomas Date: Mon Dec 22 11:31:23 2008 +0800 iwl3945: use rx queue management infrastructure from iwlcore This patch uses rx queue alloc free and reset function from iwlcore. This should fix the regression reported by Kalle Valo. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e52119c50d6a35506b1c063eeacf7acc40b4e03d Author: Winkler, Tomas Date: Mon Dec 22 11:31:19 2008 +0800 iwl3945: use iwl3945_tx_cmd instead of iwl_tx_cmd The patch replaces iwl_tx_cmd with iwl3945_tx_cmd to complete transitions introduced by "iwlwifi: use iwl_cmd instead of iwl3945_cmd" Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c496294efe6ebc9bd5dd1e0d3cce5d1ad6a1ea2c Author: Samuel Ortiz Date: Mon Dec 22 11:31:18 2008 +0800 iwl3945: switch to the iwl-core send_card_state routine Switch iwl3945 to use iwl-core:send_card_state routine. Signed-off-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 188cf6c73a72be1d8c118580a40d70cd76415eec Author: Samuel Ortiz Date: Mon Dec 22 11:31:16 2008 +0800 iwl3945: sync tx queue data structure with iwlagn We are now using the iwl_tx_queue for iwl3945. To reach that goal, we included the 3945 specific tfd frame structure to iwl_tx_queue. This has no effect on the current iwlagn code. Signed-off-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 42427b4e436bbbf038742ecbb3bf09815f93ed7a Author: Kolekar, Abhijeet Date: Mon Dec 22 11:31:15 2008 +0800 iwl3945: adding utils ops The patch implements iwl_hcmd_utils_ops for 3945. Signed-off-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit dbb6654c411e2030ed969ef0c531eb7fda8b27a3 Author: Winkler, Tomas Date: Mon Dec 22 11:31:14 2008 +0800 iwl3945: rearrange 3945 tfd This patch moves 3945 TFD structures to iwl-3945-fh.h. It renames them similarly to AGN naming. This patch also eliminates iwl3945_tx_info and fixes endianity issue in iwl3945_tx_skb and iwl3945_enqueue_hcmd caused by ugly casting. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8cd812bcda06645160b0b279e1a125271a73411c Author: Winkler, Tomas Date: Fri Dec 19 10:37:43 2008 +0800 iwl3945: use iwl_rb_status This patch makes use of iwl_rb_status also in 3945. The structure for 3945 is not the same but since only closed_rb_num filed is used in both cases there is no reason to duplicate it. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit cbba18c6e3d1b2610f9a63c4636247af26141686 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:42 2008 +0800 iwl3945: use iwl_get_hw_mode Use iwl_get_hw_mode for 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d552bfb65241a35d48e44ddb0d27e0454f579ab4 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:41 2008 +0800 iwl3945: release resources before shutting down Release resource before shutting down and notify upper stack. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 90a30a021eec15da64a354656cb66987216361eb Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:40 2008 +0800 iwl3945: simplify iwl3945_pci_probe The patch simplifies iwl3945_pci_probe. It also uses apm_ops for apm init. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 854682ed2892836d7cff77931a79183c1fc59fef Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:39 2008 +0800 iwl3945: add set_pwr_src The patch adds 3945 iwl_lib_ops->set_pwr_src to the driver Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 01ec616d8ccbfac41c87dafc0fc0aa4abe13b8f8 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:38 2008 +0800 iwl3945: add apm ops The patch adds 3945 iwl_lib_ops->apm_ops to the driver. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0164b9b45dbee4a3c4c95f59f9dd538b1e9c2635 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:37 2008 +0800 iwl3945: add load ucode op The patch adds 3945 iwl_lib_ops->load_ucode to the driver. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 775a6e27bfca9d19f3ea6006a7e60a4a54aaf69c Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:36 2008 +0800 iwl3945: cleanup and remove duplicate code The patch removes the following duplicate structures: iwl3945_is_alive iwl3945_is_ready iwl3945_is_init iwl3945_is_rfkill_sw iwl3945_is_rfkill iwl3945_reset_qos Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit df878d8f0156ec2b41da5ae9c70af4a27cb2eb0a Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:35 2008 +0800 iwl3945: use iwl_mod_params for 3945 Use iwl_mod_params for 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c2d79b488a33a77d337092c967ce50614edc5d25 Author: Winkler, Tomas Date: Fri Dec 19 10:37:34 2008 +0800 iwlwifi: use iwl_cmd instead of iwl3945_cmd This patch makes use of iwl_cmd instead of iwl3945_cmd and related structures which were just the same. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 15b1687cb4f45b87ddbe4dfc7759ff5bb69497d2 Author: Winkler, Tomas Date: Fri Dec 19 10:37:33 2008 +0800 iwlwifi: replace IWL_ERROR with IWL_ERR IWL_ERR doesn't use hidden priv pointer. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 39aadf8c29ad959e823efca15381bea9d0770b1e Author: Winkler, Tomas Date: Fri Dec 19 10:37:32 2008 +0800 iwlwifi: replace IWL_WARNING with IWL_WARN IWL_WARN doesn't use hidden priv pointer. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 978785a3892b34448446e8c8a17f48454f1bdd6a Author: Tomas Winkler Date: Fri Dec 19 10:37:31 2008 +0800 iwlwifi: clean up printing Use IWL_ macros where possible to unify debug output usage. Define new unconditional printouts IWL_ERR, IWL_WARN, IWL_INFO, and IWL_CRIT which don't use hidden priv pointer. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 146846aed534aa0eb1fb0a8e6c0394190e5c1ad7 Author: Zhu Yi Date: Fri Dec 19 10:37:30 2008 +0800 iwlwifi: add more comments to IWL_DL_xx This adds more comments to IWL_DL_xx macros. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d49f498a29360592dea4693724fef242278e0d3 Author: Abhijeet Kolekar Date: Fri Dec 19 10:37:29 2008 +0800 iwl3945: use iwl-io.h and delete iwl-3945-io.h The patch deletes iwl-3945-io.h and uses iwl-io.h functions. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4a8a43222db6f04c88def2160a95f978f704b515 Author: Abhijeet Kolekar Date: Fri Dec 19 10:37:28 2008 +0800 iwl3945: replaces iwl3945_priv with iwl_priv The patch replaces iwl3945_priv to iwl_priv. It adds 3945 specific data members to iwl_priv. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f2c7e52100545e54af064fe0345d141fdcf2d243 Author: Abhijeet Kolekar Date: Fri Dec 19 10:37:27 2008 +0800 iwl3945: rename iwl3945_priv variables The patch renames iwl3945 specific variables in iwl3945_priv structure. iwl3945_priv structure differs with iwl_priv structure with these variables. Goal of this patch is to make transition from iwl3945_priv to iwl_priv smoothly. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3832ec9dc919a0994d713390eb4fb3c7e7500b94 Author: Abhijeet Kolekar Date: Fri Dec 19 10:37:26 2008 +0800 iwl3945: use iwl_hw_params in iwl3945_priv The patch makes changed necessary to use iwl_hw_params to replace iwl3945_driver_hw_info. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit cc2f362c360af35b74530f3c896511b8dbd0264c Author: Abhijeet Kolekar Date: Fri Dec 19 10:37:25 2008 +0800 iwl3945: use iwl_rx_queue in iwl3945 The patch replaces iwl3945_rx_queue with iwl_rx_queue. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6100b58806e6307f959af79334ac553825400242 Author: Abhijeet Kolekar Date: Fri Dec 19 10:37:24 2008 +0800 iwl3945: use iwl_rx_mem_buffer The patch replaces iwl3945_rx_mem_buffer with iwl_rx_mem_buffer. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d2bf55839ad77486a02ec32f8411f432621da110 Author: Wu Fengguang Date: Fri Dec 19 10:37:23 2008 +0800 iwlwifi: beautify code This patch beautifies macros in iwl-debug.h. Signed-off-by: Wu Fengguang Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b5323d36637909481318e7dfcba9f3e3b9368881 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:22 2008 +0800 iwl3945: replace iwl3945_broadcast_addr with iwl_bcast_addr The patch replaces iwl3945_broadcast_addr with iwl_bcast_addr for 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a78fe754e0e5a77ca968ee0c348f027e84659d8b Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:21 2008 +0800 iwl3945: remove duplicate structures from iwl-3945.h The patch renames and deletes duplicate structure from iwl-3945.h. The following structures are renamed with iwlwifi counterparts: 1) iwl3945_ac_qos 2) iwl3945_ucode 3) iwl3945_qos_capabity Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 85d4149533e07e5ca4c94010a52fe5496d998611 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:20 2008 +0800 iwl3945: move structures from iwl-3945.h to iwl-dev.h The patch moves few structres from iwl-3945.h to iwl-dev.h. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c0f20d91417bc8a4b54e1917a45f8fd4cf9f2991 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:19 2008 +0800 iwl3945: replace iwl_3945_cfg with iwl_cfg The patch replaces iwl_3945_cfg with iwl_cfg for 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5747d47fb469613901e76a1380daf14901e76092 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:18 2008 +0800 iwl3945: include iwl-core.h Use iwl-core.h instead of iwl-3945-core.h. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit eaa686c37d12aac37f955eb7643a62370c84ee12 Author: Kolekar, Abhijeet Date: Fri Dec 19 10:37:17 2008 +0800 iwl3945: Change IWLWIFI_VERSION constant name Change IWLWIFI_VERSION to IWL3945_VERSION. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6d6498947da40485f691bcbafdc4e9b3280a9b3b Author: Winkler, Tomas Date: Fri Dec 19 10:37:16 2008 +0800 iwlwifi: emliminate iwl3945_mac_get_stats mac80211 handler This patch removes empty iwl3945_mac_get_stats mac80211 handler. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d20b3c65f2a3e18ea86542e6ca4fe1c6d16c91df Author: Samuel Ortiz Date: Fri Dec 19 10:37:15 2008 +0800 iwl3945: iwl3945_queue and iwl3945_channel_info replacement This patch replaces the queue and channel info 3945 structures with the iwl ones. The initial goal was to replace the channel info structure. Once we do that, and then include iwl-dev.h instead of iwl-3945.h, we still get build errors due to several routines and macro redefinitions. This is why this patch also includes: - TFD39_MAX_PAYLOAD definition for 3945. - CMD_SIZE, CMD_HUGE, CMD_SKB duplication removal. - iwl3945_queue replacement in order to also get rid of the duplicated get_cmd_index routine. Getting rid of any of those needs the iwl-dev.h inclusion which then creates build errors due to definitions duplication. This is why we include all those in the same patch. Signed-off-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1125eff3ae26b2e39c6bf940b5e0b8774ebd2896 Author: Samuel Ortiz Date: Fri Dec 19 10:37:14 2008 +0800 iwl3945: Remove power related definitions from 3945 code Most of the power (not TX power, but power management) structures and definitions are duplicated accross iwl-power.h and iwl-3945.h. We should try to only use the iwl header. Signed-off-by: Samuel Ortiz Acked-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b5b83239e7a3540ff31db24249b90f9f6d7f5be8 Author: Samuel Ortiz Date: Fri Dec 19 10:37:13 2008 +0800 iwl3945: Getting rid of iwl-3945-led.h The duplicated LED definitions prevent one from including iwl-dev.h from the 3945 specific C files. Moreover, we are sharing many definitions between iwl-3945-led.h and iwl-led.h, so let's just use the iwl one. Note that this file will get more cleanups once we share a common iwl_priv structure. Signed-off-by: Samuel Ortiz Acked-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d9829a67f953379b5cab6b78ae8f7a879a591eb1 Author: Samuel Ortiz Date: Fri Dec 19 10:37:12 2008 +0800 iwl3945: Use iwl-agn-rs.h rates definitions. A lot of rate relates definition are shared between iwl-3945-rs.h and iwl-agn-rs.h. Let's just use the agn version, and add the 3945 specific constants there. Signed-off-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 250bdd216c95907760b3fcc3aac1ed436d21c66c Author: Samuel Ortiz Date: Fri Dec 19 10:37:11 2008 +0800 iwl3945: Have consistant and not redefined HW constants SRAM addresses are different for 3945, 4065, and 5000, let's give them different names. Also, the RSSI_OFFSET is different for 3945 and 4965, thus they should be named differently. Signed-off-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0f741d9992ad043026218677c06042ac9f834f8f Author: Samuel Ortiz Date: Fri Dec 19 10:37:10 2008 +0800 iwl3945: Getting rid of iwl3945_eeprom_channel The corresponding iwl structure is identical. Signed-off-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a3139c5956702c9ff957ac9fe2d902de355b063e Author: Samuel Ortiz Date: Fri Dec 19 10:37:09 2008 +0800 iwl3945: Remove DRV_NAME dependenies As DRV_NAME is defined in 2 different header files, including both is not possible. This patch defines this constant from iwl3945-base.c and iwl-agn.c. It also redefines the IWL_ERROR and IWL_WARNING macros to use dev_printk, as the IWL_DEBUG_* macros do. Signed-off-by: Samuel Ortiz Acked-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 40b8ec0bfa2d96c9feae2bc1596e9b427c77b8da Author: Samuel Ortiz Date: Fri Dec 19 10:37:08 2008 +0800 iwl3945: Getting rid of iwl-3945-debug.h At the cost of adding a debug_level field to iwl3945_priv, we are now able to get rid of iwl-3945-debug.h, and use iwl-debug.h instead. Signed-off-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3d24a9f790c0e39cfdef1446c7100e89c542805c Author: Tomas Winkler Date: Fri Dec 19 10:37:07 2008 +0800 iwlwifi: 3945 remove iwl-3945-commands.h This patch remove iwl-3945-commands.h eliminating duplicated and moving all definitions to iwl-commands.h Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 28afaf9139ce9f1c26452f34808e322e8e868850 Author: Tomas Winkler Date: Fri Dec 19 10:37:06 2008 +0800 iwlwifi: 3945 drop usage of union tsf This patch replaces union tsf with u64 This also allows to use iwl_error_res and iwl_rxon_time_cmd instead of 3945 structures Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c897253cc9ae1c6a2798b27b5fe8e6d94ab6185 Author: Tomas Winkler Date: Fri Dec 19 10:37:05 2008 +0800 iwlwifi: 3945 remove duplicated code from iwl-3945-commands.h This patch remove trivial (renames) commands and defines from iwl-3945-commands.h Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 600c0e11ea6161e00e8cb4b4dda39a64ce988c60 Author: Tomas Winkler Date: Fri Dec 19 10:37:04 2008 +0800 iwlwifi: use iwl-commands.h also in 3945 This patch uses iwl-commands.h also for iwl3945 more clean ups are required but this get to stage where it compiles cleanly. Most massive changes are in spectrum and power managment. Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b936d9be05d66172b2c035eaca002a134f078c64 Author: Winkler, Tomas Date: Fri Dec 19 10:37:03 2008 +0800 iwlwifi: 3945 remove current_rate from station entry. This patch removes current_rate from station_entry it was write only variable Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 69d00d2722e7478e590e40b1a8b791b4aeea195f Author: Tomas Winkler Date: Fri Dec 19 10:37:02 2008 +0800 iwlwifi: 3945 unfold iwl-3945-commands.h This patch unfolds includes of iwl-3945-commands.h Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bddadf86fb284f237d6e2d3496772c8f5c68370e Author: Tomas Winkler Date: Fri Dec 19 10:37:01 2008 +0800 iwlwifi: 3945 extract flow handler definitions into iwl-3945-fh.h This patch moves 3945 definitions into iwl-3945-fh.h It renames FH_ to FH39 to help inclusion of 3945 into iwlcore framework Signed-off-by: Tomas Winkler Acked-by: Samuel Ortiz Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7cbf0ba5193d1f3bb3caaa06668e22bc86776e41 Author: Vivek Natarajan Date: Wed Dec 24 00:34:37 2008 -0800 mac80211: Cancel the power save timer in ieee80211_stop. Since the station info is flushed before calling set_disassoc in ieee80211_stop, the power save timer is never cancelled when the driver is unloaded. Hence the timer cancellation has to be done in ieee80211_stop itself. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit a97b77b90decf27a86ac40ea53a741ffb5ead21a Author: Vivek Natarajan Date: Tue Dec 23 18:39:02 2008 -0800 mac80211: Enhancements to dynamic power save. This patch enables mac80211 to send a null frame and also to check for tim in the beacon if dynamic power save is enabled. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 869717fbe43eb831cbebd03a9a66a4a4c3b406a9 Author: Vivek Natarajan Date: Tue Dec 23 18:28:34 2008 -0800 mac80211: A couple of fixes to dynamic power save. a) hw_config() should not be called from siwpower() for the drivers which do not support dynamic powersave. b) IEEE80211_HW_NO_STACK_DYNAMIC_PS needs to be verified in set_associated() also before enabling the power save timers. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d063ed0f0cd623b45edc6f4781dda6478c56bb4f Author: Vivek Natarajan Date: Tue Dec 23 18:17:19 2008 -0800 mac80211: Reset the power save timer from master_start_xmit. When a null data frame is generated from mac80211, it goes through master_start_xmit and not through subif_start_xmit. Hence for the power save timer to be triggered while sending this null data frame also, the timer has to be reset from master_start_xmit. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit eb46936b9f2b639f4edeeaf9154d49476fc30fe5 Author: Vasanthakumar Thiagarajan Date: Tue Dec 23 21:30:50 2008 +0530 mac80211: Scale down to non-HT association with TKIP/WEP as pairwise cipher As TKIP is not updated to new security needs which arise when TKIP is used to encrypt A-MPDU aggregated data frames, IEEE802.11n does not allow any cipher other than CCMP (Which has new extensions defined) as pairwise cipher between HT peers. When such configuration (TKIP/WEP in HT) is forced, we still associate in non-HT mode (11a/b/g). Signed-off-by: Vasanthakumar Thiagarajan Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 9ee677c2276bfcbcf68042ec2718a504af0c5fd7 Author: David Kilroy Date: Tue Dec 23 14:03:38 2008 +0000 wireless: Add channel/frequency conversions to ieee80211.h Added mappings for FHSS, DSSS and OFDM channels - with macros to point HR DSSS and ERP to the DSSS mappings. Currently just static inline functions. Use the new functions in the older fullmac drivers. This eliminates a number of const static buffers and removes a couple of range checks that are now redundant. Signed-off-by: David Kilroy Acked-by: Arnaldo Carvalho de Melo Acked-by: Richard Farina Acked-by: Jeroen Vreeken Signed-off-by: John W. Linville commit eaee7cc2c180c291084a1c1f49cd2bf13002b3e1 Author: Nick Kossifidis Date: Mon Dec 22 12:35:55 2008 +0200 ath5k: More EEPROM code updates * Don't scale power values on RF5111 EEPROMs because they get out of bounds (power is u8, so multiplying power by 50 is too much and there is no reason to do so -we don't do it on other chips anyway-). HAL does it as a technique to handle 0.5 dbm steps but i believe it's not the right thing to do and certainly not the right place to do it. We 'll work this out on interpolation code for all chips (0.5 or 0.25 steps etc) in a generic way. Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b306b82c58069159791df5a377a1f1f49b42c4d3 Author: Winkler, Tomas Date: Mon Dec 22 11:31:21 2008 +0800 iwlwifi: kill retry_rate sysfs for iwlagn This patch kills retry_rate in sysfs for iwlagn. It's not used. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2ddfa129bbf3dca708ffb0eb29d08de32cacd547 Author: Winkler, Tomas Date: Mon Dec 22 11:31:20 2008 +0800 iwlwifi: move sysfs status entry to debugfs This patch moves priv->status sysfs entry to debugfs. It is for debugging only anyway. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 29701e5abf155d76fc8ab785a172c4ccf6cf47ee Author: Christian Lamparter Date: Sun Dec 21 22:52:10 2008 +0100 p54: enable proper frame injection This patch enables frame injection in monitor mode for all p54 devices. As a result, any user can finally use the aircrack-ng suite out of the box. e.g: aireplay-ng --test wlan0 Trying broadcast probe requests... Injection is working! Found 1 AP Trying directed probe requests... XX:XX:XX:XX:XX:XX - channel: i - 'SSID' Ping (min/avg/max): 1.536ms/3.193ms/4.377ms Power: 193.00 30/30: 100% Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a15bd00543a859a72546e4b09342b70e79e9ef1e Author: Christian Lamparter Date: Sun Dec 21 20:54:34 2008 +0100 p54: label queues with their corresponding names This patch introduce new shiny named labels for our 8 (4 - on old firmware) queues. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0ea9c00c9d4e6309637a2defe18d26b6cda0fdc0 Author: Nick Kossifidis Date: Sun Dec 21 04:47:39 2008 +0200 ath5k: Update EEPROM code *Read misc2...6 values from eeprom since we want to use them (fixes wrong power calibration info offset on RF2413+ chips) *Initialize num_piers to 0 for RF2413 chips (note that we read 2GHz frequency piers while reading mode sections, we have to ignore them -usualy they are 0xff anyway but during my tests i got a 1 on b mode with no data- and use the newer eemap. *Add some more comments (please forgive my poor English ;-( ) and some minor code cleanup *Tested on 2425 and 2112 and has the same data with ath_info (i wrote some debug code on debug.c to print everything like ath_info but i haven't tested it yet on 5111 and it's full of > 80 col lines, if anyone wants to play with it let me know). Signed-Off-by: Nick Kossifidis Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 754be3098b22d1bea9620b40fe2f9f2286c55101 Author: Ivo van Doorn Date: Sat Dec 20 11:00:49 2008 +0100 rt2x00: Release rt2x00 2.3.0 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b30dd5c043eda4b3d23659ef550c16ce4f6ecb47 Author: Ivo van Doorn Date: Sat Dec 20 10:59:55 2008 +0100 rt2x00: Introduce RXDONE_SIGNAL_MASK mask Improve error message reporting when a frame was received with unknown rate. Instead of using the boolean check if the frame is supposed to be a PLCP value or not, we should add a new mask (RXDONE_SIGNAL_MASK) which returns the type identification for a signal value (i.e. PLCP). At the moment we only have 2 different types, but more will arrive when support for 11n is added. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2bdb35c7ffb61f4b9d963dd447a2c54add5f02c5 Author: Ivo van Doorn Date: Sat Dec 20 10:59:29 2008 +0100 rt2x00: Allow drivers to pass the noise value during rxdone Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 076f9582a6b82e54339ee815130315744b730787 Author: Ivo van Doorn Date: Sat Dec 20 10:59:02 2008 +0100 rt2x00: Remove ENTRY_TXD_OFDM_RATE The flag ENTRY_TXD_OFDM_RATE isn't flexible enough to indicate which rate modulation should be used for a frame. This will become a problem when 11n support is added. Remove the flag and replace it with an enum value which can better indicate the exact rate modulation. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7b40982e235d6ff9343d38703eb48a0143afcc26 Author: Ivo van Doorn Date: Sat Dec 20 10:58:33 2008 +0100 rt2x00: Move code into seperate functions Some functions have grown rapidly in size over the last time, some of those functions (like the rt2x00queue_create_tx_descriptor) will further increase in size soon, so it is best to start cutting it into logical pieces. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 91581b627287d8cc3ee382ee038e04c4beca8176 Author: Ivo van Doorn Date: Sat Dec 20 10:57:47 2008 +0100 rt2x00: Split EEPROM_NIC_TX_RX_FIXED The 2 bits in EEPROM_NIC_TX_RX_FIXED each influence a different antenna. We might as well split the definition and directly read the correct bit. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ce292a640228fded0d2e232216a19cba33e2cd0f Author: Ivo van Doorn Date: Sat Dec 20 10:57:02 2008 +0100 rt2x00: Implement WDS support WDS support should be very easy to handle, mac80211 handles everything for us, so all that is needed is to set the support flags and handle it in the add_interface() callback. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3f787bd6d596ff56625f440910944ef6f937af8d Author: Ivo van Doorn Date: Sat Dec 20 10:56:36 2008 +0100 rt2x00: Rename CONFIG_CRYPTO_COPY_IV CONFIG_CRYPTO_COPY_IV is a bad name since it is part of the driver requirements instead of a configuration option. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7396faf4f3228b88c6c815c7a93081b456716d5f Author: Ivo van Doorn Date: Sat Dec 20 10:55:57 2008 +0100 rt2x00: Add RFKILL support to rt2500usb and rt73usb Some very rare Ralink USB hardware exists which features the RFKILL switch on the USB stick. This patch adds the EEPROM check function to see if RFKILL is supported and the polling function to rt2500usb and rt73usb in order to support RFKILL for that hardware. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a07dbea210e146aedf8929cdabe082b58696260c Author: Andrey Yurovsky Date: Sat Dec 20 10:55:34 2008 +0100 rt2x00: Add mesh support This adds initial support for Mesh Point mode. For this we tell mac80211 that we support NL80211_IFTYPE_MESH_POINT. We also need to send beacons. mac80211 will configure our RX filter accordingly. Signed-off-by: Andrey Yurovsky Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5352ff6510422d9a9bf13b7272f865eb53247f4d Author: Ivo van Doorn Date: Sat Dec 20 10:54:54 2008 +0100 rt2x00: Restrict interface between rt2x00link and drivers Restrict drivers to only access link_qual structure during link tuning. The contents of these fields are for the drivers and all fields are allowed to be changed to values the driver considers correct. This means that some fields need to be moved outside of this structure to restrict access only to rt2x00link itself. This allows some code to be moved outside of the rt2x00.h header and into rt2x00link.c. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit eb20b4e8a6998ca68d9ac0963ee36a1a36fe241d Author: Ivo van Doorn Date: Sat Dec 20 10:54:22 2008 +0100 rt2x00: Reduce calls to bbp_read() The link_tuner() function will always call bbp_read() at the start of the function. Because this is an indirect register access has some costs attached to it (especially for USB hardware). We already store the value read from the register into the vgc_level value inside the link structure. Instead of reading from the register we can read that field directly and base the tuner on that value. This reduces the time the registers are locked with the csr_mutex and speeds up the link_tuner processing. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 84e3196ff867c623056eea02c11a45e046490d89 Author: Ivo van Doorn Date: Sat Dec 20 10:53:29 2008 +0100 rt2x00: Move link tuning into seperate file Move link and antenna tuning into a seperate file named rt2x00link.c, this makes the interface to the link tuner a lot cleaner. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7d7f19ccb777946df0a8fb7c83189ba2ae08b02e Author: Ivo van Doorn Date: Sat Dec 20 10:52:42 2008 +0100 rt2x00: Implement Powersaving Listen to IEEE80211_CONF_PS to determine if the device should drop into powersaving mode. This feature depends on the dynamic power save functionality in mac80211. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3ebbbb56a162b8f9b9a77bc7810b9d4e0868e039 Author: Michael Buesch Date: Fri Dec 19 22:51:57 2008 +0100 b43: Use 64bit atomic register access for TSF On modern b43 devices with core rev >=3, the hardware guarantees us an atomic 64bit read/write of the TSF, if we access the lower 32bits first. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e808e586b77a10949e209f8a00cb8bf27e51df12 Author: Michael Buesch Date: Fri Dec 19 21:30:52 2008 +0100 b43: Fixup set_key handling This fixes the key handling for mac80211's new key->flags. It also adds TX locking to the set_key handler and adds a comment why this is required. This doesn't fix any known bugs. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 019a1369667c3978f9644982ebe6d261dd2bbc40 Author: Hiroshi Shimamoto Date: Thu Jan 29 11:49:18 2009 -0800 x86: uaccess: fix compilation error on CONFIG_M386 In case of !CONFIG_X86_WP_WORKS_OK, __put_user_size_ex() is not defined. Add macros for !CONFIG_X86_WP_WORKS_OK case. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit fbeb2ca0224182033f196cf8f63989c3e6b90aba Author: Suresh Siddha Date: Thu Jan 29 12:11:08 2009 -0800 x86: unify genapic code, unify subarchitectures, remove old subarchitecture code, xapic fix xapic fix for 32bit platform with less than 8 cpu's. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit dba3d36b2f0842ed7f25c33cd3a2ccdb3d0df9db Author: Ingo Molnar Date: Thu Jan 29 17:10:12 2009 +0100 Revert "generic, x86: fix __per_cpu_load relocation" This reverts commit 5a611268b69f05262936dd177205acbce4471358. It is causing occasional boot crashes, caused by certain linker versions (GNU ld version 2.18.50.0.6-2 20080403) messing up: 82dcc000 D __per_cpu_load c16e6000 A __per_cpu_load_abs The __per_cpu_load value is out of whack. Hpa noticed the following detail: * (gdb) p/x -(0xc16e6000-0x82dcc000) * $2 = 0xc16e6000 * I.e. one is the other << 1 The two symbols should be equal. Signed-off-by: Ingo Molnar commit b98b7b347eed333d6fa2f74770beb8106e576cc6 Author: Herton Ronaldo Krzesinski Date: Thu Jan 29 13:18:31 2009 -0200 ALSA: hda - make alc882_auto_init_input_src aware of selectors In the case of having a selector instead of mixer while initing input sources, the case that happens with ALC889, we must select instead of muting input. Problem was found while testing with hda-emu. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 010060741ad35eacb504414bc6fb9bb575b15f62 Author: Peter Zijlstra Date: Thu Jan 29 16:02:12 2009 +0100 x86: add might_sleep() to do_page_fault() Impact: widen debug checks VirtualBox calls do_page_fault() from an atomic context but runs into a might_sleep() way pas this point, cure that. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7393958f630ac91e591e62058f2bdb61523ec60c Author: Peter Ujfalusi Date: Thu Jan 29 14:57:50 2009 +0200 ASoC: TWL4030: Add analog loopback support This patch adds the analog loopback/bypass support for twl4030 codec. Details for the implementation: It seams that the analog loopback needs the DAC powered on on the channel, where the loopback is selected. The switch for the DACs has been moved from the DAPM_DAC to the "Analog XX Playback Mixer". In this way the DAC will be powered while the audio playback is used or/and the loopback is enabled for the channel. The twl4030 codec powering has been reworked. Now the codec will be powered as long as it does not receives the SND_SOC_BIAS_OFF event. The exceptions are when the given change in the registers needs the codec power down/up cycle in order to take effect. Otherwise the codec is on. When the codec enters to STANDBY state and none of the loopback paths are enabled, than the amplifiers, which are no in the DAPM path are forced to turn off and the PLL is disabled. When playback/capture starts the disabled gains are restored and the PLL is enabled. When one of the loopback enabled in STANDBY mode, the disabled gains are restored and the PLL is enabled also. In short: the codec always goes to the lowest power state based on the bias_level and the bypass_state. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0bf5460de96aa66abf9350333ee6711e73b3b31e Merge: 67fcdea... ef390c0... Author: Mark Brown Date: Thu Jan 29 13:57:59 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit d7ab5c46ae2743079a40bb4060e510418c0842b4 Author: FUJITA Tomonori Date: Wed Jan 28 21:53:18 2009 +0900 intel-iommu: make dma mapping functions static The dma ops unification enables X86 and IA64 to share intel_dma_ops so we can make dma mapping functions static. This also remove unused intel_map_single(). Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit dfb805e831cc5306b14eacd64e0b36d0d973ee0d Author: FUJITA Tomonori Date: Wed Jan 28 21:53:17 2009 +0900 IA64: fix VT-d dma_mapping_error dma_mapping_error is used to see if dma_map_single and dma_map_page succeed. IA64 VT-d dma_mapping_error always says that dma_map_single is successful even though it could fail. Note that X86 VT-d works properly in this regard. This patch fixes IA64 VT-d dma_mapping_error by adding VT-d's own dma_mapping_error() that works for both X86_64 and IA64. VT-d uses zero as an error dma address so VT-d's dma_mapping_error returns 1 if a passed dma address is zero (as x86's VT-d dma_mapping_error does now). Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 97d9800de9df9c6e71b00c0a26239c7d7f6a46c4 Author: FUJITA Tomonori Date: Wed Jan 28 21:53:16 2009 +0900 IA64: fix swiotlb alloc_coherent for non DMA_64BIT_MASK devices Before the dma ops unification, IA64 always uses GFP_DMA for dma_alloc_coherent like: #define dma_alloc_coherent(dev, size, handle, gfp) \ platform_dma_alloc_coherent(dev, size, handle, (gfp) | GFP_DMA) This GFP_DMA enforcement doesn't make sense for IOMMUs since they can do address translation to give addresses that devices can access to. The IOMMU drivers ignore the zone flag. However, this is still necessary for swiotlb since it can't do address translation. We don't always need to use GFP_DMA for swiotlb. We need GFP_DMA for devices incapable of 64bit DMA. This patch is sorta updated version of: http://marc.info/?l=linux-kernel&m=122638215612705&w=2 Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 0a1e8869f453ceda121a1ff8d6c4380832377be7 Author: Cyrill Gorcunov Date: Wed Jan 28 23:21:25 2009 +0300 x86: trampoline_64.S - use predefined constants with simplification Impact: cleanup We may use macros from processor-flags.h instead of hardcoding bits. Actually it's not direct mapping of old instructions with new ones -- BTS does change CF flag while MOV does not. But i didn't find any dependency on CF in this code. Signed-off-by: Cyrill Gorcunov Acked-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit b3a8c34886d0e3dd3a24a5b614ee025181da2f41 Author: Arnaldo Carvalho de Melo Date: Wed Jan 28 13:08:37 2009 -0200 trace_sched_wakeup: Remove unused variable Impact: cleanup Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit f04109bf1be7449e27d38ae1bb8465013374bd49 Author: Arnaldo Carvalho de Melo Date: Wed Jan 28 13:02:12 2009 -0200 trace: Use tracing_reset_online_cpus in more places Impact: cleanup Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frédéric Weisbecker Signed-off-by: Ingo Molnar commit 700a3dcb9036d17d3a67d0a7ceee9d4373fbb570 Author: Arnaldo Carvalho de Melo Date: Wed Jan 28 12:33:56 2009 -0200 blktrace: Use tracing_reset_online_cpus Impact: cleanup Use tracing_reset_online_cpus instead of open coding it. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit ce181ebeff398e7d1a9c6cb92eb035a6d2d07489 Merge: 4a66a82... 8902528... Author: Ingo Molnar Date: Thu Jan 29 14:27:58 2009 +0100 Merge branch 'tracing/ftrace' into tracing/core commit 3769e7b4d8ef113e08221a210f849ba57475aff5 Author: Ingo Molnar Date: Tue Jan 27 18:46:23 2009 +0100 x86/Voyager: move to the X86_32_NON_STANDARD code section Make Voyager depend on X86_32_NON_STANDARD - it is a non-standard 32-bit SMP architecture. Signed-off-by: Ingo Molnar commit e0c7ae376a13fd79a4dad8becab51040d13dfa90 Author: Ingo Molnar Date: Tue Jan 27 18:43:09 2009 +0100 x86: rename X86_GENERICARCH to X86_32_NON_STANDARD X86_GENERICARCH is a misnomer - it contains non-PC 32-bit architectures that are not included in the default build. Rename it to X86_32_NON_STANDARD. Signed-off-by: Ingo Molnar commit e2c75d9f54334646b3dcdf1fea0d1afe7bfbf644 Author: Ingo Molnar Date: Tue Jan 27 18:31:41 2009 +0100 x86: remove the subarch menu Remove the subarch menu and standardize on X86_PC. Signed-off-by: Ingo Molnar commit 6a48565ed6ac76f351def25cd5e9f181331065f6 Author: Ingo Molnar Date: Tue Jan 27 18:29:13 2009 +0100 x86: move X86_VSMP from subarch menu Move X86_VSMP out of the subarch menu - this way it can be enabled together with standard PC support as well, in the same kernel. Signed-off-by: Ingo Molnar commit 9c39801763ed6e08ea8bc694c5ab936643a2b763 Author: Ingo Molnar Date: Tue Jan 27 18:24:57 2009 +0100 x86: move non-standard 32-bit platform Kconfig entries - make X86_GENERICARCH depend X86_NON_STANDARD - move X86_SUMMIT, X86_ES7000 and X86_BIGSMP out of the subarchitecture menu and under this option Signed-off-by: Ingo Molnar commit f67ae5c9e52e385492b94c14376e322004701555 Author: Ingo Molnar Date: Tue Jan 27 18:20:09 2009 +0100 x86: move VOYAGER to the NON_STANDARD_PLATFORM section Move X86_ELAN (old, NCR hw platform built on Intel CPUs) from the subarchitecture menu to the non-standard-platform section. Signed-off-by: Ingo Molnar commit 9e111f3e167a14dd6252cff14fc7dd2ba4c650c6 Author: Ingo Molnar Date: Tue Jan 27 18:18:25 2009 +0100 x86: move ELAN to the NON_STANDARD_PLATFORM section Move X86_ELAN (old, AMD based web-boxes) from the subarchitecture menu to the non-standard-platform section. Signed-off-by: Ingo Molnar commit 06ac8346af04f6a972072f6c5780ba734832ad13 Author: Ingo Molnar Date: Tue Jan 27 18:11:43 2009 +0100 x86: cleanup, introduce CONFIG_NON_STANDARD_PLATFORMS Introduce a Y/N Kconfig option for non-PC x86 platforms. Make VisWS, RDC321 and SGI/UV depend on this. Signed-off-by: Ingo Molnar commit 1ec2dafd937c0f6fed46cbd8f6878f2c1db4a623 Author: Ingo Molnar Date: Tue Jan 27 17:51:37 2009 +0100 x86/Voyager: remove ISA quirk Voyager has this ISA quirk (because Voyager has no ISA support): config ISA bool "ISA support" depends on !X86_VOYAGER There's a ton of x86 hardware that does not support ISA, and because most ISA drivers cannot auto-detect in a safe way, the convention in the kernel has always been to not enable ISA drivers if they are not needed. Voyager users can do likewise - no need for a Kconfig quirk. Signed-off-by: Ingo Molnar commit 1c61d8c309a4080980474de8c6689527be180782 Author: Ingo Molnar Date: Tue Jan 27 17:49:22 2009 +0100 x86/Voyager: remove power management Kconfig quirk Voyager has this PM/ACPI Kconfig quirk: menu "Power management and ACPI options" depends on !X86_VOYAGER Most of the PM features are auto-detect so they should be safe to run on just about any hardware. (If not, those instances need fixing.) In any case, if a kernel is built for Voyager, the power management options can be disabled. Signed-off-by: Ingo Molnar commit 4b19ed915576e8034c3653b4b10b79bde10f69fa Author: Ingo Molnar Date: Tue Jan 27 17:47:24 2009 +0100 x86/Voyager: remove HOTPLUG_CPU Kconfig quirk Voyager has this Kconfig quirk: config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP && HOTPLUG && !X86_VOYAGER But this exception will be moot once Voyager starts using the generic x86 code. Signed-off-by: Ingo Molnar commit e006235e5b9cfb785ecbc05551788e33f96ea0ce Author: Ingo Molnar Date: Tue Jan 27 17:45:17 2009 +0100 x86/Voyager: remove MCE quirk If no MCE code is desired on Voyager hw then the solution is to turn them off in the .config - and to extend the MCE code to not initialize on Voyager. Remove the build-time quirk. Signed-off-by: Ingo Molnar commit 7cd92366a593246650cc7d6198e2c7d3af8c1d8a Author: Ingo Molnar Date: Tue Jan 27 17:40:48 2009 +0100 x86/Voyager: remove APIC/IO-APIC Kbuild quirk The lapic/ioapic code properly auto-detects and is safe to run on CPUs that have no local APIC. (or which have their lapic turned off in the hardware) Signed-off-by: Ingo Molnar commit c3e6a2042fef33b747d2ae3961f5312af801973d Author: Ingo Molnar Date: Tue Jan 27 17:38:46 2009 +0100 x86/Voyager: remove PARAVIRT Kconfig quirk Remove this Kconfig quirk: config PARAVIRT bool "Enable paravirtualization code" depends on !X86_VOYAGER help Voyager support built into a kernel does not preclude paravirt support. Signed-off-by: Ingo Molnar commit 54523edd237b9e792a3b76988fde23a91d739f43 Author: Ingo Molnar Date: Tue Jan 27 17:37:33 2009 +0100 x86/Voyager: remove KVM_GUEST quirk Voyager has this quirk currently: config KVM_GUEST bool "KVM Guest support" select PARAVIRT depends on !X86_VOYAGER Voyager support built into a kernel image does not exclude KVM paravirt guest support - so remove this quirk. Signed-off-by: Ingo Molnar commit e084e531000a488d2d27864266c13ac824575a8b Author: Ingo Molnar Date: Tue Jan 27 17:36:31 2009 +0100 x86/Voyager: remove KVM_CLOCK quirk Voyager has this build-time quirk to exclude KVM_CLOCK: bool "KVM paravirtualized clock" select PARAVIRT select PARAVIRT_CLOCK depends on !X86_VOYAGER Voyager support built into a kernel image does not exclude KVM paravirt clock support - so remove this quirk. Signed-off-by: Ingo Molnar commit f154f47d5180c2012bf97999e6c600d45db8af2d Author: Ingo Molnar Date: Tue Jan 27 17:34:56 2009 +0100 x86/Voyager: remove VMI Kconfig quirk x86/Voyager has this build-time quirk: bool "VMI Guest support" select PARAVIRT depends on X86_32 depends on !X86_VOYAGER Since VMI is auto-detected (and Voyager will be auto-detected) there's no reason for this quirk. Signed-off-by: Ingo Molnar commit 36619a8a80793a803588a17f772313d5c948357d Author: Ingo Molnar Date: Tue Jan 27 17:33:34 2009 +0100 x86/VisWS: remove Kconfig quirk VisWS has this quirk currently: config X86_VISWS bool "SGI 320/540 (Visual Workstation)" depends on X86_32 && PCI && !X86_VOYAGER && X86_MPPARSE && PCI_GODIRECT The !Voyager quirk is unnecessary. Signed-off-by: Ingo Molnar commit 550fe4f198558c147c6b8273a709568222a1668a Author: Ingo Molnar Date: Tue Jan 27 17:28:08 2009 +0100 x86/Voyager: remove X86_FIND_SMP_CONFIG Kconfig quirk x86/Voyager had this Kconfig quirk: config X86_FIND_SMP_CONFIG def_bool y depends on X86_MPPARSE || X86_VOYAGER Which splits off the find_smp_config() callback into a build-time quirk. Voyager should use the existing x86_quirks.mach_find_smp_config() callback to introduce SMP-config quirks. NUMAQ-32 and VISWS already use this. Signed-off-by: Ingo Molnar commit f095df0a0cb35a52605541f619d038339b90d7cc Author: Ingo Molnar Date: Tue Jan 27 17:17:55 2009 +0100 x86/Voyager: remove X86_BIOS_REBOOT Kconfig quirk Voyager has this Kconfig quirk: config X86_BIOS_REBOOT bool depends on !X86_VOYAGER default y Voyager should use the existing machine_ops.emergency_restart reboot quirk mechanism instead of a build-time quirk. Signed-off-by: Ingo Molnar commit 23394d1c9346d9c0aabbc1b6fca52a9c0aa1c297 Author: Ingo Molnar Date: Tue Jan 27 17:16:16 2009 +0100 x86/Voyager: remove X86_HT Kconfig quirk Voyager has this Kconfig quirk: depends on (X86_32 && !X86_VOYAGER) || X86_64 That is unnecessary as HT support is CPUID driven and explicitly enumerated. Signed-off-by: Ingo Molnar commit c0b5842a457d44c8788b3fd0c64969be7ef673cd Author: Ingo Molnar Date: Tue Jan 27 17:13:05 2009 +0100 x86: generalize boot_cpu_id x86/Voyager can boot on non-zero processors. While that can probably be fixed by properly remapping the physical CPU IDs, keep boot_cpu_id for now for easier transition - and expand it to all of x86. Signed-off-by: Ingo Molnar commit 3e5095d15276efd14a45393666b1bb7536bf179f Author: Ingo Molnar Date: Tue Jan 27 17:07:08 2009 +0100 x86: replace CONFIG_X86_SMP with CONFIG_SMP The x86/Voyager subarch used to have this distinction between 'x86 SMP support' and 'Voyager SMP support': config X86_SMP bool depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) This is a pointless distinction - Voyager can (and already does) use smp_ops to implement various SMP quirks it has - and it can be extended more to cover all the specialities of Voyager. So remove this complication in the Kconfig space. Signed-off-by: Ingo Molnar commit f2fc0e3071230bb9ea9f64a08c3e619ad1357cfb Author: Ingo Molnar Date: Tue Jan 27 17:04:39 2009 +0100 x86/Voyager: remove ARCH_SUSPEND_POSSIBLE Kconfig quirk Voyager has this Kconfig quirk for suspend/resume: config ARCH_SUSPEND_POSSIBLE def_bool y depends on !X86_VOYAGER The proper mechanism to not suspend on a piece of hardware to disable CONFIG_SUSPEND. Remove the quirk. Signed-off-by: Ingo Molnar commit aced3cee555f0b2fd58501e9b8a8a1295011e134 Author: Ingo Molnar Date: Tue Jan 27 17:03:24 2009 +0100 x86/Voyager: remove HIBERNATION Kconfig quirk Voyager has this hibernation quirk: config ARCH_HIBERNATION_POSSIBLE def_bool y depends on !SMP || !X86_VOYAGER Hibernation is a generic facility provided on all x86 platforms. If it is buggy on Voyager then that bug should be fixed - not worked around. Signed-off-by: Ingo Molnar commit 49793b0341a802cf5ee4179e837a2eb20f12c9fe Author: Ingo Molnar Date: Tue Jan 27 17:02:29 2009 +0100 x86/Voyager: remove KGDB Kconfig quirk x86/Voyager has this KGDB quirk: select HAVE_ARCH_KGDB if !X86_VOYAGER This is completely pointless - there's nothing in KGDB that cannot work on Voyager. Remove it. Signed-off-by: Ingo Molnar commit e0ec9483dbe8f534e0f3ef413f9eba9a5ff78050 Author: Ingo Molnar Date: Tue Jan 27 17:01:14 2009 +0100 x86/Voyager: remove KVM Kconfig quirk Voyager and other subarchitectures have this Kconfig quirk: select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) This is unnecessary, as KVM cleanly detects based on CPUID capabilities. Signed-off-by: Ingo Molnar commit 07ef83ae9e99377f38f4d0e472ba6ff09324e5e9 Author: Ingo Molnar Date: Tue Jan 27 16:59:11 2009 +0100 x86/Voyager: remove NATSEMI Kconfig quirk x86/Voyager has this quirk for SCx200 support: config SCx200 tristate "NatSemi SCx200 support" depends on !X86_VOYAGER Remove it - Voyager users can disable drivers they dont need. Signed-off-by: Ingo Molnar commit 72ee6ebbb3fe1ac23d1a669b177b858d2028bf09 Author: Ingo Molnar Date: Tue Jan 27 16:57:49 2009 +0100 x86/Voyager: remove MCA Kconfig quirk Remove Voyager Kconfig quirk: just like any other hardware platform users of Voyager systems can configure in the hardware drivers they need. Signed-off-by: Ingo Molnar commit 61b8172e57c4b8db1fcb7f5fd8dfda85ffd8e052 Author: Ingo Molnar Date: Wed Jan 28 19:55:34 2009 +0100 x86: disable Voyager temporarily x86/Voyager does not build right now and it's unclear whether it will be cleaned up and ported to the subarch-less 32-bit x86 code - so disable it for now. If it's fixed we'll re-enable it - or remove it after some time. There's a very low number of systems running development kernels on x86/Voyager currently. (one or two on the whole planet) Signed-off-by: Ingo Molnar commit e7c64981949ec983ee41c2927c036fdb00d8e68b Author: Ingo Molnar Date: Tue Jan 27 17:54:17 2009 +0100 x86/Voyager: clean up BROKEN Kconfig reference CONFIG_BROKEN has been removed from the upstream kernel years ago, but X86_VOYAGER still had a stale reference to it - remove it. Signed-off-by: Ingo Molnar commit 6bda2c8b32febeb38ee128047253751e080bad52 Author: Ingo Molnar Date: Wed Jan 28 19:32:55 2009 +0100 x86: remove subarchitecture support Remove the 32-bit subarchitecture support code. All subarchitectures but Voyager have been converted. Voyager will be done later or will be removed. Signed-off-by: Ingo Molnar commit 1164dd0099c0d79146a55319670f57ab7ad1d352 Author: Ingo Molnar Date: Wed Jan 28 19:34:09 2009 +0100 x86: move mach-default/*.h files to asm/ We are getting rid of subarchitecture support - move the hook files to asm/. (These are now stale and should be replaced with more explicit runtime mechanisms - but the transition is simpler this way.) Signed-off-by: Ingo Molnar commit 7b38725318f4517af6168ccbff99060d67aba1c8 Author: Ingo Molnar Date: Wed Jan 28 19:11:44 2009 +0100 x86: remove subarchitecture support code Remove remaining bits of the subarchitecture code. Now that all the special platforms are runtime probed and runtime handled, we can remove these facilities. Signed-off-by: Ingo Molnar commit d53e2f2855f1c7c2725d550c1ae6b26f4d671c50 Author: Ingo Molnar Date: Wed Jan 28 19:14:52 2009 +0100 x86, smp: remove mach_ipi.h Move mach_ipi.h definitions into genapic.h. Signed-off-by: Ingo Molnar commit 9f4187f0a3b93fc215b4472063b6c0b44364e60c Author: Ingo Molnar Date: Wed Jan 28 19:19:12 2009 +0100 x86, bigsmp: consolidate header code Move all the asm/bigsmp/*.h definitions into bigsmp_32.c. Signed-off-by: Ingo Molnar commit b3daa3a1a56cf09fb91773f3658692fd02d08bb1 Author: Ingo Molnar Date: Wed Jan 28 19:04:37 2009 +0100 x86, bigsmp: consolidate code Move all code to arch/x86/kernel/bigsmp_32.c. With this it ceases to rely on any build-time subarch features. Signed-off-by: Ingo Molnar commit 61b90b7ca10cc65d8b850ab542859dc593e5a381 Author: Ingo Molnar Date: Wed Jan 28 19:01:05 2009 +0100 x86, NUMAQ: Consolidate code Move all NUMAQ code into arch/x86/kernel/numaq.c. With this it ceases to rely on any build-time subarch features. Signed-off-by: Ingo Molnar commit 2e096df8edefad78155bb406a5a86c182b17786e Author: Ingo Molnar Date: Wed Jan 28 19:01:05 2009 +0100 x86, ES7000: Consolidate code Move all ES7000 code into arch/x86/kernel/es7000_32.c. With this it ceases to rely on any build-time subarch features. Signed-off-by: Ingo Molnar commit 83d7aeabe4cf20e59b5d7fd56a75cfd0e0b6b880 Author: Suresh Siddha Date: Wed Jan 28 17:52:57 2009 -0800 x86: remove mach_apic.h, fix Use apic_read() instead of open-coded mmio. Signed-off-by: Ingo Molnar commit 1dcdd3d15ecea0c22a09d4d001a39d425fceff2c Author: Ingo Molnar Date: Wed Jan 28 17:55:37 2009 +0100 x86: remove mach_apic.h Spread mach_apic.h definitions into genapic.h. (with some knock-on effects on smp.h and apic.h.) Signed-off-by: Ingo Molnar commit 7c20dcc545d78946e40e8fab99637fe815b1d211 Author: Ingo Molnar Date: Thu Jan 29 11:29:22 2009 +0100 x86, summit: consolidate code, fix Build fix for !NUMA Summit. Signed-off-by: Ingo Molnar commit 9e128fddcc589db4e7d9e8328f656ae4a21a2808 Author: Takashi Iwai Date: Thu Jan 29 11:49:10 2009 +0100 ALSA: Add missing description of snd-cmi8330 module parameters Signed-off-by: Takashi Iwai commit c97dff84e0d9a4e0b7048e033d33511e3897c859 Author: Krzysztof Helt Date: Thu Jan 29 11:48:14 2009 +0100 ALSA: cmi8330: add MPU-401 support Add MPU-401 port support for the chip. Also, update some error messages and description. Signed-off-by: Takashi Iwai commit 0a898e6e500ec8ab98000896fe243c4c0e91c72a Author: Krzysztof Helt Date: Thu Jan 29 11:46:45 2009 +0100 ALSA: gus: update debug messages Convert some of them to snd_printdd() and update arguments to make them compilable. Signed-off-by: Takashi Iwai commit 56305757f0b64b7d5dd02fd54c6dfc0989868f31 Author: Krzysztof Helt Date: Thu Jan 29 11:44:24 2009 +0100 ALSA: sscape: update Kconfig description about SoundScape cards The SoundScape driver handles more cards then described. Signed-off-by: Takashi Iwai commit c161e40f45d32b48f8facbee17720e708607002f Author: Paul Mundt Date: Thu Jan 29 18:11:25 2009 +0900 sh: Don't enable GENERIC_TIME for the CMT clockevent driver yet. GENERIC_TIME still depends on the clocksource bits being there, which is presently not supported. This allows the CMT clockevent driver to be used alongside alternate system timers that do not yet provide a clocksource of their own (MTU2 and so on in the case of SH-2A). Signed-off-by: Paul Mundt commit d63f3a5857906851b9c1a39e3871a97f4acc1005 Author: Paul Mundt Date: Thu Jan 29 18:10:13 2009 +0900 sh: Fix up MTU2 support for SH7203. Signed-off-by: Paul Mundt commit f5ad881b425616741bf8696f70b2749abe54a936 Author: Paul Mundt Date: Thu Jan 29 18:08:58 2009 +0900 sh: Use SYS_SUPPORTS_CMT for managing CMT timer dependencies. Signed-off-by: Paul Mundt commit 424f59d04d7450555ef2bf1eb4a5e2cd2ecf08cd Author: Magnus Damm Date: Thu Jan 22 09:56:09 2009 +0000 sh: CMT platform data for sh7723/sh7722/sh7366/sh7343 CMT platform data for SuperH Mobile sh7723/sh7722/sh7343/sh7366. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3fb1b6ad0679ad671bd496712b2a088550ee86b2 Author: Magnus Damm Date: Thu Jan 22 09:55:59 2009 +0000 sh: CMT clockevent platform driver SuperH CMT clockevent driver. Both 16-bit and 32-bit CMT versions are supported, but only 32-bit is tested. This driver contains support for both clockevents and clocksources, but no unregistration is supported at this point. Works fine as clock source and/or event in periodic or oneshot mode. Tested on sh7722 and sh7723, but should work with any cpu/architecture. This version is lacking clocksource and early platform driver support for now - this to minimize the amount of dependencies. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 07821d3310996746a2cf1e9c705ffe64223d1112 Author: Magnus Damm Date: Thu Jan 22 09:55:49 2009 +0000 sh: fix no sys_timer case Handle the case with a sys_timer set to NULL. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 70f0800133b2a6d694c10908b8673a5327b3bfd6 Author: Magnus Damm Date: Thu Jan 22 09:55:40 2009 +0000 sh: tmu disable support Add TMU disable support so we can use other clockevents. Also, setup the clockevent rating. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 955c0778723501cc16fec40501cd54b7e72d3e74 Author: Magnus Damm Date: Thu Jan 22 09:55:31 2009 +0000 sh: rework clocksource and sched_clock Rework and simplify the sched_clock and clocksource code. Instead of registering the clocksource in a shared file we move it into the tmu driver. Also, add code to handle sched_clock in the case of no clocksource. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b833b5ec0411adc2255053a0e0ec536d97e5784e Author: Thadeu Lima de Souza Cascardo Date: Wed Jan 28 18:20:06 2009 -0200 ALSA: AC97: Fix function name type in comment s/updat/update/ Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Takashi Iwai commit 328cc6dfaadad614449eca1c75559e64c5054fea Author: Thadeu Lima de Souza Cascardo Date: Wed Jan 28 15:39:22 2009 -0200 ALSA: AC97: Print AC97 flags in proc file to make debug it easier While debugging some code paths in AC97 codec patches and its suspend and resume functions, getting to know the flags has proved useful to follow those code paths. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Takashi Iwai commit dc66ff6220f0a6c938df41add526d645852d9a75 Author: Roel Kluin Date: Thu Jan 22 15:16:14 2009 +0000 SH: fix start_thread and user_stack_pointer macros Fix macros start_thread and user_stack_pointer. When these macros aren't called with a variable named regs as second argument, this will result in a build failure. Signed-off-by: Roel Kluin Signed-off-by: Paul Mundt commit a448720ca3248e8a7a426336885549d6e923fd8e Author: Jeremy Fitzhardinge Date: Wed Jan 28 15:42:23 2009 -0800 x86: unify asm/io.h: IO_SPACE_LIMIT Impact: Cleanup (trivial unification) Move common define IO_SPACE_LIMIT from to . Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit b1dd62f7f108a593abfc4bf425a3dd0885994680 Author: Martyn Welch Date: Mon Jan 19 11:33:34 2009 +0000 powerpc/86xx: Extend GE Fanuc GPIO driver for the SBC310 This patch adds basic support for the 6 GPIO lines found on GE Fanucs SBC310 to the GE Fanuc GPIO driver. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit d2a82b12989d0531ce93cff0553cdd1c93155d24 Author: Martyn Welch Date: Mon Jan 19 11:33:04 2009 +0000 powerpc/86xx: Default configutation for GE Fanuc's SBC310 Support for the SBC310 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). This is the default config file for GE Fanuc's SBC310, a 3U single board computer, based on Freescale's MPC8641D. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit bb2b66dca1c4cbe16d8208d4b2910cf0eb6e9f75 Author: Martyn Welch Date: Mon Jan 19 11:33:24 2009 +0000 powerpc/86xx: Board support for GE Fanuc SBC310 Support for the SBC310 VPX Single Board Computer from GE Fanuc (PowerPC MPC8641D). This is the basic board support for GE Fanuc's SBC310, a 3U single board computer, based on Freescale's MPC8641D. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit bdc54625b650bfeeb8225a2a5103a3685423e43c Author: David Woodhouse Date: Thu Jan 29 14:37:20 2009 +1100 solos: Remove debugging, commented-out test code Signed-off-by: David Woodhouse commit 35c2221ba1093af77cc2164d5785a88f08a9fc57 Author: David Woodhouse Date: Thu Jan 29 14:08:27 2009 +1100 solos: Clean up handling of card->tx_mask a little Signed-off-by: David Woodhouse commit 84fdf6cda30df72994baa2496da86787fb44cbb4 Author: Matt Fleming Date: Tue Jan 20 21:14:38 2009 +0000 sh: Use the atomic_t "counter" member Now that atomic_t is a generic opaque type for all architectures, it is unwise to use intimate knowledge of its internals when manipulating it. Instead of relying on the "counter" member being at offset 0 from the beginning of an atomic_t, explicitly reference the member. This guards us from any changes to the layout of the beginning of the atomic_t type. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 42990701f938b9318e46102d9919ceb28e5b0e6d Author: Matt Fleming Date: Tue Jan 20 21:14:37 2009 +0000 sh: Relax inline assembly constraints When dereferencing the memory address contained in a register and modifying the value at that memory address, the register should not be listed in the inline asm outputs. The value at the memory address is an output (which is taken care of with the "memory" clobber), not the register. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit e4e3c3f17fdb78282e3d9b4af7ec90d6e65798eb Merge: ae5e6d0... c20f326... Author: Paul Mundt Date: Thu Jan 29 11:56:45 2009 +0900 Merge branch 'sh/stable-updates' commit c6428e52facd03dfac971a44abca4bc058104fec Author: David Woodhouse Date: Thu Jan 29 12:17:09 2009 +1100 solos: Fix various bugs in status packet handling Signed-off-by: David Woodhouse commit a0641cc49a1d1436b3591a9aa4be8159f84b662c Author: David Woodhouse Date: Thu Jan 29 11:31:28 2009 +1100 solos: Remove superfluous wait_queue_head_t from struct solos_param Signed-off-by: David Woodhouse commit fcd82664cb421b043f97ad194a7eda3592e0349e Author: David Woodhouse Date: Thu Jan 29 11:29:12 2009 +1100 solos: Remove IRQF_DISABLED, don't frob IRQ enable on the FPGA in solos_irq() Neither of these are necessary. Signed-off-by: David Woodhouse commit d0839118f396f6d7af553e99ad204aa2b3209cde Author: Kumar Gala Date: Wed Jan 28 13:25:29 2009 -0600 powerpc/fsl: Ensure PCI_QUIRKS are enabled for FSL_PCI The FSL PCI code depends on PCI quirks being enabled to function properly. We can ensure this by doing a select in Kconfig of PCI_QUIRKS. Signed-off-by: Kumar Gala commit f7a0be456f1bdcb6dec81c1e4e47e2b7205eba95 Author: Reynes Philippe Date: Wed Jan 28 11:07:44 2009 +0100 powerpc/83xx: Add i2c eeprom to dts for MPC837x RDB Signed-off-by: Philippe Reynes Signed-off-by: Kumar Gala commit b4f7ec46b6c151d31c068e46278efef7e43b5043 Author: Peter Korsgaard Date: Wed Jan 14 15:52:41 2009 +0100 powerpc: convert dts-bindings/fsl/dma.txt to dts-v1 syntax Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 7b8909940a524d67b4352c29256ada476f50fbba Author: Laurent Pinchart Date: Thu Nov 20 13:32:23 2008 +0100 cpm2: Round the baud-rate clock divider to the nearest integer. Instead of rounding the divider down, improve the baud-rate generators accuracy by rounding to the nearest integer. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit 96051465fdc29e00dd14b484a45daac089c657f8 Author: Trent Piepho Date: Mon Dec 8 19:34:58 2008 -0800 powerpc/fsl-booke: Make CAM entries used for lowmem configurable On booke processors, the code that maps low memory only uses up to three CAM entries, even though there are sixteen and nothing else uses them. Make this number configurable in the advanced options menu along with max low memory size. If one wants 1 GB of lowmem, then it's typically necessary to have four CAM entries. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit c8f3570b7e2dd070ba6da41f3ed4ffb4e1d296af Author: Trent Piepho Date: Mon Dec 8 19:34:59 2008 -0800 powerpc/fsl-booke: Allow larger CAM sizes than 256 MB The code that maps kernel low memory would only use page sizes up to 256 MB. On E500v2 pages up to 4 GB are supported. However, a page must be aligned to a multiple of the page's size. I.e. 256 MB pages must aligned to a 256 MB boundary. This was enforced by a requirement that the physical and virtual addresses of the start of lowmem be aligned to 256 MB. Clearly requiring 1GB or 4GB alignment to allow pages of that size isn't acceptable. To solve this, I simply have adjust_total_lowmem() take alignment into account when it decides what size pages to use. Give it PAGE_OFFSET = 0x7000_0000, PHYSICAL_START = 0x3000_0000, and 2GB of RAM, and it will map pages like this: PA 0x3000_0000 VA 0x7000_0000 Size 256 MB PA 0x4000_0000 VA 0x8000_0000 Size 1 GB PA 0x8000_0000 VA 0xC000_0000 Size 256 MB PA 0x9000_0000 VA 0xD000_0000 Size 256 MB PA 0xA000_0000 VA 0xE000_0000 Size 256 MB Because the lowmem mapping code now takes alignment into account, PHYSICAL_ALIGN can be lowered from 256 MB to 64 MB. Even lower might be possible. The lowmem code will work down to 4 kB but it's possible some of the boot code will fail before then. Poor alignment will force small pages to be used, which combined with the limited number of TLB1 pages available, will result in very little memory getting mapped. So alignments less than 64 MB probably aren't very useful anyway. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit f88747e7f68866f2f82cef1363c5b8e7aa13b0a3 Author: Trent Piepho Date: Mon Dec 8 19:34:57 2008 -0800 powerpc/fsl-booke: Remove code duplication in lowmem mapping The code to map lowmem uses three CAM aka TLB[1] entries to cover it. The size of each is stored in three globals named __cam0, __cam1, and __cam2. All the code that uses them is duplicated three times for each of the three variables. We have these things called arrays and loops.... Once converted to use an array, it will be easier to make the number of CAMs configurable. Signed-off-by: Trent Piepho Signed-off-by: Kumar Gala commit 105c31df6fc5a424b480321763b5598cf3817821 Author: Kumar Gala Date: Thu Jan 8 08:31:20 2009 -0600 powerpc/fsl-booke: Cleanup init/exception setup to be runtime We currently have a few variants of fsl-booke processors (e500v1, e500v2, e500mc, and e200). They all have minor differences that we had previously been handling via ifdefs. To move towards having this support the following changes have been made: * PID1, PID2 only exist on e500v1 & e500v2 and should not be accessed on e500mc or e200. We use MMUCFG[NPIDS] to determine which case we are since we only touch PID1/2 in extremely early init code. * Not all IVORs exist on all the processors so introduce cpu_setup functions for each variant to setup the proper IVORs that are either unique or exist but have some variations between the processors Signed-off-by: Kumar Gala commit 0585a155a7318e69d43ef20636c2f072ad17d03f Author: Anton Vorontsov Date: Thu Jan 8 04:31:41 2009 +0300 powerpc/83xx: Add PCI-E support for all MPC83xx boards with PCI-E This patch adds pcie nodes to the appropriate dts files, plus adds some probing code for the boards. Also, remove of_device_is_avaliable() check from the mpc837x_mds.c board file, as mpc83xx_add_bridge() has the same check now. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 598804cd041c395ce87302af9088b2f227196185 Author: Anton Vorontsov Date: Fri Jan 9 00:55:39 2009 +0300 powerpc/fsl_pci: Add MPC83xx PCI-E controller RC mode support This patch adds support for PCI-Express controllers as found on the newer MPC83xx chips. The work is loosely based on the Tony Li's patch[1], but unlike the original patch, this patch implements sliding window for the Type 1 transactions using outbound window translations, so we don't have to ioremap the whole PCI-E configuration space. [1] http://ozlabs.org/pipermail/linuxppc-dev/2008-January/049028.html Signed-off-by: Tony Li Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit cd2169fbfb39e6fc2fb9055ed2eedaa68f53c734 Author: David Woodhouse Date: Thu Jan 29 11:12:58 2009 +1100 solos: Remove unused loopback debug stuff Signed-off-by: David Woodhouse commit f69e417033af84316c3ed7cafabd388b3ae85952 Author: David Woodhouse Date: Thu Jan 29 11:10:58 2009 +1100 solos: Tidy up tx_mask handling for ports which need TX Signed-off-by: David Woodhouse commit eaf83e39355a0a8933a003fa3b27b37d19901d64 Author: David Woodhouse Date: Thu Jan 29 10:51:11 2009 +1100 solos: Tidy up DMA handling a little. Still untested Signed-off-by: David Woodhouse commit 270b8b85134c299799dddec624ceeb5671330131 Author: Moni Shoua Date: Wed Jan 28 15:15:56 2009 -0800 IB/mthca: Fix dispatch of IB_EVENT_LID_CHANGE event When snooping a PortInfo MAD, its client_reregister bit is checked. If the bit is ON then a CLIENT_REREGISTER event is dispatched, otherwise a LID_CHANGE event is dispatched. This way of decision ignores the cases where the MAD changes the LID along with an instruction to reregister (so a necessary LID_CHANGE event won't be dispatched) or the MAD is neither of these (and an unnecessary LID_CHANGE event will be dispatched). This causes problems at least with IPoIB, which will do a "light" flush on reregister, rather than the "heavy" flush required due to a LID change. Fix this by dispatching a CLIENT_REREGISTER event if the client_reregister bit is set, but also compare the LID in the MAD to the current LID. If and only if they are not identical then a LID_CHANGE event is dispatched. Signed-off-by: Moni Shoua Signed-off-by: Jack Morgenstein Signed-off-by: Yossi Etigin Signed-off-by: Roland Dreier commit f0f6f346a1edaec23b990c25f53478669e56fa70 Author: Moni Shoua Date: Wed Jan 28 14:54:35 2009 -0800 IB/mlx4: Fix dispatch of IB_EVENT_LID_CHANGE event When snooping a PortInfo MAD, its client_reregister bit is checked. If the bit is ON then a CLIENT_REREGISTER event is dispatched, otherwise a LID_CHANGE event is dispatched. This way of decision ignores the cases where the MAD changes the LID along with an instruction to reregister (so a necessary LID_CHANGE event won't be dispatched) or the MAD is neither of these (and an unnecessary LID_CHANGE event will be dispatched). This causes problems at least with IPoIB, which will do a "light" flush on reregister, rather than the "heavy" flush required due to a LID change. Fix this by dispatching a CLIENT_REREGISTER event if the client_reregister bit is set, but also compare the LID in the MAD to the current LID. If and only if they are not identical then a LID_CHANGE event is dispatched. Signed-off-by: Moni Shoua Signed-off-by: Jack Morgenstein Signed-off-by: Yossi Etigin Signed-off-by: Roland Dreier commit b11b867f78910192fc54bd0d09148cf768c7aaad Author: Ingo Molnar Date: Wed Jan 28 18:49:31 2009 +0100 x86, summit: consolidate code Consolidate all the Summit code into a single file: arch/x86/kernel/summit_32.c. Signed-off-by: Ingo Molnar commit 5a44632f77a9c867621f7bf80c233eac75fea672 Author: Ingo Molnar Date: Wed Jan 28 18:47:24 2009 +0100 x86, numaq: consolidate code Move all the NUMAQ subarch definitions into numaq.c. With this it ceases to depend on build-time subarch features. Signed-off-by: Ingo Molnar commit 328386d7ab600aa0993a1226f5817ac30a735724 Author: Ingo Molnar Date: Wed Jan 28 17:50:18 2009 +0100 x86, smp: refactor ->wake_cpu - remove macro wrappers Signed-off-by: Ingo Molnar commit 1f75ed0c1311a50ed393bcac258de65680d360e5 Author: Ingo Molnar Date: Wed Jan 28 17:36:56 2009 +0100 x86: remove mach_apicdef.h Move its definitions into apic.h. Signed-off-by: Ingo Molnar commit b2af018ff26f1a2a026f548f7f0e552589905689 Author: Ingo Molnar Date: Wed Jan 28 17:36:56 2009 +0100 x86: remove mach_mpspec.h Move its definitions into mpspec.h. Signed-off-by: Ingo Molnar commit fb5b33c9f62ca9222c11841d61ddb7dc1a6552e9 Author: Ingo Molnar Date: Wed Jan 28 17:29:27 2009 +0100 x86: eliminate asm/mach-*/mach_mpparse.h Move the definition to mpparse.h. Signed-off-by: Ingo Molnar commit 0939e4fd351c58d08d25650797749f18904461af Author: Ingo Molnar Date: Wed Jan 28 17:16:25 2009 +0100 x86, smp: eliminate asm/mach-default/mach_wakecpu.h Spread mach_wakecpu.h's definitions into apic.h and genapic.h and remove mach_wakecpu.h. Signed-off-by: Ingo Molnar commit 018e047f3a98bd8d9e9d78b19bc38415f0c34dd7 Author: Ingo Molnar Date: Wed Jan 28 17:09:58 2009 +0100 x86, ES7000: consolidate the APIC code Consolidate all the ES7000 APIC code into arch/x86/mach-generic/es7000.c. With this ES7000 ceases to rely on any subarchitecture include files. Signed-off-by: Ingo Molnar commit 25dc004903a38f0b6f6626dbbab058c8709c5398 Author: Ingo Molnar Date: Wed Jan 28 16:31:52 2009 +0100 x86, smp: refactor ->inquire_remote_apic() methods Nothing exciting - a few subarches dont want APIC remote reads to be performed - the others are content with the default method. - extend the generic code to handle NULL methods - clear out dummy methods and replace them with NULL - clean up: remove wrapper macros, etc. Signed-off-by: Ingo Molnar commit 3d5f597e938c425554cb7668fd3c9d6a536a984a Author: Ingo Molnar Date: Wed Jan 28 16:43:47 2009 +0100 x86, smp: remove ->restore_NMI_vector() Nothing actually restores the NMI vector - so remove this logic altogether. Signed-off-by: Ingo Molnar commit 7bd06ec63a1204ca44b9f1dc487b8632016162d1 Author: Ingo Molnar Date: Wed Jan 28 16:31:52 2009 +0100 x86, smp: refactor ->store/restore_NMI_vector() methods Only NUMAQ does something substantial here, because it initializes via NMIs (not via INIT as standard SMP startup) - so it needs to store and restore the NMI vector. - extend the generic code to handle NULL methods - clear out dummy methods and replace them with NULL - clean up: remove wrapper macros, etc. Signed-off-by: Ingo Molnar commit 333344d94300500e401cffb4eea10a5ab6e5a41d Author: Ingo Molnar Date: Wed Jan 28 16:31:52 2009 +0100 x86, smp: refactor ->smp_callin_clear_local_apic() methods Only NUMAQ does something substantial here, because it initializes via NMIs (not via INIT as standard SMP startup) - so it needs to reset the APIC. - extend the generic code to handle NULL methods - clear out dummy methods and replace them with NULL - clean up: remove wrapper macros, etc. Signed-off-by: Ingo Molnar commit a965936643e28af8152d9e960b966baa1a5588a2 Author: Ingo Molnar Date: Wed Jan 28 16:21:32 2009 +0100 x86, smp: refactor ->wait_for_init_deassert() - spread out the namespace on a per APIC driver basis - handle a NULL ->wait_for_init_deassert() as a 'dont wait' default method - remove NUMAQ and Summit handlers Signed-off-by: Ingo Molnar commit abfa584c8df8b691cf18f51c7d4af27e5b32be4a Author: Ingo Molnar Date: Wed Jan 28 16:15:16 2009 +0100 x86: set ->trampoline_phys_low/high on 64-bit too 64-bit x86 has zero for ->trampoline_phys_low/high, but the smpboot code can use these values - so it's better to set them up to their correct values. Signed-off-by: Ingo Molnar commit 6f177c01db6b865181fbc6c948381b290ee09718 Author: Ingo Molnar Date: Wed Jan 28 16:09:23 2009 +0100 x86, smp: clean up ->trampoline_phys_low/high handling - spread out the namespace on a per apic driver basis - remove wrapper macros Signed-off-by: Ingo Molnar commit dac5f4121df3c39fdb2ea57acd669a0ae19e46f8 Author: Ingo Molnar Date: Wed Jan 28 15:42:24 2009 +0100 x86, apic: untangle the send_IPI_*() jungle Our send_IPI_*() methods and definitions are a twisted mess: the same symbol is defined to different things depending on .config details, in a non-transparent way. - spread out the quirks into separately named per apic driver methods - prefix the standard PC methods with default_ - get rid of wrapper macro obfuscation - clean up various details Signed-off-by: Ingo Molnar commit debccb3e77be52cfc26c5a99e123c114c5c72aeb Author: Ingo Molnar Date: Wed Jan 28 15:20:18 2009 +0100 x86, apic: refactor ->cpu_mask_to_apicid*() - spread out the namespace on a per driver basis - clean up the functions - get rid of macros Signed-off-by: Ingo Molnar commit 94af18755266edf46803564414d74f9621aaded8 Author: Ingo Molnar Date: Wed Jan 28 15:08:53 2009 +0100 x86, apic: get rid of *_APIC_ID_MASK definitions Impact: cleanup Remove the *_APIC_ID_MASK subarch definitions and move them straight to the genapic driver initialization code. Signed-off-by: Ingo Molnar commit 5b8127277bc4cdca78eda5ee900a314642822ace Author: Ingo Molnar Date: Wed Jan 28 14:59:17 2009 +0100 x86, apic: refactor ->apic_id_mask & APIC_ID_MASK - spread out the namespace on a per driver basis - get rid of wrapper macros Signed-off-by: Ingo Molnar commit ca6c8ed4646f8ccaa4f7db618bf69b8b8fb49767 Author: Ingo Molnar Date: Wed Jan 28 14:08:38 2009 +0100 x86, apic: refactor ->get_apic_id() & GET_APIC_ID() - spread out the namespace on a per driver basis - get rid of macro wrappers - small cleanups Signed-off-by: Ingo Molnar commit 9c7642470ecf03d8b4946a2addc8fe631b8426dd Author: Ingo Molnar Date: Wed Jan 28 13:44:32 2009 +0100 x86: consolidate the ->mps_oem_check() code - spread out the mps_oem_check() namespace on a per APIC driver basis Signed-off-by: Ingo Molnar commit 1322a2e2db87c938d8381f8501af9a4d0eab8bc7 Author: Ingo Molnar Date: Wed Jan 28 13:54:56 2009 +0100 x86, mpparse: call the generic quirk handlers early Call all the registered MPS quirk handlers early. These methods scan low RAM typically for specific signatures so are safe to be called early. Signed-off-by: Ingo Molnar commit 5f836405ef632ba82f4a5261ff2be4198e53b51b Author: Ingo Molnar Date: Wed Jan 28 13:47:42 2009 +0100 x86, smp: clean up mps_oem_check() Impact: cleanup - allow NULL ->mps_oem_check() entries - clean up the code flow Signed-off-by: Ingo Molnar commit cb8cc442dc7e07cb5438b357843ab4095ad73933 Author: Ingo Molnar Date: Wed Jan 28 13:24:54 2009 +0100 x86, apic: refactor ->phys_pkg_id() Refactor the ->phys_pkg_id() methods: - namespace separation - macro wrapper removal - open-coded calls to the methods in the generic code Signed-off-by: Ingo Molnar commit d4c9a9f3d416cfa1f5ffbe09d864d069467fe693 Author: Ingo Molnar Date: Wed Jan 28 13:31:22 2009 +0100 x86, apic: unify phys_pkg_id() - unify the call signature of 64-bit to that of 32-bit - clean up the types all around - clean up namespace contamination Signed-off-by: Ingo Molnar commit b0b20e5a3a6615ae750804523aeedd32911bb9d6 Author: Ingo Molnar Date: Wed Jan 28 13:15:06 2009 +0100 x86, es7000: clean up es7000_enable_apic_mode() - eliminate the needless es7000_enable_apic_mode() complication which was not apparent prior the namespace cleanups - clean up the control flow in es7000_enable_apic_mode() - other cleanups Signed-off-by: Ingo Molnar commit 4904033302c745342e3b3a611881cdee57fbe06a Author: Ingo Molnar Date: Wed Jan 28 12:43:18 2009 +0100 x86: refactor ->enable_apic_mode() subarch methods Only ES7000 has a real ->enable_apic_mode() method, the other subarchitectures define it but keep it empty. So mark the vector as NULL, extend the generic code to handle NULL -setup_portio_remap() entries and remove all the empty handlers. Signed-off-by: Ingo Molnar commit a27a621001f4c3e57caf47feff4b014577fd01c6 Author: Ingo Molnar Date: Wed Jan 28 12:43:18 2009 +0100 x86: refactor ->check_phys_apicid_present() subarch methods - spread out the namespace to per driver methods - extend it to 64-bit as well so that we can use apic->check_phys_apicid_present() unconditionally Signed-off-by: Ingo Molnar commit d83093b50416f4ca59d3a84b2ddc217748214d64 Author: Ingo Molnar Date: Wed Jan 28 12:43:18 2009 +0100 x86: refactor ->setup_portio_remap() subarch methods Only NUMAQ has a real ->setup_portio_remap() method, the other subarchitectures define it but keep it empty. So mark the vector as NULL, extend the generic code to handle NULL -setup_portio_remap() entries and remove all the empty handlers. Also move the NUMAQ method from the header file into the apic driver .c file. Signed-off-by: Ingo Molnar commit 8058714a41afc4c983acb274b1adf7bd3cfe7f6e Author: Ingo Molnar Date: Wed Jan 28 06:50:47 2009 +0100 x86, apic: clean up ->apicid_to_cpu_present() - separate the namespace - remove macros Signed-off-by: Ingo Molnar commit a21769a4461801454930a06bc18bd8249cd9e993 Author: Ingo Molnar Date: Wed Jan 28 06:50:47 2009 +0100 x86, apic: clean up ->cpu_present_to_apicid() - separate the namespace - remove macros Signed-off-by: Ingo Molnar commit 5257c5111ca21c8e857b65a79ab986b313e1c362 Author: Ingo Molnar Date: Wed Jan 28 06:50:47 2009 +0100 x86, apic: clean up ->cpu_to_logical_apicid() - separate the namespace - remove macros Signed-off-by: Ingo Molnar commit 3f57a318c36e1f24070a18df8c4971ca08d33142 Author: Ingo Molnar Date: Wed Jan 28 06:50:47 2009 +0100 x86, apic: clean up ->apicid_to_node() - separate the namespace - remove macros Signed-off-by: Ingo Molnar commit 33a201fac698a93d9d1ffa77030ba2ff38d1a3d1 Author: Ingo Molnar Date: Wed Jan 28 07:17:26 2009 +0100 x86, apic: streamline the ->multi_timer_check() quirk only NUMAQ uses this quirk: to prevent the timer IRQ from being added on secondary nodes. All other genapic templates can have a NULL ->multi_timer_check() callback. Also, extend the generic code to treat a NULL pointer accordingly. Signed-off-by: Ingo Molnar commit 72ce016583916fb7ffcbaa6a3e1f8f731b79a865 Author: Ingo Molnar Date: Wed Jan 28 06:50:47 2009 +0100 x86, apic: clean up ->setup_apic_routing() - separate the namespace - remove macros - remove namespace clash on 64-bit Signed-off-by: Ingo Molnar commit d190cb87c4503014353f2310c4bfa2268fa7111d Author: Ingo Molnar Date: Wed Jan 28 06:50:47 2009 +0100 x86, apic: clean up ->ioapic_phys_id_map() - separate the namespace - remove macros Signed-off-by: Ingo Molnar commit a5c4329622a3437adef4b2a4288d127957743c97 Author: Ingo Molnar Date: Wed Jan 28 06:50:47 2009 +0100 x86, apic: clean up ->init_apic_ldr() - separate the namespace - remove macros Signed-off-by: Ingo Molnar commit e2d40b1878bd13ca1028ddd299c48e4821ac3535 Author: Ingo Molnar Date: Wed Jan 28 06:50:47 2009 +0100 x86, apic: clean up ->vector_allocation_domain() - separate the namespace - remove macros - move the default vector-allocation-domain to mach-generic - fix whitespace damage Signed-off-by: Ingo Molnar commit 2e867b17cc02e1799f18126af0ddd7b63dd8f6f4 Author: Ingo Molnar Date: Wed Jan 28 05:57:56 2009 +0100 x86, apic: remove no_balance_irq and no_ioapic_check flags These flags are completely unused. (the in-kernel IRQ balancer has been removed from the upstream kernel.) Signed-off-by: Ingo Molnar commit d1d7cae8fd54a301a0de531b48451649933ffdcf Author: Ingo Molnar Date: Wed Jan 28 05:41:42 2009 +0100 x86, apic: clean up check_apicid*() callbacks Clean up these methods - to make it clearer which function is used in which case. Signed-off-by: Ingo Molnar commit bdb1a9b62fc182d4da3143e346f7a0925d243352 Author: Ingo Molnar Date: Wed Jan 28 05:29:25 2009 +0100 x86, apic: rename genapic::apic_destination_logical to genapic::dest_logical This field name was unreasonably long - shorten it. Signed-off-by: Ingo Molnar commit 0b06e734bff7554c31eac4aad2fc9be4adb7c1c1 Author: Ingo Molnar Date: Wed Jan 28 05:13:04 2009 +0100 x86: clean up the APIC_DEST_LOGICAL logic Impact: cleanup The bigsmp and es7000 subarchitectures un-defined APIC_DEST_LOGICAL in a rather nasty way by re-defining it to zero. That is infinitely fragile and makes it very hard to see what to code really does in a given context. The very same constant has different meanings and values - depending on which subarch is enabled. Untangle this mess by never undefining the constant, but instead propagating the right values into the genapic driver templates. Signed-off-by: Ingo Molnar commit 08125d3edab90644724652eedec3e219e3e0f2e7 Author: Ingo Molnar Date: Wed Jan 28 05:08:44 2009 +0100 x86: rename ->ESR_DISABLE to ->disable_esr the ->ESR_DISABLE shouting variant was used to enable the esr_disable macro wrappers. Those ugly macros are removed now so we can rename ->ESR_DISABLE to ->disable_esr Signed-off-by: Ingo Molnar commit f6f52baf2613dd319e9ba3f3319bf1f1c442e4b3 Author: Ingo Molnar Date: Wed Jan 28 05:01:41 2009 +0100 x86: clean up esr_disable() methods Impact: cleanup Most subarchitectures want to disable the APIC ESR (Error Status Register), because they generally have hardware hacks that wrap standard CPUs into a bigger system and hence the APIC bus is quite non-standard and weirdnesses (lockups) have been seen with ESR reporting. Remove the esr_disable macros and put the desired flag into each subarchitecture's genapic template directly. Signed-off-by: Ingo Molnar commit fe402e1f2b67a63f1e53ab2a316fc20f7ca4ec91 Author: Ingo Molnar Date: Wed Jan 28 04:32:51 2009 +0100 x86, apic: clean up / remove TARGET_CPUS Impact: cleanup use apic->target_cpus() directly instead of the TARGET_CPUS wrapper. Signed-off-by: Ingo Molnar commit 0a9cc20b9c18372ba5a9fea990f5812f3ee01e32 Author: Ingo Molnar Date: Wed Jan 28 04:30:40 2009 +0100 x86, apic: clean up target_cpus methods Impact: cleanup Clean up all the target_cpus() namespace overlap that exists between bigsmp, es7000, mach-default, numaq and summit - by separating the different functions into different names. Signed-off-by: Ingo Molnar commit 7fe732862d9697cc1863286fbcace9a67f231b4c Author: Ingo Molnar Date: Wed Jan 28 04:24:16 2009 +0100 x86, apic: remove IRQ_DEST_MODE Remove leftover definition. Signed-off-by: Ingo Molnar commit 38bd77a6c35168b03b65f7438cdcc1257d550924 Author: Ingo Molnar Date: Wed Jan 28 04:16:01 2009 +0100 x86, apic: remove ES7000_IRQ_DELIVERY_MODE and ES7000_IRQ_DEST_MODE Impact: cleanup They were only used in a single place and obscured the apic_es7000 driver template. Signed-off-by: Ingo Molnar commit d8a3539e64f8e27b0ab5bb7e7ba3b8f34b739224 Author: Ingo Molnar Date: Wed Jan 28 04:16:01 2009 +0100 x86, apic: remove BIGSMP_IRQ_DELIVERY_MODE and BIGSMP_IRQ_DEST_MODE Impact: cleanup They were only used in a single place and obscured the apic_bigsmp driver template. Signed-off-by: Ingo Molnar commit 1b1bcb3ff4e4934d949574cec90679219ace5412 Author: Ingo Molnar Date: Wed Jan 28 04:16:01 2009 +0100 x86, apic: remove NUMAQ_IRQ_DELIVERY_MODE and NUMAQ_IRQ_DEST_MODE Impact: cleanup They were only used in a single place and obscured the apic_numaq template. Signed-off-by: Ingo Molnar commit 82daea6b0890f739be1ad4ab1c1b922b1555582e Author: Ingo Molnar Date: Wed Jan 28 04:16:01 2009 +0100 x86, apic: remove SUMMIT_IRQ_DELIVERY_MODE and SUMMIT_IRQ_DEST_MODE Impact: cleanup They were only used in a single place and obscured the apic_summit template. Signed-off-by: Ingo Molnar commit dcafa4a8c95ce063cbae0a5e61632bc3c4924e66 Author: Ingo Molnar Date: Wed Jan 28 04:16:01 2009 +0100 x86, apic: remove DEFAULT_IRQ_DELIVERY_MODE and DEFAULT_IRQ_DEST_MODE Impact: cleanup They were only used in a single place and obscured the apic_default template. Signed-off-by: Ingo Molnar commit 9b5bc8dc12421a4b17047061f473d85c1797d543 Author: Ingo Molnar Date: Wed Jan 28 04:09:58 2009 +0100 x86, apic: remove IRQ_DEST_MODE / IRQ_DELIVERY_MODE Remove the wrapper macros IRQ_DEST_MODE and IRQ_DELIVERY_MODE. The typical 32-bit and the 64-bit build all dereference via the genapic, so it's pointless to hide that indirection via these ugly macros. Furthermore, it also obscures subarchitecture details. So replace it with apic->irq_dest_mode / etc. accesses. Signed-off-by: Ingo Molnar commit f8987a1093cc7a896137e264c24e04d4048e9f95 Author: Ingo Molnar Date: Wed Jan 28 04:02:31 2009 +0100 x86, genapic: rename int_delivery_mode, et. al. int_delivery_mode is supposed to mean 'interrupt delivery mode', but it's quite a misnomer as 'int' we usually think of as an integer type ... The standard naming for such attributes is 'irq' - so rename the following fields and macros: int_delivery_mode => irq_delivery_mode INT_DELIVERY_MODE => IRQ_DELIVERY_MODE int_dest_mode => irq_dest_mode INT_DEST_MODE => IRQ_DEST_MODE Signed-off-by: Ingo Molnar commit 7ed248daa56156f2fd7175f90b62fc6397b0c7b7 Author: Ingo Molnar Date: Wed Jan 28 03:43:47 2009 +0100 x86: clean up apic->apic_id_registered() methods Impact: cleanup x86 subarchitectures each defined a "apic_id_registered()" method, which could be an inline function depending on which subarch we build for, and which was also the name of a genapic field. Untangle this namespace spaghetti by giving each of the instances a separate name. Also remove wrapper macro obfuscation. Signed-off-by: Ingo Molnar commit 306db03b0d71bf9c94155c0c4771a79fc70b4b27 Author: Ingo Molnar Date: Wed Jan 28 03:43:47 2009 +0100 x86: clean up apic->acpi_madt_oem_check methods Impact: refactor code x86 subarchitectures each defined a "acpi_madt_oem_check()" method, which could be an inline function, or an extern, or a static function, and which was also the name of a genapic field. Untangle this namespace spaghetti by setting ->acpi_madt_oem_check() to NULL on those subarchitectures that have no detection quirks, and rename the other ones (summit, es7000) that do. Also change default_acpi_madt_oem_check() to handle NULL entries, and clean its control flow up as well. Signed-off-by: Ingo Molnar commit 9a6801da55e4a4492e8f666ac272efe8186682c8 Author: Ingo Molnar Date: Wed Jan 28 03:18:13 2009 +0100 x86: remove APIC_INIT / APICFUNC / IPIFUNC The APIC_INIT() / APICFUNC / IPIFUNC macros were ugly and obfuscated the true identity of various APIC driver methods. Now that they are not used anymore, remove them. Signed-off-by: Ingo Molnar commit 491a50c4fbcf6cc39a702a16a2dfaf42f0eb8058 Author: Ingo Molnar Date: Wed Jan 28 03:32:03 2009 +0100 x86, genapic: cleanup 32-bit apic_summit template Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar commit fed53ebf3c4e233e085c453a27ae287ccbf149fb Author: Ingo Molnar Date: Wed Jan 28 03:32:03 2009 +0100 x86, genapic: cleanup 32-bit apic_es7000 template Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar commit fea3437adf778cfe69b7f8cff0afb8060d84b647 Author: Ingo Molnar Date: Wed Jan 28 03:32:03 2009 +0100 x86, genapic: cleanup 32-bit apic_numaq template Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar commit d26b6d6660d704ffa59f22ad57c9103e3fba289f Author: Ingo Molnar Date: Wed Jan 28 03:32:03 2009 +0100 x86, genapic: cleanup 32-bit apic_bigsmp template Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar commit 0a7e8c64142b2ae5aacdc509ed112b8e362ac8a4 Author: Ingo Molnar Date: Wed Jan 28 03:32:03 2009 +0100 x86, genapic: cleanup 32-bit apic_default template Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar commit 504a3c3ad45d200a6ac8be5aa019c8fa05e26dc8 Author: Ingo Molnar Date: Wed Jan 28 02:37:01 2009 +0100 x86: clean up apic_x2apic_cluster - reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar commit 05c155c235c757329ec89ad591516538ed8352c0 Author: Ingo Molnar Date: Wed Jan 28 02:37:01 2009 +0100 x86: clean up apic_x2apic_phys - reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar commit c7967329911013a05920ef12832935c541bb8c9a Author: Ingo Molnar Date: Wed Jan 28 02:37:01 2009 +0100 x86: clean up apic_x2apic_uv_x - reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar commit 4c3e51e05a7eefead4033b187394458ff8626497 Author: Ingo Molnar Date: Wed Jan 28 02:37:01 2009 +0100 x86: clean up genapic_phys_flat - reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar commit f2f05ee8b8d346d4edee766384a5fedafdd4f9f8 Author: Ingo Molnar Date: Wed Jan 28 02:37:01 2009 +0100 x86: clean up genapic_flat - reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar commit c8d46cf06dc2e3a8f57a350eb9f9b19fd7f2ffe5 Author: Ingo Molnar Date: Wed Jan 28 00:14:11 2009 +0100 x86: rename 'genapic' to 'apic' Rename genapic-> to apic-> references because in a future chagne we'll open-code all the indirect calls (instead of obscuring them via macros), so we want this reference to be as short as possible. Signed-off-by: Ingo Molnar commit 6781d948cc05b02df915650f2eb49550a1631df9 Author: Ingo Molnar Date: Tue Jan 27 23:54:23 2009 +0100 x86, genapic: provide IPI callbacks unconditionally 64-bit x86 uses the IPI callbacks even on UP - so provide them generally. Signed-off-by: Ingo Molnar commit 505deeb1a228e5b0bf6ac5d0d78f4a4253a9efe9 Author: Ingo Molnar Date: Tue Jan 27 23:23:22 2009 +0100 x86, genapic: cleanups Unify genapic.h some more. Signed-off-by: Ingo Molnar commit ced733ec0bfe9a8a5140a7aefdfe802598e4b8c0 Author: Ingo Molnar Date: Tue Jan 27 23:15:06 2009 +0100 x86, genapic: finish unification Unify remaining bits of genapic_32/64.h. Signed-off-by: Ingo Molnar commit ef7471b13f3ef81074af1972b97355df9df3cdf3 Author: Ingo Molnar Date: Tue Jan 27 23:12:02 2009 +0100 x86, genapic: unify struct genapic Move over the (now identical) struct genapic definitions from genapic_32/64.h to genapic.h. Signed-off-by: Ingo Molnar commit 943d0f74d47724d0e33083674c16a834f080af2c Author: Ingo Molnar Date: Tue Jan 27 23:07:42 2009 +0100 x86, genapic: refactor genapic_32.h Impact: pre unification cleanup Make genapic_32.h similar to genapic_64.h: reorder fields, unify types and bring in new entries. No existing functionality is affected. Signed-off-by: Ingo Molnar commit 6e7a59944a2971c4fb400bfbecb2f68570086b05 Author: Ingo Molnar Date: Tue Jan 27 23:07:42 2009 +0100 x86, genapic: refactor genapic_64.h Impact: pre unification cleanup Make genapic_64.h similar to genapic_32.h: reorder fields, unify types and bring in new entries. No existing functionality is affected. Signed-off-by: Ingo Molnar commit 74b6eb6b937df07d0757e8642b7538b07da4290f Merge: 6a385db... 2d4d57d... 8f6d86d... b38b066... d5e397c... e56d0cf... dbca1df... fb746d0... 6522869... d639bab... 042cbaf... 5662a2f... 3b4b757... 30a0fb9... Author: Ingo Molnar Date: Wed Jan 28 23:13:53 2009 +0100 Merge branches 'x86/asm', 'x86/cleanups', 'x86/cpudetect', 'x86/debug', 'x86/doc', 'x86/header-fixes', 'x86/mm', 'x86/paravirt', 'x86/pat', 'x86/setup-v2', 'x86/subarch', 'x86/uaccess' and 'x86/urgent' into x86/core commit 6a385db5ce7f1fd2c68ec511e44587b67dab8fca Merge: 18e352e... 4369f1f... Author: Ingo Molnar Date: Wed Jan 28 23:12:55 2009 +0100 Merge branch 'core/percpu' into x86/core Conflicts: kernel/irq/handle.c commit 2cf12c0bf261e19d9641d7b8aa220e2651a03289 Author: Joe Perches Date: Thu Jan 22 13:26:47 2009 -0800 dlm: comment typo fixes Signed-off-by: Joe Perches Signed-off-by: David Teigland commit 44ad532b3277f0cae55bfe0625d3140cf73af450 Author: Joe Perches Date: Thu Jan 22 13:24:49 2009 -0800 dlm: use ipv6_addr_copy Signed-off-by: Joe Perches Signed-off-by: David Teigland commit 305a47b17c6efcc0e7b67b0bd41e2c12b7af758b Author: Steven Whitehouse Date: Fri Jan 16 16:21:12 2009 +0000 dlm: Change rwlock which is only used in write mode to a spinlock The ls_dirtbl[].lock was an rwlock, but since it was only used in write mode a spinlock will suffice. Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland commit 61b9b9b109217b2bfb128c3ca24d8f8c839a425f Author: Herton Ronaldo Krzesinski Date: Wed Jan 28 09:16:33 2009 -0200 ALSA: hda - Consider additional capture source/selector in ALC889 Currently code for capture source support in ALC889 only considers capture mixers. This change adds additional support for ADC+selector present in ALC889, taking into account also the presence of an additional DMIC connection item in the selector. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit e167280070cccd2e0cde94f73ded0a4b08bf6412 Author: Takashi Iwai Date: Wed Jan 28 16:05:16 2009 +0100 ALSA: intel8x0 - Fix build with CONFIG_SND_AC97_POWERSAVE=n Signed-off-by: Takashi Iwai commit e3e9c5e7096f6379ca8fa78413b2055fa29f4530 Author: Thadeu Lima de Souza Cascardo Date: Wed Jan 28 12:40:42 2009 -0200 ALSA: Don't cold reset AC97 codecs in some ICH chipsets Check in a quirk list if it should do cold reset when AC97 power saving is enabled. Some devices do not resume properly when cold reset, although power saving works OK. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Takashi Iwai commit a5f7c47391ca15c3e2f8e2aa46fb089408541bcd Author: Takashi Iwai Date: Wed Jan 28 09:02:52 2009 +0100 ALSA: enable build of snd-msnd-* drivers Added the missing msnd directory to Makefile. Signed-off-by: Takashi Iwai commit c96330b083ce88b9fea428df99b4631f1b6410ef Author: Takashi Iwai Date: Wed Jan 28 08:23:03 2009 +0100 ALSA: Add description of new snd-msnd-* drivers Signed-off-by: Takashi Iwai commit 67fcdead3c7424d51e7108c220c9ab1a5e752ed3 Merge: 006f367e... b1a0aac... Author: Takashi Iwai Date: Wed Jan 28 08:08:32 2009 +0100 Merge branch 'topic/snd_card_new-err' into topic/asoc Conflicts: sound/soc/soc-core.c commit f6c6383502751ceb6f2f3579ad22578ca44f91f5 Author: Krzysztof Helt Date: Sat Jan 24 13:35:28 2009 +0100 ALSA: Turtle Beach Multisound Classic/Pinnacle driver This is driver for Turtle Beach Multisound cards: Classic, Fiji and Pinnacle. Tested pcm playback and recording and MIDI playback on Multisound Pinnacle. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 909372317e67bdbbfced5dab3ade3437e3f2b254 Author: David Woodhouse Date: Wed Jan 28 16:46:56 2009 +1100 solos: First attempt at DMA support Signed-off-by: David Woodhouse commit c0fe30265a1fe3a69e0ce0d08b49de1dda9c1190 Author: David Woodhouse Date: Wed Jan 28 14:34:34 2009 +1100 solos: Remove parameter group from sysfs on ATM dev deregister Signed-off-by: David Woodhouse commit 7019298a2a5058c4e324494d6c8d0598214c28f4 Author: David S. Miller Date: Tue Jan 27 16:34:47 2009 -0800 net: Get rid of by-hand TX queue hashing. We now only TX hash on pre-computed SKB properties. The thinking is: 1) High performance routing and firewalling setups will have a multiqueue capable card used for receive, and therefore would have RX queue recordings made into the SKB which can be used for the TX side hash. 2) Locally generated packets will have an attached socket and thus a valid sk->sk_hash to make use of. Signed-off-by: David S. Miller commit f7105d63940899ece79bda024f668e6c761cfebf Author: David S. Miller Date: Tue Jan 27 16:27:48 2009 -0800 net: If SKB has attached socket, use socket's hash for TX queue selection. Signed-off-by: David S. Miller commit 0c8dfc830aadd978e461dad66c33741b71c6a0be Author: David S. Miller Date: Tue Jan 27 16:22:32 2009 -0800 net: Add skb_record_rx_queue() calls to multiqueue capable drivers. Signed-off-by: David S. Miller commit d5a9e24afb4ab38110ebb777588ea0bd0eacbd0a Author: David S. Miller Date: Tue Jan 27 16:22:11 2009 -0800 net: Allow RX queue selection to seed TX queue hashing. The idea is that drivers which implement multiqueue RX pre-seed the SKB by recording the RX queue selected by the hardware. If such a seed is found on TX, we'll use that to select the outgoing TX queue. This helps get more consistent load balancing on router and firewall loads. Signed-off-by: David S. Miller commit 3456b22111be920e15e6999b15d2f402a48e775d Author: David Woodhouse Date: Wed Jan 28 10:39:23 2009 +1100 solos: Fix under-allocation of skb size for get/set parameters Signed-off-by: David Woodhouse commit af7806560c972b5b8c79e9704d7816813343cbc1 Author: David Woodhouse Date: Wed Jan 28 10:22:57 2009 +1100 solos: Add SNR and Attn to status packet, fix oops on load Signed-off-by: David Woodhouse commit 8f6d86dc4178957d9814b1784848012a927a3898 Author: Peter Zijlstra Date: Tue Jan 27 21:41:34 2009 +0100 x86: cpu_init(): remove ugly #ifdef construct around debug register clear Impact: Cleanup While I was looking through the new and improved bootstrap code - great work that, thanks! I found the below a slight improvement. Remove unnecessary ugly #ifdef construct around debug register clear. Signed-off-by: Peter Zijlstra Signed-off-by: H. Peter Anvin commit 042cbaf88ab48e11afb725541e3c2cbf5b483680 Author: Andreas Schwab Date: Tue Jan 27 21:45:57 2009 +0100 x86 setup: fix asm constraints in vesa_store_edid Impact: fix potential miscompile (currently believed non-manifest) As the comment explains, the VBE DDC call can clobber any register. Tell the compiler about that fact. Signed-off-by: Andreas Schwab Signed-off-by: H. Peter Anvin commit aaca4ff0917f62433f222f9fb0d04c1d61ad68cf Merge: ac12b4e... 5ee8100... Author: Felix Blyakher Date: Tue Jan 27 14:16:18 2009 -0600 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit ac12b4e25eedf855f277741d5ac0c3c88981a703 Author: Eric Sandeen Date: Sun Jan 25 20:53:00 2009 -0600 don't reallocate sxp variable passed into xfs_swapext fixes kernel.org bugzilla 12538, xfs_fsr fails on 2.6.29-rc kernels Regression caused by 743bb4650da9e2595d6cedd01c680b5b9398c74a This was an embarrasing mistake, reallocating the sxp pointer passed in from the main ioctl switch. Signed-off-by: Eric Sandeen Tested-by: Paul Martin Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 5e1065726e0350097d8fe18dc2fcf86516a0a1f2 Author: Felix Blyakher Date: Thu Jan 22 21:34:05 2009 -0600 [XFS] Warn on transaction in flight on read-only remount Till VFS can correctly support read-only remount without racing, use WARN_ON instead of BUG_ON on detecting transaction in flight after quiescing filesystem. Signed-off-by: Felix Blyakher Reviewed-by: Christoph Hellwig commit b5c816a4f177604ae708892bba074b1d534fcbee Author: Coly Li Date: Wed Jan 21 00:05:39 2009 +0800 jfs: return f_fsid for statfs(2) This patch makes jfs return f_fsid info for statfs(2). By Andreas' suggestion, this patch populates a persistent f_fsid between boots/mounts with help of on-disk uuid record. Signed-off-by: Coly Li Signed-off-by: Dave Kleikamp commit fb4467274de0c93e15c4a4fd3249d62454ba57dc Author: FUJITA Tomonori Date: Tue Jan 27 23:43:59 2009 +0900 IA64: fix compile error on IA64_DIG_VTD This moves iommu_detected to arch/ia64/kernel/dma-mapping.c from arch/ia64/kernel/pci-swiotlb.c to fix the following error on on IA64_DIG_VTD: arch/ia64/kernel/built-in.o: In function `pci_iommu_init': pci-dma.c:(.init.text+0xa021): undefined reference to `iommu_detected' pci-dma.c:(.init.text+0xa030): undefined reference to `iommu_detected' drivers/built-in.o: In function `detect_intel_iommu': (.init.text+0x11c0): undefined reference to `iommu_detected' drivers/built-in.o: In function `detect_intel_iommu': (.init.text+0x11e1): undefined reference to `iommu_detected' iommu_detected is used to handle IOMMUs so I guess that arch/ia64/kernel/dma-mapping.c is ok (there might be a better place for it though). Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 890252823766e562301e61340f3187a14033d045 Author: Cyrill Gorcunov Date: Mon Jan 26 18:28:02 2009 +0300 x86: ftrace - simplify wait_for_nmi Get rid of 'waited' stack variable. Signed-off-by: Cyrill Gorcunov Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4a66a82be78e1b6f9f83074423bf42a52251414c Merge: 32c0bd9... cc2f6d9... ba2607f... Author: Ingo Molnar Date: Tue Jan 27 14:30:57 2009 +0100 Merge branches 'tracing/blktrace', 'tracing/kmemtrace' and 'tracing/urgent' into tracing/core commit 32c0bd9624115041cfec31c0436995418083090a Author: Arnaldo Carvalho de Melo Date: Mon Jan 26 16:00:40 2009 -0200 blktrace: the ftrace interface needs CONFIG_TRACING Impact: build fix Also mention in the help text that blktrace now can be used using the ftrace interface. Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit bd0838fc48c174cd386447059a414318e78169e1 Author: Hiroshi Shimamoto Date: Mon Jan 26 18:08:47 2009 -0800 x86: intel_cacheinfo: fix compiler warning fix the following warning: CC arch/x86/kernel/cpu/intel_cacheinfo.o arch/x86/kernel/cpu/intel_cacheinfo.c:314: warning: 'cpuid4_cache_lookup' defined but not used Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 4369f1fb7cd4cf777312f43e1cb9aa5504fc4125 Merge: 3ddeb51... cf3997f... Author: Ingo Molnar Date: Tue Jan 27 12:03:24 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu Conflicts: arch/x86/kernel/setup_percpu.c Semantic conflict: arch/x86/kernel/cpu/common.c Signed-off-by: Ingo Molnar commit 3ddeb51d9c83931c1ca6abf76a38934c5a1ed918 Merge: 5a61126... 5ee8100... Author: Ingo Molnar Date: Tue Jan 27 12:01:51 2009 +0100 Merge branch 'linus' into core/percpu Conflicts: arch/x86/kernel/setup_percpu.c commit b28a4b9a38b9d75caceb4f554bfdbb7a413b2ad0 Author: David Woodhouse Date: Tue Jan 27 21:50:36 2009 +1100 solos: Reject non-AAL5 connections.... for now Signed-off-by: David Woodhouse commit 1e615df654ef00a6354f32be08a8fb6a395b2ef1 Author: David Woodhouse Date: Tue Jan 27 21:47:47 2009 +1100 solos: Kill existing connections on link down event Signed-off-by: David Woodhouse commit 006f367e38fb45e2f161c0f500c74449ae63e866 Author: Peter Ujfalusi Date: Tue Jan 27 11:29:43 2009 +0200 ASoC: TWL4030: Move the twl4030_power_up and _power_down function Move the twl4030_power_up and twl4030_power_down function earlier to facilitate the analog bypass implementation. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit fb2a2f84908460c18c3894963990518b224dd9ff Author: Peter Ujfalusi Date: Tue Jan 27 11:29:42 2009 +0200 ASoC: TWL4030: Physical ADC and amplifier power switch change Change the power switches for the physical ADC and for the amplifiers for the analog capture path to map more closely the actual path inside of the codec. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit aad749e51a66d473f5cef4a050e3e36795261be3 Author: Peter Ujfalusi Date: Tue Jan 27 11:29:41 2009 +0200 ASoC: TWL4030: Enable Headset Left anti-pop/bias ramp only if the Headset Left is in use The Headset Left anti-pop and bias ramp does not need to be enabled, if the headset is not in use. Move the code to DAPM event handler for HeadsetL. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit db04e2c58a65364218b89f1372b4b3b78d206423 Author: Peter Ujfalusi Date: Tue Jan 27 11:29:40 2009 +0200 ASoC: TWL4030: Code clean up for codec power up and down Merge the codec up and down functions to a simple one. Codec is powered down by default (reg_cache change). Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 3fc93030e5a792fdd0da3321487f5cbfd1143c2b Author: Peter Ujfalusi Date: Tue Jan 27 11:29:39 2009 +0200 ASoC: TWL4030: Syncronize the reg_cache for ANAMICL after the offset cancelation The offset cancelation bit in ANAMICL register is self cleanig. Make sure that the reg_cache holds the same value as the HW register. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit b9d710b3c530ed91e8683933fe94c7605d175bf5 Author: Andreas Bergmeier Date: Sat Jan 24 12:15:14 2009 +0100 ALSA: usbaudio - use printf format instead of hardcoding it Rather use printf format instead of hardcoding prefix like 0x. A next step would be to predefine certain formats. Signed-off-by: Andreas Bergmeier Signed-off-by: Takashi Iwai commit 6627a653bceb3a54e55e5cdc478ec5b8d5c9cc44 Author: Mark Brown Date: Fri Jan 23 22:55:23 2009 +0000 ASoC: Push the codec runtime storage into the card structure This is a further stage on the road to refactoring away the ASoC platform device. Signed-off-by: Mark Brown commit 87ebb18627930ce005beba227ca267b5b5372e06 Author: David Woodhouse Date: Tue Jan 27 20:02:30 2009 +1100 solos: Handle new line status change packets, hook up to ATM layer info Signed-off-by: David Woodhouse commit a73efd0a8552927ebe5dff84936f7fdac4f7e314 Author: Divy Le Ray Date: Mon Jan 26 22:22:19 2009 -0800 iw_cxgb3: handle chip reset notifications Freeze activity when notified that the underlying chip is getting reset on a EEH event or fatal error. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit cb0bc205959bf8c60acae9c71f3da0597e756f8e Author: Divy Le Ray Date: Mon Jan 26 22:21:59 2009 -0800 cxgb3: Notify fatal errors Set up a notification mechanism to inform upper layer modules (iWARP, iSCSI) of a chip reset due to an EEH event or a fatal error. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit d057f0a4efe441842adb2d263e50173b7e0e7e38 Author: David Woodhouse Date: Tue Jan 27 16:52:07 2009 +1100 solos: Add initial list of parameters I don't much like the trick with multiple inclusions of solos-attrlist.c but don't really see a saner way to do it without repeating the list. Signed-off-by: David Woodhouse commit ae5e6d05a606e05e054f816bd01e02f69d38d283 Author: Paul Mundt Date: Wed Jan 7 17:16:25 2009 +0900 sh: mach-highlander and mach-rsk require gpiolib. Fix up the build for mach-highlander and mach-rsk. These operated on the assumption that GENERIC_GPIO support with an optional GPIOLIB was possible. This used to be true, but has not been the case since commit-id d56cc8bc661ac1ceded8d45ba2d53bb134fee17d ("sh: use gpiolib"), where the GENERIC_GPIO implementation was rewritten to use GPIOLIB directly. Signed-off-by: Paul Mundt commit 57e97cb8bedd06e8a2e562454423d58aab5827ce Author: Paul Mundt Date: Tue Jan 6 12:47:12 2009 +0900 sh: Fix up GENERIC_GPIO build for ARCH_WANT_OPTIONAL_GPIO cases. CPUs define pinmux tables through the optional interface, while boards that require demux of their own require it explicitly. Roll the Makefile rules back to depend on GENERIC_GPIO, which covers both cases. Fixes a link error with an undefined reference to register_pinmux() on optional platforms. Signed-off-by: Paul Mundt commit 69edbba0021a48fe034849501513930f6175cb5d Author: Magnus Damm Date: Thu Dec 25 18:17:34 2008 +0900 sh: use gpiolib This patch updates the SuperH gpio code to make use of gpiolib. The gpiolib callbacks get() and set() are lockless, but we use our own spinlock for the other operations to make sure hardware register bitfield accesses stay atomic. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3292094e88ce6b76714dad8ec4b43d7c5c12ada2 Author: Magnus Damm Date: Thu Dec 25 18:17:26 2008 +0900 sh: lockless gpio_set_value() This patch optimizes the gpio data register handling for gpio_set_value(). Instead of using the good old spinlock-plus-read-modify-write strategy we now use a shadow register and atomic operations. This improves the bitbanging mmc performance on Migo-R from 26 Kbytes/s to 40 Kbytes/s. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0fc64cc0a27288e77ee8e12648d59632649371fc Author: Magnus Damm Date: Thu Dec 25 18:17:18 2008 +0900 sh: lockless gpio_get_value() This patch separates the register read and write functions to allow lockless gpio_get_value(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 18801be7f805b891876a6676ec7fac2e1acdec13 Author: Magnus Damm Date: Thu Dec 25 18:17:09 2008 +0900 sh: make gpio_get/set_value() O(1) This patch modifies the table based SuperH gpio implementation to make use of direct table lookups. With this change the functions gpio_get_value() and gpio_set_value() are O(1). Tested on Migo-R using bitbanging mmc. Performance is improved from 11 KBytes/s to 26 Kbytes/s. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1373c0fdbc5b477f5597a3ca9f2c782f15b56886 Author: Steve Glendinning Date: Mon Jan 26 21:33:16 2009 -0800 smsc911x: leave RX_STOP interrupt permanently enabled smsc911x_set_multicast_list currently performs the only non-atomic read-modify-write of INT_EN. This patch permanently enables the RXSTOP_INT interrupt, and changes the ISR to only conditionally run the multicast filter workaround code. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit a528079e01aa9cf6cddc852d5ab5cf4908974745 Author: Magnus Damm Date: Mon Jan 26 21:32:25 2009 -0800 smc91x: struct net_device_ops Convert the smc91x driver to use struct net_device_ops. Signed-off-by: Magnus Damm Signed-off-by: David S. Miller commit cf3997f507624757f149fcc42b76fb03c151fb65 Author: Tejun Heo Date: Tue Jan 27 14:25:05 2009 +0900 x86: clean up indentation in setup_per_cpu_areas() Impact: cosmetic cleanup Signed-off-by: Tejun Heo commit 22f25138c345ec46a13744c93c093ff822cd98d1 Author: James Bottomley Date: Tue Jan 27 14:21:37 2009 +0900 x86: fix build breakage on voyage Impact: build fix x86_cpu_to_apicid and x86_bios_cpu_apicid aren't defined for voyage. Earlier patch forgot to conditionalize early percpu clearing. Fix it. Signed-off-by: James Bottomley Signed-off-by: Tejun Heo commit 01e2ffac7dbc0700c972eb38619870034a0b3418 Author: David Woodhouse Date: Tue Jan 27 16:20:04 2009 +1100 solos: Handle attribute show/store in kernel more sanely There are still a _lot_ of attributes, but for at least the basic ones we want to be able to get/set them from the kernel. Especially the ones we want to inform the ATM core about (link state, speed). Signed-off-by: David Woodhouse commit db1d7bf70f42124f73675fca62fe32f3ab1111b4 Author: Kay Sievers Date: Mon Jan 26 21:12:58 2009 -0800 net: struct device - replace bus_id with dev_name(), dev_set_name() Signed-off-by: Kay Sievers Acked-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 3617aa485c7394e20fdaf356b1b78516fcaaa0d1 Author: Cyrill Gorcunov Date: Mon Jan 26 21:11:02 2009 -0800 net: pppoe - stop using proc internals Alexey Dobriyan pointed that using PDE_NET outside the proc code is plain bogus (thanks Alexey!). Fix it. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit cbec6605cf0fd5080f03eb787c95c1ecd660421f Author: Alexey Dobriyan Date: Mon Jan 26 21:10:08 2009 -0800 pppol2tp: stop using proc internals PDE_NET usage in driver code is a sign and, indeed, switching to seq_open_net/seq_release_net saves code and fixes bogus things, like user triggerabble BUG_ON(!net) after maybe_get_net, and NULLifying ->private. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9a3b7a42bb2919a6282a96a5f4abe0f9be36c4b3 Author: remi.denis-courmont@nokia Date: Fri Jan 23 03:00:30 2009 +0000 Phonet: use per-namespace devices list Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 6530e0fee1834fab51720769ac422186de2b3120 Author: remi.denis-courmont@nokia Date: Fri Jan 23 03:00:29 2009 +0000 Phonet: remove useless locking in device cleanup Incoming packets and sockets are already gone. The netdevice notifier is unregistered under the RTNL lock There remains a race with the rtnetlink handlers unregistration, but it is a generic RTNL issue that was already present before this change. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 660f706d931d4795d341805e083a8091af74fa88 Author: remi.denis-courmont@nokia Date: Fri Jan 23 03:00:28 2009 +0000 Phonet: handle rtnetlink registration failure Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 76e02cf6945e6faa9f6b546dc0513512197c5966 Author: remi.denis-courmont@nokia Date: Fri Jan 23 03:00:27 2009 +0000 Phonet: allow phonet_device_init() to fail, put it to __init section Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 4b8f704bea70a2c8719e47f53197678a87a0c62f Author: remi.denis-courmont@nokia Date: Fri Jan 23 03:00:26 2009 +0000 Phonet: check destination before delivering packets locally Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 5075138d67ac66adab777163907d92d1a955ff50 Author: remi.denis-courmont@nokia Date: Fri Jan 23 03:00:25 2009 +0000 Phonet: move to Networking options like other protocol stacks Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 1e336d0fc99f159ed636ffb9128bc84e09ccc279 Author: Don Skidmore Date: Mon Jan 26 20:57:51 2009 -0800 ixgbe: add support KX/KX4 device And support for the KX/KX4 mezzanine card. Device id 0x10B6. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5b9c3cdd55ba57a25ae586373aaff723d8150085 Author: Don Skidmore Date: Mon Jan 26 20:57:17 2009 -0800 ixgbe: fix slow load times on 82598 nics Load times for NICs that use i2c to communicate with the phy were taking ~4.5 sec per port. This fix first checks to see if the link is already up before calling get_link_capabilities, since if it is we don't need query the phy for link state. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit afcf12422ec8236dc8b9238fef7a475876eea8da Author: Timo Teras Date: Mon Jan 26 20:56:10 2009 -0800 gre: optimize hash lookup Instead of keeping candidate tunnel device from all categories, keep only one candidate with best score. This optimizes stack usage and speeds up exit code. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 2697fbd5faf19c84c17441b1752bdcbdcfd1248c Author: Brian Gerst Date: Tue Jan 27 12:56:48 2009 +0900 x86: load new GDT after setting up boot cpu per-cpu area Impact: sync 32 and 64-bit code Merge load_gs_base() into switch_to_new_gdt(). Load the GDT and per-cpu state for the boot cpu when its new area is set up. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 1825b8edc2034c012ae48f797d74efd1bd9d4f72 Author: Brian Gerst Date: Tue Jan 27 12:56:48 2009 +0900 x86: remove extra barriers from load_gs_base() Impact: optimization mb() generates an mfence instruction, which is not needed here. Only a compiler barrier is needed, and that is handled by the memory clobber in the wrmsrl function. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit b2d2f4312b117a6cc647c8521e2643a88771f757 Author: Brian Gerst Date: Tue Jan 27 12:56:48 2009 +0900 x86: initialize per-cpu GDT segment in per-cpu setup Impact: cleanup Rename init_gdt() to setup_percpu_segment(), and move it to setup_percpu.c. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 89c9c4c58ee86e6e8802597271f23679e0c46647 Author: Brian Gerst Date: Tue Jan 27 12:56:48 2009 +0900 x86: make Voyager use x86 per-cpu setup. Impact: standardize all x86 platforms on same setup code With the preceding changes, Voyager can use the same per-cpu setup code as all the other x86 platforms. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 34019be1cd2941128b5de6d7c0fbdb51f967d268 Author: Brian Gerst Date: Tue Jan 27 12:56:48 2009 +0900 x86: don't assume boot cpu is #0 Impact: minor cleanup Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 1688401a0fddba8991aa5c0943b8ae9583998d60 Author: Brian Gerst Date: Tue Jan 27 12:56:48 2009 +0900 x86: move this_cpu_offset Impact: Small cleanup Define BOOT_PERCPU_OFFSET and use it for this_cpu_offset and __per_cpu_offset initializers. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 996db817e3d1529d711e55b938d72ae4060b39fd Author: Brian Gerst Date: Tue Jan 27 12:56:47 2009 +0900 x86: only compile setup_percpu.o on SMP Impact: Minor build optimization Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit ec70de8b04bf37213982a5e8f303bc38679f3f8e Author: Brian Gerst Date: Tue Jan 27 12:56:47 2009 +0900 x86: move apic variables to apic.c Impact: Code movement Move the variable definitions to apic.c. Ifdef the copying of the two early per-cpu variables, since Voyager doesn't use them. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 74631a248dc2c2129a96f6b8b706ed54bb5c3d3c Author: Brian Gerst Date: Tue Jan 27 12:56:47 2009 +0900 x86: always page-align per-cpu area start and size Impact: cleanup The way the code is written, align is always PAGE_SIZE. Simplify the code by removing the align variable. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 2f2f52bad72f5e1ca5d1b9ad00a7b57a8cbd9159 Author: Brian Gerst Date: Tue Jan 27 12:56:47 2009 +0900 x86: move setup_cpu_local_masks() Impact: Code movement, no functional change. Move setup_cpu_local_masks() to kernel/cpu/common.c, where the masks are defined. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 6470aff619fbb9dff8dfe8afa5033084cd55ca20 Author: Brian Gerst Date: Tue Jan 27 12:56:47 2009 +0900 x86: move 64-bit NUMA code Impact: Code movement, no functional change. Move the 64-bit NUMA code from setup_percpu.c to numa_64.c Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 0d77e7f04d5da160307f4f5c030a171e004f602b Author: Brian Gerst Date: Tue Jan 27 12:56:47 2009 +0900 x86: merge setup_per_cpu_maps() into setup_per_cpu_areas() Impact: minor optimization Eliminates the need for two loops over possible cpus. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 316bea79369334d11f8a6e22317a928d94c50ae5 Author: David Woodhouse Date: Tue Jan 27 14:25:16 2009 +1100 solos: Kill global 'opens' count. Signed-off-by: David Woodhouse commit fa755b9f2b03df1e0fa6d01b8949bbc778705973 Author: David Woodhouse Date: Tue Jan 27 14:16:12 2009 +1100 solos: Clean up firmware loading code We no longer try to load firmware while the ATM is up and running. However, this means that we _do_ make init_module() wait for it, and it takes a long time for now (since we're using ultra-conservative code in the FPGA for that too). The inner loop which uses swahb32p() was by Simon Farnsworth. Simon has patches which migrate us to request_firmware_nowait(), for which we'll actually need to take down the ATM devices, do the upgrade, then reregister them. Signed-off-by: David Woodhouse commit 7c4015bdffed7c961b6df46c6326cc65962e6594 Author: Simon Farnsworth Date: Wed Jan 21 20:45:49 2009 +0000 solos: FPGA and firmware update support. This is just a straight pull in of changes, syncing us up to 0.07 from openadsl.sf.net Signed-off-by: Nathan Williams Signed-off-by: Simon Farnsworth Signed-off-by: David Woodhouse commit 4306cad6fe02e2946183ab29e510f94190b8fff3 Author: Simon Farnsworth Date: Mon Jan 19 21:19:29 2009 +0000 solos: Slight debugging improvements Print a message if pskb_expand_head fails. Make atmdebug writable by root, so that you can turn printing of data sent to and received from the card on and off at runtime - useful for tracking corruption. Signed-off-by: Simon Farnsworth Signed-off-by: David Woodhouse commit 3eacdf58c2c0b9507afedfc19108e98b992c31e4 Merge: dd0a251... 5376071... Author: David S. Miller Date: Mon Jan 26 17:43:16 2009 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit b76811af7606b36cb0703f04449c301b9634dcbc Author: David Woodhouse Date: Tue Jan 27 10:18:51 2009 +1100 solos: Fix length header in FPGA transfers The length field shouldn't ever include the size of the header itself. This fixes the problem that some people were seeing with 1500-byte packets. Signed-off-by: David Woodhouse commit 157f9c00e88529ed84bd7d581a40d411e5414cf0 Author: Arnaldo Carvalho de Melo Date: Mon Jan 26 15:00:56 2009 -0200 tracing/blktrace: fix up checkpatch reported problems in ftrace plugin patch Also make sure sparse (make C=2 block/blktrace.o) is happy too. Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 160389c8d21c8139a93191c2e5ca2273f311ed4e Author: Clemens Ladisch Date: Mon Jan 26 08:10:19 2009 +0100 sound: usb-audio: make URB sizes more equal Distribute the packets evenly among the URBs, instead of making all URBs except the last one to have the maximum size. This makes the timing of pointer updates more regular and removes some special cases from the code. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4d788e040b72d2a46ea3ba726b7fa0b65de06c88 Author: Clemens Ladisch Date: Mon Jan 26 08:09:28 2009 +0100 sound: usb-audio: limit playback queue length Once our URBs contain enough packets, queueing more URBs does not give us any additional underrun protection (as we use double-buffering) but just increases latency unnecessarily. Therefore, we try to limit the queue length to some reasonable value. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit b7eb4a06e9980973755b7e95a6d97fb8decbf8fd Author: Clemens Ladisch Date: Mon Jan 26 08:08:34 2009 +0100 sound: usb-audio: use normal number of frames for no-data URBs When sending a silence URB (before playback has started, or when it is paused), use the number of frames that would be normally sent instead of a single frame so that the rate at which completion interrupts arrive is consistent. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit ca8d33fc9fafe373362d35107f01fba1e73fb966 Author: Matthew Ranostay Date: Mon Jan 26 09:33:52 2009 -0500 ALSA: hda: 92hd71xxx disable unmute support for codecs that don't have input amps Some revisions of the 92hd71xxx codec families don't have input amps on ports 0xa, 0xd and 0xf, so probe the widget caps on port 0xa and check for support, if found run snd_hda_sequence_write_cache() on the stac92hd71xxx_unmute_core_init verb list. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 0ee2ad84d36760c8e36a6a6729998dc7a4eacf38 Author: Heiko Carstens Date: Mon Jan 26 06:45:10 2009 -0800 sysrq: include interrupt.h instead of irq.h Impact: fix compile error on s390. With "cpumask: update irq_desc to use cpumask_var_t" in linux-next we get this compile bug on s390: CC drivers/char/sysrq.o In file included from drivers/char/sysrq.c:38: include/linux/irq.h: In function 'init_alloc_desc_masks': include/linux/irq.h:442: error: dereferencing pointer to incomplete type Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 5a611268b69f05262936dd177205acbce4471358 Author: Brian Gerst Date: Mon Jan 26 08:44:05 2009 -0500 generic, x86: fix __per_cpu_load relocation This patch fixes this linker error: WARNING: Absolute relocations present Offset Info Type Sym.Value Sym.Name c0a4e07d 00e78001 R_386_32 c0ab0000 __per_cpu_load Now, __per_cpu_load is a section-relative symbol: c0aa4000 D __per_cpu_load c0aa4000 A __per_cpu_load_abs Signed-off-by: Brian Gerst Signed-off-by: Ingo Molnar commit c71a896154119f4ca9e89d6078f5f63ad60ef199 Author: Arnaldo Carvalho de Melo Date: Fri Jan 23 12:06:27 2009 -0200 blktrace: add ftrace plugin Impact: New way of using the blktrace infrastructure This drops the requirement of userspace utilities to use the blktrace facility. Configuration is done thru sysfs, adding a "trace" directory to the partition directory where blktrace can be enabled for the associated request_queue. The same filters present in the IOCTL interface are present as sysfs device attributes. The /sys/block/sdX/sdXN/trace/enable file allows tracing without any filters. The other files in this directory: pid, act_mask, start_lba and end_lba can be used with the same meaning as with the IOCTL interface. Using the sysfs interface will only setup the request_queue->blk_trace fields, tracing will only take place when the "blk" tracer is selected via the ftrace interface, as in the following example: To see the trace, one can use the /d/tracing/trace file or the /d/tracign/trace_pipe file, with semantics defined in the ftrace documentation in Documentation/ftrace.txt. [root@f10-1 ~]# cat /t/trace kjournald-305 [000] 3046.491224: 8,1 A WBS 6367 + 8 <- (8,1) 6304 kjournald-305 [000] 3046.491227: 8,1 Q R 6367 + 8 [kjournald] kjournald-305 [000] 3046.491236: 8,1 G RB 6367 + 8 [kjournald] kjournald-305 [000] 3046.491239: 8,1 P NS [kjournald] kjournald-305 [000] 3046.491242: 8,1 I RBS 6367 + 8 [kjournald] kjournald-305 [000] 3046.491251: 8,1 D WB 6367 + 8 [kjournald] kjournald-305 [000] 3046.491610: 8,1 U WS [kjournald] 1 -0 [000] 3046.511914: 8,1 C RS 6367 + 8 [6367] [root@f10-1 ~]# The default line context (prefix) format is the one described in the ftrace documentation, with the blktrace specific bits using its existing format, described in blkparse(8). If one wants to have the classic blktrace formatting, this is possible by using: [root@f10-1 ~]# echo blk_classic > /t/trace_options [root@f10-1 ~]# cat /t/trace 8,1 0 3046.491224 305 A WBS 6367 + 8 <- (8,1) 6304 8,1 0 3046.491227 305 Q R 6367 + 8 [kjournald] 8,1 0 3046.491236 305 G RB 6367 + 8 [kjournald] 8,1 0 3046.491239 305 P NS [kjournald] 8,1 0 3046.491242 305 I RBS 6367 + 8 [kjournald] 8,1 0 3046.491251 305 D WB 6367 + 8 [kjournald] 8,1 0 3046.491610 305 U WS [kjournald] 1 8,1 0 3046.511914 0 C RS 6367 + 8 [6367] [root@f10-1 ~]# Using the ftrace standard format allows more flexibility, such as the ability of asking for backtraces via trace_options: [root@f10-1 ~]# echo noblk_classic > /t/trace_options [root@f10-1 ~]# echo stacktrace > /t/trace_options [root@f10-1 ~]# cat /t/trace kjournald-305 [000] 3318.826779: 8,1 A WBS 6375 + 8 <- (8,1) 6312 kjournald-305 [000] 3318.826782: <= submit_bio <= submit_bh <= sync_dirty_buffer <= journal_commit_transaction <= kjournald <= kthread <= child_rip kjournald-305 [000] 3318.826836: 8,1 Q R 6375 + 8 [kjournald] kjournald-305 [000] 3318.826837: <= generic_make_request <= submit_bio <= submit_bh <= sync_dirty_buffer <= journal_commit_transaction <= kjournald <= kthread Please read the ftrace documentation to use aditional, standardized tracing filters such as /d/tracing/trace_cpumask, etc. See also /d/tracing/trace_mark to add comments in the trace stream, that is equivalent to the /d/block/sdaN/msg interface. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 9011262a37cb438f0fa9394b5e83840db8f9680a Author: Arnaldo Carvalho de Melo Date: Fri Jan 23 12:06:23 2009 -0200 ftrace: add ftrace_vprintk Impact: new helper function Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit d5e397cb49b53381e4c99a064ca733c665646de8 Author: Ingo Molnar Date: Mon Jan 26 06:09:00 2009 +0100 x86: improve early fault/irq printout Impact: add a stack dump to early IRQs/faults Signed-off-by: Ingo Molnar commit 34707bcd0452aba644396767bc9fb61585bdab4f Author: Ingo Molnar Date: Mon Jan 26 14:18:05 2009 +0100 x86, debug: remove early_printk() #ifdefs from head_32.S Impact: cleanup Remove such constructs: #ifdef CONFIG_EARLY_PRINTK call early_printk #else call printk #endif Not only are they ugly, they are also pointless: a call to printk() maps to early_printk during early bootup anyway, if CONFIG_EARLY_PRINTK is enabled. Signed-off-by: Ingo Molnar commit 2d4d57db692ea790e185656516e6ebe8791f1788 Author: Frederic Weisbecker Date: Sun Jan 25 12:50:13 2009 -0800 x86: micro-optimize __raw_read_trylock() The current version of __raw_read_trylock starts with decrementing the lock and read its new value as a separate operation after that. That makes 3 dereferences (read, write (after sub), read) whereas a single atomic_dec_return does only two pointers dereferences (read, write). Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit cc2f6d90e950b69ad31d483c19cc1d121bb25c16 Author: Randy Dunlap Date: Fri Jan 23 13:03:37 2009 -0800 kmemtrace: fix printk format warnings Fix kmemtrace printk warnings: kernel/trace/kmemtrace.c:142: warning: format '%4ld' expects type 'long int', but argument 3 has type 'size_t' kernel/trace/kmemtrace.c:147: warning: format '%4ld' expects type 'long int', but argument 3 has type 'size_t' Signed-off-by: Randy Dunlap Acked-by: Eduard - Gabriel Munteanu Signed-off-by: Ingo Molnar commit 5ce1b1ed27d4ab1d81b8543a96f488bba2071576 Merge: 7e49fcc... 9005f3e... Author: Ingo Molnar Date: Mon Jan 26 14:01:52 2009 +0100 Merge branches 'tracing/ftrace' and 'tracing/function-graph-tracer' into tracing/core commit dd0a251c8e087bca05e8f9a3657078591ae6e12b Author: David S. Miller Date: Sun Jan 25 21:17:25 2009 -0800 com0020: Add missing symbol export for com20020_netdev_ops. Thanks to Stephen Rothwell. Signed-off-by: David S. Miller commit 4811fcb79cee80c683237cfd15ca214e1d78c548 Author: Andy Richter Date: Tue Jan 20 06:14:33 2009 +0000 kmsg: convert claw printk messages claw printks are converted to dev_xxx and pr_xxx macros. Signed-off-by: Andy Richter Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 150a7fcc5ccf6ffe4a2280f5a447d104ec77912d Author: Steve Glendinning Date: Sun Jan 25 17:54:46 2009 -0800 smsc95xx: fix function prototype of async callback smsc95xx_async_cmd_callback doesn't currently match usb_complete_t, so there's a cast to force the square peg into the round hole. This patch fixes this properly. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 01a1ac472f3cd3e24a5f70597346773115ef4586 Author: Steve Glendinning Date: Sun Jan 25 17:53:58 2009 -0800 smsc95xx: remove unused completion struct Oliver Neukum spotted the useless complete() in our async callback. On closer inspection, the entire completion struct is unused. This patch removes it. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 6626bff24578753808c8b5bd4f1619e14e980f0f Author: Thomas Gleixner Date: Sun Jan 25 11:31:36 2009 +0100 hrtimer: prevent negative expiry value after clock_was_set() Impact: prevent false positive WARN_ON() in clockevents_program_event() clock_was_set() changes the base->offset of CLOCK_REALTIME and enforces the reprogramming of the clockevent device to expire timers which are based on CLOCK_REALTIME. If the clock change is large enough then the subtraction of the timer expiry value and base->offset can become negative which triggers the warning in clockevents_program_event(). Check the subtraction result and set a negative value to 0. Signed-off-by: Thomas Gleixner commit 5b74f9e0e005baf12a2df6aaeef7d7134137792b Merge: e3ee1e1... f3b8436... Author: Thomas Gleixner Date: Sun Jan 25 11:54:33 2009 +0100 Merge branch 'linus' into timers/hrtimers commit 0db155de988031f925096a7df1bf9633790a2c18 Author: David S. Miller Date: Fri Jan 23 22:28:48 2009 -0800 com20020: Fix allyesconfig build failure. Reported by Stephen Rothwell. Due to missing 'extern' in the com20020_netdev_ops declaration, each file that includes linux/com20020.h gets another copy defined in it's resulting object file. Signed-off-by: David S. Miller commit b38b0665905538e76e26f2a4c686179abb1f69f6 Author: H. Peter Anvin Date: Fri Jan 23 17:20:50 2009 -0800 x86: filter CPU features dependent on unavailable CPUID levels Impact: Fixes potential crashes on misconfigured systems. Some CPU features require specific CPUID levels to be available in order to function, as they contain information about the operation of a specific feature. However, some BIOSes and virtualization software provide the ability to mask CPUID levels in order to support legacy operating systems. We try to enable such CPUID levels when we know how to do it, but for the remaining cases, filter out such CPU features when there is no way for us to support them. Do this in one place, in the CPUID code, with a table-driven approach. Signed-off-by: H. Peter Anvin commit 75a048119e76540d73132cfc8e0fa0c0a8bb6c83 Author: H. Peter Anvin Date: Thu Jan 22 16:17:05 2009 -0800 x86: handle PAT more like other CPU features Impact: Cleanup When PAT was originally introduced, it was handled specially for a few reasons: - PAT bugs are hard to track down, so we wanted to maintain a whitelist of CPUs. - The i386 and x86-64 CPUID code was not yet unified. Both of these are now obsolete, so handle PAT like any other features, including ordinary feature blacklisting due to known bugs. Signed-off-by: H. Peter Anvin commit b1882e68d17a93b523dce09c3a181319aace2f0e Author: H. Peter Anvin Date: Fri Jan 23 17:18:52 2009 -0800 x86: clean up stray space in Impact: Whitespace cleanup only Clean up a stray space character in arch/x86/include/asm/processor.h. Signed-off-by: H. Peter Anvin commit 3b4b75700a245d0d48fc52a4d2f67d3155812aba Author: Hiroshi Shimamoto Date: Fri Jan 23 15:50:38 2009 -0800 x86: ia32_signal: use {get|put}_user_try and catch Impact: use new framework Use {get|put}_user_try, catch, and _ex in arch/x86/ia32/ia32_signal.c. Note: this patch contains "WARNING: line over 80 characters", because when introducing new block I insert an indent to avoid mistakes by edit. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 98e3d45edad207b4358948d6e2cac4e482c3bb5d Author: Hiroshi Shimamoto Date: Fri Jan 23 15:50:10 2009 -0800 x86: signal: use {get|put}_user_try and catch Impact: use new framework Use {get|put}_user_try, catch, and _ex in arch/x86/kernel/signal.c. Note: this patch contains "WARNING: line over 80 characters", because when introducing new block I insert an indent to avoid mistakes by edit. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit fe40c0af3cff3ea461cf25bddb979abc7279d4df Author: Hiroshi Shimamoto Date: Fri Jan 23 15:49:41 2009 -0800 x86: uaccess: introduce try and catch framework Impact: introduce new uaccess exception handling framework Introduce {get|put}_user_try and {get|put}_user_catch as new uaccess exception handling framework. {get|put}_user_try begins exception block and {get|put}_user_catch(err) ends the block and gets err if an exception occured in {get|put}_user_ex() in the block. The exception is stored thread_info->uaccess_err. The example usage of this framework is below; int func() { int err = 0; get_user_try { get_user_ex(...); get_user_ex(...); : } get_user_catch(err); return err; } Note: get_user_ex() is not clear the value when an exception occurs, it's different from the behavior of __get_user(), but I think it doesn't matter. Signed-off-by: Hiroshi Shimamoto Signed-off-by: H. Peter Anvin commit 0db4d0705260dd4bddf1e5a5441c58bdf08bdc9f Author: Timur Tabi Date: Fri Jan 23 16:31:19 2009 -0600 ASoC: improve I2C initialization code in CS4270 driver Further improvements in the I2C initialization sequence of the CS4270 driver. All ASoC initialization is now done in the I2C probe function. Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit 070504ade7a95a0f4395673717f3bb7d41793ca8 Author: Mark Brown Date: Fri Jan 23 15:34:54 2009 +0000 ASoC: Fix L3 bus handling in Kconfig It has no external dependencies but needs to be selected for L3 based codecs to work. Signed-off-by: Mark Brown commit 01e097d6c409a6eb64758dce9fcde0c70073fe36 Author: Mark Brown Date: Fri Jan 23 15:07:45 2009 +0000 ASoC: Include header file in cs4270 and wm9705 Ensures that the DAI and socdev exported by the codec match up with their exported prototype. Signed-off-by: Mark Brown commit 2d663963dd915c1a342a03c820b648bd5f06b6a7 Merge: ef963dc... 43d5080... Author: Mark Brown Date: Fri Jan 23 15:02:08 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit ef963dcf6879e500e6559b4327f6cbdc4439198e Author: Mark Brown Date: Fri Jan 23 14:53:58 2009 +0000 ASoC: Fix spurious codec driver dependencies Kbuild ignores dependency from things that are themselves selected so ASoC machine drivers need to ensure that the control bus is being built. This also avoids issues where multiple buses are supported by a given codec. Signed-off-by: Mark Brown commit 55aef4508598d59c2baea7e2a3e6dfed415bbfc0 Author: Markus Bollinger Date: Fri Jan 23 14:45:41 2009 +0100 ALSA: pcxhr - add support for gpio ports and minor bug fix - add support for gpio ports (2 GPI, 2 GPO) of pcxhr stereo cards - minor bugfixes : allow setting clock to internal by the mixer even if there is no stream (but monitoring) Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai commit 70040c07402ef5a3fad2133daffb7ee61b0d4641 Author: Takashi Iwai Date: Fri Jan 23 14:18:11 2009 +0100 ALSA: hda - Fix wrong initial verb for AD1984 thinkpad model The docking mic-boost (0x25) has no mute bit. Signed-off-by: Takashi Iwai commit 4cfb91c6d764b18e81bfb6e6779e07bcecbb197c Author: Takashi Iwai Date: Fri Jan 23 12:53:09 2009 +0100 ALSA: hda - Fix invalid amp init for ALC268 codec Fix some invalid AMP initializations for ALC268 codecs. Signed-off-by: Takashi Iwai commit a435869cacbb581920df23411416bed533748bf1 Author: Mark Brown Date: Fri Jan 23 11:49:45 2009 +0000 ASoC: Configure SSP port PLL for Zylonite Signed-off-by: Mark Brown commit f6fca2e93c9ad3c704f02aaabe4359a8af16fbbb Author: Mark Brown Date: Fri Jan 23 11:40:26 2009 +0000 ASoC: Remove unneeded e7x0 inclusion of pxa-regs.h and hardware.h pxa-regs.h and hardware.h are not intended for use directly in driver code and references to them have been removed in other code - remove them from the newly added e740 and e750 machine drivers. Signed-off-by: Mark Brown commit 60e388e89c9e258a51a0995ddd9e18fdebcdbe12 Author: Takashi Iwai Date: Fri Jan 23 12:37:09 2009 +0100 ALSA: hda - Fix invalid verbs for mic-boosts on AD1884* The mic-boosts (0x14 and 0x15) on AD1884* codecs are input-amps, not output-amps. Fix the invalid initialization verbs. Signed-off-by: Takashi Iwai commit 19a2d3e9b99ffa264adf1138bd8d8aef8909dca9 Author: Takashi Iwai Date: Fri Jan 23 12:35:25 2009 +0100 ALSA: hda - Remove invalid amp initializations for AD1988* codecs The ADC widgets on AD1988* codecs have no amp controls. Remove invalid initialization verbs. Signed-off-by: Takashi Iwai commit 6d6e17de4f64131e9c976fd524d73aaec268178f Author: Takashi Iwai Date: Fri Jan 23 12:33:54 2009 +0100 ALSA: hda - Fix initial verbs for mic-boosts on AD1981HD The mic boosts (NID 0x08 and 0x18) are input-amps, not output-amps. Fix the initial verbs for them. Signed-off-by: Takashi Iwai commit c91cf25ebfbf3a5b336cbaa46646d37dd3d33127 Author: Mark Brown Date: Fri Jan 23 11:23:32 2009 +0000 ASoC: Fix merge with PXA tree Fix a merge issue caused by context overlap. Reported-by: Stephen Rothwell Signed-off-by: Mark Brown commit ff637d38ea6b9c54f708a2b9edabc1b0c73c6d0a Author: Timur Tabi Date: Thu Jan 22 18:23:39 2009 -0600 ASoC: remove stand-alone mode support from CS4270 codec driver The CS4270 supports stand-alone mode, where the codec is not connect to the I2C or SPI buses. Instead, input voltages configure the codec at power-on. The CS4270 ASoC device driver has partial support for this mode, but the code was never tested, and partial support doesn't help anyone. It also made the rest of the code more complicated than necessary. [Removed redundant CS4270 dependency on I2C -- broonie] Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit b041cf22ddb742874040d0a3259d0be46f3d3a4b Author: Ian Campbell Date: Fri Jan 23 10:56:16 2009 +0000 x86: rename arch/x86/kernel/pci-swiotlb_64.c => pci-swiotlb.c The file is used for 32 and 64 bit since: commit cfb80c9eae8c7ed8f2ee81090062d15ead51cbe8 Author: Jeremy Fitzhardinge Date: Tue Dec 16 12:17:36 2008 -0800 x86: unify pci iommu setup and allow swiotlb to compile for 32 bit Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit e3c75964666a27cec46d2cccf2d9806336becd48 Author: Takashi Iwai Date: Fri Jan 23 11:57:22 2009 +0100 ALSA: hda - Create "Input Source" control dynamically for STAC/IDT Instead of fixed kcontrol_new element, build "Input Source" controls dynamically. If the number of input-source items is 0 or 1, we don't need to create such a control. Signed-off-by: Takashi Iwai commit 028b9445b4b10fa8da61ba7cf14ff72cc877ef41 Merge: 8056d47... 00a602d... Author: Takashi Iwai Date: Fri Jan 23 11:55:52 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 9005f3ebebfcfe9ccd731d16c468907a35ac1f9a Author: Frederic Weisbecker Date: Thu Jan 22 17:04:53 2009 -0800 tracing/function-graph-tracer: various fixes and features This patch brings various bugfixes: - Drop the first irrelevant task switch on the very beginning of a trace. - Drop the OVERHEAD word from the headers, the DURATION word is sufficient and will not overlap other columns. - Make the headers fit well their respective columns whatever the selected options. Ie, default options: # tracer: function_graph # # CPU DURATION FUNCTION CALLS # | | | | | | | 1) 0.646 us | } 1) | mem_cgroup_del_lru_list() { 1) 0.624 us | lookup_page_cgroup(); 1) 1.970 us | } echo funcgraph-proc > trace_options # tracer: function_graph # # CPU TASK/PID DURATION FUNCTION CALLS # | | | | | | | | | 0) bash-2937 | 0.895 us | } 0) bash-2937 | 0.888 us | __rcu_read_unlock(); 0) bash-2937 | 0.864 us | conv_uni_to_pc(); 0) bash-2937 | 1.015 us | __rcu_read_lock(); echo nofuncgraph-cpu > trace_options echo nofuncgraph-proc > trace_options # tracer: function_graph # # DURATION FUNCTION CALLS # | | | | | | 3.752 us | native_pud_val(); 0.616 us | native_pud_val(); 0.624 us | native_pmd_val(); About features, one can now disable the duration (this will hide the overhead too for convenient reasons and because on doesn't need overhead if it hasn't the duration): echo nofuncgraph-duration > trace_options # tracer: function_graph # # FUNCTION CALLS # | | | | cap_vm_enough_memory() { __vm_enough_memory() { vm_acct_memory(); } } } And at last, an option to print the absolute time: //Restart from default options echo funcgraph-abstime > trace_options # tracer: function_graph # # TIME CPU DURATION FUNCTION CALLS # | | | | | | | | 261.339774 | 1) + 42.823 us | } 261.339775 | 1) 1.045 us | _spin_lock_irq(); 261.339777 | 1) 0.940 us | _spin_lock_irqsave(); 261.339778 | 1) 0.752 us | _spin_unlock_irqrestore(); 261.339780 | 1) 0.857 us | _spin_unlock_irq(); 261.339782 | 1) | flush_to_ldisc() { 261.339783 | 1) | tty_ldisc_ref() { 261.339783 | 1) | tty_ldisc_try() { 261.339784 | 1) 1.075 us | _spin_lock_irqsave(); 261.339786 | 1) 0.842 us | _spin_unlock_irqrestore(); 261.339788 | 1) 4.211 us | } 261.339788 | 1) 5.662 us | } The format is seconds.usecs. I guess no one needs the nanosec precision here, the main goal is to have an overview about the general timings of events, and to see the place when the trace switches from one cpu to another. ie: 274.874760 | 1) 0.676 us | _spin_unlock(); 274.874762 | 1) 0.609 us | native_load_sp0(); 274.874763 | 1) 0.602 us | native_load_tls(); 274.878739 | 0) 0.722 us | } 274.878740 | 0) 0.714 us | native_pmd_val(); 274.878741 | 0) 0.730 us | native_pmd_val(); Here there is a 4000 usecs difference when we switch the cpu. Changes in V2: - Completely fix the first pointless task switch. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 7e49fcce1bdadd723ae6a0b3b324c4daced61563 Author: Steven Rostedt Date: Thu Jan 22 19:01:40 2009 -0500 trace, lockdep: manual preempt count adding for local_bh_disable Impact: fix to preempt trace triggering lockdep check_flag failure In local_bh_disable, the use of add_preempt_count causes the preempt tracer to start recording the time preemption is off. But because it already modified the preempt_count to show softirqs disabled, and before it called the lockdep code to handle this, it causes a state that lockdep can not handle. The preempt tracer will reset the ring buffer on start of a trace, and the ring buffer reset code does a spin_lock_irqsave. This calls into lockdep and lockdep will fail when it detects the invalid state of having softirqs disabled but the internal current->softirqs_enabled is still set. The fix is to manually add the SOFTIRQ_OFFSET to preempt count and call the preempt tracer code outside the lockdep critical area. Thanks to Peter Zijlstra for suggesting this solution. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit b06a830183b610c0a88c29a92feb7991a867ab46 Author: Steven Rostedt Date: Thu Jan 22 14:26:15 2009 -0500 trace: fix logic to start/stop counting The logic in the tracing_start/stop code prevents the WARN_ON from ever detecting if a start/stop pair was mismatched. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 94523e818f283d3c69f621406f633afff46dbf82 Author: Steven Rostedt Date: Thu Jan 22 11:18:06 2009 -0500 trace: remove internal irqsoff disabling for trace output Impact: cleanup of duplicate features The trace output disables the ring buffer and prevents tracing to occur. The code in irqsoff to do the same thing is no longer needed. This patch removes it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9b03638963e4b239dff1b424b91062a710d4b2e9 Merge: 03b30d1... 69507c0... Author: Ingo Molnar Date: Fri Jan 23 11:10:03 2009 +0100 Merge branch 'tracing/ftrace' into tracing/core commit 99d0000f710f3432182761f65f9658f1cf0bf455 Author: Ingo Molnar Date: Fri Jan 23 11:09:15 2009 +0100 x86, xen: fix hardirq.h merge fallout Impact: build fix This build error: arch/x86/xen/suspend.c:22: error: implicit declaration of function 'fix_to_virt' arch/x86/xen/suspend.c:22: error: 'FIX_PARAVIRT_BOOTMAP' undeclared (first use in this function) arch/x86/xen/suspend.c:22: error: (Each undeclared identifier is reported only once arch/x86/xen/suspend.c:22: error: for each function it appears in.) triggers because the hardirq.h unification removed an implicit fixmap.h include - on which arch/x86/xen/suspend.c depended. Add the fixmap.h include explicitly. Signed-off-by: Ingo Molnar commit 35d266a24796f02f63299cfe5009dfc0d5a0e820 Merge: 03b4863... 2de3a5f... Author: Ingo Molnar Date: Fri Jan 23 10:06:18 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu commit 8056d47e77a0f7e3c99c114deab4859d31496075 Author: Takashi Iwai Date: Fri Jan 23 09:09:43 2009 +0100 ALSA: hda - Add model=ref for Intel board with STAC9221 An intel board (8086:0204) works only with model=ref. Reference: Novell bug #406529 https://bugzilla.novell.com/show_bug.cgi?id=406529 Signed-off-by: Takashi Iwai commit 92af3e95e4896452ab33b1841c3e9a9d50658064 Author: Jesse Brandeburg Date: Mon Jan 19 14:17:08 2009 +0000 e1000e: drop lltx, remove unnecessary lock LLTX is deprecated and complicated, don't use it. It was observed by Don Ash that e1000e was acquiring this lock in the NAPI cleanup path. This is obviously a bug, as this is a leftover from when e1000 supported multiple tx queues and fake netdevs. another user reported this to us and tested routing with the 2.6.27 kernel and this patch and reported a 3.5 % improvement in packets forwarded in a multi-port test on 82571 parts. Signed-off-by: Jesse Brandeburg Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 577aa2c195045599275b54356969ae19f34e7a66 Author: Matthew Ranostay Date: Thu Jan 22 22:55:44 2009 -0500 ALSA: hda: add reference board SND_PCI_QUIRK Add another LanParty reference board SND_PCI_QUIRK to quirk lists of all codec families. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit fd8757aed16470e088ecdad96ffd30f86c34424d Author: Matthew Ranostay Date: Wed Jan 21 17:45:12 2009 -0500 Add PCI DFI vendor ID Add a define for DFI PCI vendor id. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 7907f6a411e005545d9047bd888215dbc60fc55e Merge: d9a4268... 32ed3f4... Author: Takashi Iwai Date: Fri Jan 23 08:07:51 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 2de3a5f7956eb81447feea3aec68193ddd8534bb Author: Brian Gerst Date: Fri Jan 23 11:03:32 2009 +0900 x86: make irq_cpustat_t fields conditional Impact: shrink size of irq_cpustat_t when possible Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 22da7b3df3a2e26a87a8581575dbf26e465a6ac7 Author: Brian Gerst Date: Fri Jan 23 11:03:31 2009 +0900 x86: merge hardirq_{32,64}.h into hardirq.h Impact: cleanup Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 658a9a2c34914e8114eea9c4d85d4ecd3ee33b98 Author: Brian Gerst Date: Fri Jan 23 11:03:31 2009 +0900 x86: sync hardirq_{32,64}.h Impact: better code generation and removal of unused field for 32bit In general, use the 64-bit version. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 3819cd489ec5d18a4cbd2f05acdc516473caa105 Author: Brian Gerst Date: Fri Jan 23 11:03:29 2009 +0900 x86: remove include of apic.h from hardirq_64.h Impact: cleanup APIC definitions aren't needed here. Remove the include and fix up the fallout. tj: added include to mce_intel_64.c. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 03d2989df9c1c7df5b33c7a87e0790465461836a Author: Brian Gerst Date: Fri Jan 23 11:03:28 2009 +0900 x86: remove idle_timestamp from 32bit irq_cpustat_t Impact: bogus irq_cpustat field removed idle_timestamp is left over from the removed irqbalance code. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 6522869c34664dd5f05a0a327e93915b1281c90d Author: Jeremy Fitzhardinge Date: Thu Jan 22 14:24:22 2009 -0800 x86: add pte_set_flags/clear_flags for pte flag manipulation It's not necessary to deconstruct and reconstruct a pte every time its flags are being updated. Introduce pte_set_flags and pte_clear_flags to set and clear flags in a pte. This allows the flag manipulation code to be inlined, and avoids calls via paravirt-ops. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ab897d2013128f470240a541b31cf5e636984e71 Author: Jeremy Fitzhardinge Date: Thu Jan 22 14:24:16 2009 -0800 x86/pvops: remove pte_flags pvop pte_flags() was introduced as a new pvop in order to extract just the flags portion of a pte, which is a potentially cheaper operation than extracting the page number as well. It turns out this operation is not needed, because simply using a mask to extract the flags from a pte is sufficient for all current users. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 5ef3041e4a7cd817bc5ebbb0e5e956a2bdd32c38 Author: Florian Fainelli Date: Thu Jan 22 14:06:25 2009 -0800 au1000: reorder functions This patch reorders functions so that we do longer need forward declarations. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 4feb88e5c694bfe414cbc3ce0e383f7f7038f90b Author: Benjamin Thery Date: Thu Jan 22 04:56:23 2009 +0000 netns: ipmr: enable namespace support in ipv4 multicast routing code This last patch makes the appropriate changes to use and propagate the network namespace where needed in IPv4 multicast routing code. This consists mainly in replacing all the remaining init_net occurences with current netns pointer retrieved from sockets, net devices or mfc_caches depending on the routines' contexts. Some routines receive a new 'struct net' parameter to propagate the current netns: * vif_add/vif_delete * ipmr_new_tunnel * mroute_clean_tables * ipmr_cache_find * ipmr_cache_report * ipmr_cache_unresolved * ipmr_mfc_add/ipmr_mfc_delete * ipmr_get_route * rt_fill_info (in route.c) Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit f6bb451476be53d456e73bcfd82356afd680bbb0 Author: Benjamin Thery Date: Thu Jan 22 04:56:22 2009 +0000 netns: ipmr: declare ipmr /proc/net entries per-namespace Declare IPv4 multicast forwarding /proc/net entries per-namespace: /proc/net/ip_mr_vif /proc/net/ip_mr_cache Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 6c5143dbcfe50ac722965dc7d096abbeeec8bb33 Author: Benjamin Thery Date: Thu Jan 22 04:56:21 2009 +0000 netns: ipmr: declare reg_vif_num per-namespace Preliminary work to make IPv4 multicast routing netns-aware. Declare variable 'reg_vif_num' per-namespace, move into struct netns_ipv4. At the moment, this variable is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 6f9374a9342e896c68df7cf7c0b039ab5cca994c Author: Benjamin Thery Date: Thu Jan 22 04:56:20 2009 +0000 netns: ipmr: declare mroute_do_assert and mroute_do_pim per-namespace Preliminary work to make IPv4 multicast routing netns-aware. Declare IPv multicast routing variables 'mroute_do_assert' and 'mroute_do_pim' per-namespace in struct netns_ipv4. At the moment, these variables are only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 1e8fb3b6a4ac6c5e486298d88289038456957545 Author: Benjamin Thery Date: Thu Jan 22 04:56:19 2009 +0000 netns: ipmr: declare counter cache_resolve_queue_len per-namespace Preliminary work to make IPv4 multicast routing netns-aware. Declare variable cache_resolve_queue_len per-namespace: move it into struct netns_ipv4. This variable counts the number of unresolved cache entries queued in the list mfc_unres_queue. This list is kept global to all netns as the number of entries per namespace is limited to 10 (hardcoded in routine ipmr_cache_unresolved). Entries belonging to different namespaces in mfc_unres_queue will be identified by matching the mfc_net member introduced previously in struct mfc_cache. Keeping this list global to all netns, also allows us to keep a single timer (ipmr_expire_timer) to handle their expiration. In some places cache_resolve_queue_len value was tested for arming or deleting the timer. These tests were equivalent to testing mfc_unres_queue value instead and are replaced in this patch. At the moment, cache_resolve_queue_len is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 2bb8b26c3ea8bde1943dc5cd4dda2dc9f48fb281 Author: Benjamin Thery Date: Thu Jan 22 04:56:18 2009 +0000 netns: ipmr: dynamically allocate mfc_cache_array Preliminary work to make IPv4 multicast routing netns-aware. Dynamically allocate IPv4 multicast forwarding cache, mfc_cache_array, and move it to struct netns_ipv4. At the moment, mfc_cache_array is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 5c0a66f5f3c9c59e2c341400048e2cff768e67a9 Author: Benjamin Thery Date: Thu Jan 22 04:56:17 2009 +0000 netns: ipmr: store netns in struct mfc_cache This patch stores into struct mfc_cache the network namespace each mfc_cache belongs to. The new member is mfc_net. mfc_net is assigned at cache allocation and doesn't change during the rest of the cache entry life. A new net parameter is added to ipmr_cache_alloc/ipmr_cache_alloc_unres. This will help to retrieve the current netns around the IPv4 multicast routing code. At the moment, all mfc_cache are allocated in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit cf958ae377ee2545ae70cf48d38e7eb4308c27ea Author: Benjamin Thery Date: Thu Jan 22 04:56:16 2009 +0000 netns: ipmr: dynamically allocate vif_table Preliminary work to make IPv6 multicast routing netns-aware. Dynamically allocate interface table vif_table and move it to struct netns_ipv4, and update MIF_EXISTS() macro. At the moment, vif_table is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 70a269e6c9c9b38b1a37dce068c59e9a912f8578 Author: Benjamin Thery Date: Thu Jan 22 04:56:15 2009 +0000 netns: ipmr: allocate mroute_socket per-namespace. Preliminary work to make IPv4 multicast routing netns-aware. Make IPv4 multicast routing mroute_socket per-namespace, moves it into struct netns_ipv4. At the moment, mroute_socket is only referenced in init_net. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit e35fac80ed0bb878f652cc0f70ca268656d275f7 Author: Cyrill Gorcunov Date: Thu Jan 22 13:52:26 2009 -0800 net: pppoe - get rid of DECLARE_MAC_BUF While was playing with PPP namespaces I occasionally brought back DECLARE_MAC_BUF which is not needed (we have %pM here). Fix it. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 4fe1d58bf56f69de68868630d222322a6b45bb55 Author: Joe Perches Date: Thu Jan 22 13:49:44 2009 -0800 sctp/ipv6.c: use ipv6_addr_copy Signed-off-by: Joe Perches Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit d9a4268ee92ba1a2355c892a3add1fa66856b510 Author: Takashi Iwai Date: Thu Jan 22 17:40:18 2009 +0100 ALSA: hda - Add quirk for Gateway %1616 laptop Gateway T1616 laptop needs EAPD always on while the current STAC9205 code turns off per HP plug. Added a new model "eapd" to keep it on. Reference: Novell bnc#467597 https://bugzilla.novell.com/show_bug.cgi?id=467597 Signed-off-by: Takashi Iwai commit eda6829394cd1755c145583bd506ac244201a2c4 Merge: 8ce8419... e0c0e94... Author: Takashi Iwai Date: Thu Jan 22 17:10:22 2009 +0100 Merge branch 'fix/hda' into topic/hda commit 8ce8419829998c91b33200894a0db5e1441d6952 Author: Takashi Iwai Date: Thu Jan 22 16:59:20 2009 +0100 ALSA: hda - Avoid to set the pin control again if already set Check the present pin control bit and avoid the write if it's already set in patch_sigmatel.c. This will reduce the number of verb execs at jack plugging. Signed-off-by: Takashi Iwai commit 4c50d9ea9ca9e46b65aeffed3e0d6f54ff38c8d4 Author: Robert Richter Date: Thu Jan 22 14:14:14 2009 +0100 cpumask: modifiy oprofile initialization Delta patch to f7df8ed164996cd2c6aca9674388be6ef78d8b37 for tip/cpus4096. Moved initialization to sync_start()/sync_stop(). No changes needed in buffer_sync.h and oprof.c anymore. Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit d639bab8da86d330493487e8c0fea8ca31f53427 Author: venkatesh.pallipadi@intel.com Date: Fri Jan 9 16:13:13 2009 -0800 x86 PAT: ioremap_wc should take resource_size_t parameter Impact: fix/extend ioremap_wc() beyond 4GB aperture on 32-bit ioremap_wc() was taking in unsigned long parameter, where as it should take 64-bit resource_size_t parameter like other ioremap variants. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 69507c06539332e6e49f83aa478844130233bece Author: Steven Rostedt Date: Wed Jan 21 18:45:57 2009 -0500 ring-buffer: reset timestamps when ring buffer is reset Impact: fix bad times of recent resets The ring buffer needs to reset its timestamps when reseting of the buffer, otherwise the timestamps are stale and might be used to calculate times in the buffer causing funny timestamps to appear. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f8ec1062f589cdb1cffcffab1376124a1bc08500 Author: Steven Rostedt Date: Wed Jan 21 17:17:04 2009 -0500 wakeup-tracer: show scheduling data in output Impact: better data for wakeup tracer This patch adds the wakeup and schedule calls that are used by the scheduler tracer to make the wakeup tracer more readable. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3244351c31211a8b1ba8b4b34c3de04d5dfa03e4 Author: Steven Rostedt Date: Wed Jan 21 16:24:46 2009 -0500 trace: separate out rt tasks from wakeup tracer Impact: add option to trace all tasks or just RT tasks The current wakeup tracer only traces RT task wakeups. This is fine for those interested in wake up timings of RT tasks, but it is useless for those that are interested in the causes of long wakeups for non RT tasks. This patch creates a "wakeup_rt" to implement the tracing of just RT tasks (as the current "wakeup" does). And makes "wakeup" now trace all tasks as an average developer would expect. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 97b17efe4537e11bf6669106cfe4ee2c5331b267 Author: Steven Rostedt Date: Wed Jan 21 15:24:56 2009 -0500 ring-buffer: do not swap if recording is disabled If the ring buffer recording has been disabled. Do not let swapping of ring buffers occur. Simply return -EAGAIN. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5bc4564b224c3d9fe6dddafa25f56059bd978231 Author: Steven Rostedt Date: Wed Jan 21 14:36:52 2009 -0500 trace: do not disable wake up tracer on output of trace Impact: fix to erased trace output To try not to have the outputing of a trace interfere with the wakeup tracer, it would disable tracing while the output was printing. But if a trace had started when it was disabled, it can show a partial trace. To try to solve this, on closing of the tracer, it would clear the trace buffer. The latency tracers (wakeup and irqsoff) have two buffers. One for recording and one for holding the max trace that is printed. The clearing of the trace above should only affect the recording buffer. But for some reason it would move the erased trace to the print buffer. Probably due to a race with the closing of the trace and the saving ofhe max race. The above is all pretty useless, and if the user does not want the printing of the trace to be traced itself, then the user can manual disable tracing. This patch removes all the code that tries to keep the output of the tracer from modifying the trace. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 03b30d151a918364c1c7d08bcb3e167be0a3746f Merge: b43f709... 3690b5e... Author: Ingo Molnar Date: Thu Jan 22 10:26:30 2009 +0100 Merge branch 'tracing/ftrace' into tracing/core commit d52a61c04c6c0814ca270a088feedb126436598e Author: Yinghai Lu Date: Thu Jan 22 00:38:56 2009 -0800 irq: clean up irq stat methods David Miller suggested, related to a kstat_irqs related build breakage: > Either linux/kernel_stat.h provides the kstat_incr_irqs_this_cpu > interface or linux/irq.h does, not both. So move them to kernel_stat.h. Signed-off-by: Ingo Molnar commit e81838d2555e77c893f720c25bfb0c0e5782ef57 Author: David Miller Date: Wed Jan 21 17:15:53 2009 -0800 sparc64: Fix build by using kstat_irqs_cpu() Changeset d7e51e66899f95dabc89b4d4c6674a6e50fa37fc ("sparseirq: make some func to be used with genirq") broke the build on sparc64: arch/sparc/kernel/irq_64.c: In function ‘show_interrupts’: arch/sparc/kernel/irq_64.c:188: error: ‘struct kernel_stat’ has no member named ‘irqs’ make[1]: *** [arch/sparc/kernel/irq_64.o] Error 1 Fix by using the kstat_irqs_cpu() interface. Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar commit 623d3f0c619f3576dae69709ca8aa93ac76d8c63 Author: David Miller Date: Wed Jan 21 17:24:51 2009 -0800 sparc64: Fix build by including linux/irq.h into time_64.c Changeset d7e51e66899f95dabc89b4d4c6674a6e50fa37fc ("sparseirq: make some func to be used with genirq") broke the build on sparc64: arch/sparc/kernel/time_64.c: In function ‘timer_interrupt’: arch/sparc/kernel/time_64.c:732: error: implicit declaration of function ‘kstat_incr_irqs_this_cpu’ make[1]: *** [arch/sparc/kernel/time_64.o] Error 1 Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar commit 1eaf5c0716d53d3f64da62a09682b1f5ae912ac2 Merge: 0898993... 7c7767e... Author: Takashi Iwai Date: Thu Jan 22 08:33:04 2009 +0100 Merge branch 'test/hda-vol-ofs' into next/hda commit 957274d7ce39eb9dab3666fc5c9f634c4d9fbf9d Merge: 33ad965... 5253a11... Author: Felix Blyakher Date: Wed Jan 21 22:39:29 2009 -0600 Merge branch 'master' of git+ssh://oss.sgi.com/oss/git/xfs/xfs commit 5253a11a8187b6329dda41219d9eece971c06e19 Author: Eric Sandeen Date: Thu Jan 1 16:50:27 2009 -0600 [XFS] remove always-true #ifndef HAVE_FORMAT32 tests There are several tests for #ifndef HAVE_FORMAT32, but this is never defined anywhere so it is always the default behavior; just remove the ifndef goop. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 33ad965dde197a016083438359c3163e1aca9ada Author: Dave Chinner Date: Wed Jan 21 15:22:17 2009 +1100 Long btree pointers are still 64 bit on disk [XFS] Long btree pointers are still 64 bit on disk On 32 bit machines with CONFIG_LBD=n, XFS reduces the in memory size of xfs_fsblock_t to 32 bits so that it will fit within 32 bit addressing. However, the disk format for long btree pointers are still 64 bits in size. The recent btree rewrite failed to take this into account when initialising new btree blocks, setting sibling pointers to NULL and checking if they are NULL. Hence checking whether a 64 bit NULL was the same as a 32 bit NULL was failingi resulting in NULL sibling pointers failing to be detected correctly. This showed up as WANT_CORRUPTED_GOTO shutdowns in xfs_btree_delrec. Fix this by making all the comparisons and setting of long pointer btree NULL blocks to the disk format, not the in memory format. i.e. use NULLDFSBNO. Reported-by: Alexander Beregalov Reported-by: Jacek Luczak Reported-by: Danny ter Haar Tested-by: Jacek Luczak Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner Signed-off-by: Felix Blyakher commit f019a7a594d951f085eb3878c3d825556d447efe Author: Eric W. Biederman Date: Wed Jan 21 16:02:16 2009 -0800 tun: Implement ip link del tunXXX This greatly simplifies testing to verify I have fixed the problems with a tun device disappearing when the tun file descriptor is still held open. Further it allows removal network namespace operations for the tun driver. Reducing the network namespace handling in the driver to the minimum. i.e. When we are creating a tun device. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit aec191aa2a04b082238156dc9690fff8ce95dd6b Author: Eric W. Biederman Date: Tue Jan 20 11:08:46 2009 +0000 tun: There is no longer any need to deny changing network namespaces With the awkward case between free_netdev and dev_chr_close fixed there is no longer any need to limit tun and tap devices to the network namespace they were created in. So remove the NETIF_F_NETNS_LOCAL flag on the network device. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit c70f182940f988448f3c12a209d18b1edc276e33 Author: Eric W. Biederman Date: Tue Jan 20 11:07:17 2009 +0000 tun: Fix races between tun_net_close and free_netdev. The tun code does not cope gracefully if the network device goes away before the tun file descriptor is closed. It looks like we can trigger this with rmmod, and moving tun devices between network namespaces will allow this to be triggered when network namespaces exit. To fix this I introduce an intermediate data structure tun_file which holds a count of users and a pointer to the struct tun_struct. tun_get increments that reference count if it is greater than 0. tun_put decrements that reference count and detaches from the network device if the count is 0. While we have a file attached to the network device I hold a reference to the network device keeping it from going away completely. When a network device is unregistered I decrement the count of the attached tun_file and if that was the last user I detach the tun_file, and all processes on read_wait are woken up to ensure they do not sleep indefinitely. As some of those sleeps happen with the count on the tun device elevated waking up the read waiters ensures that tun_file will be detached in a timely manner. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b2430de37ef0bc0799ffba7b5219d38ca417eb76 Author: Eric W. Biederman Date: Tue Jan 20 11:03:21 2009 +0000 tun: Move read_wait into tun_file The poll interface requires that the waitqueue exist while the struct file is open. In the rare case when a tun device disappears before the tun file closes we fail to provide this property, so move read_wait. This is safe now that tun_net_xmit is atomic with tun_detach. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 38231b7a8d1b74c920822640d1ce8eb8046377fb Author: Eric W. Biederman Date: Tue Jan 20 11:02:28 2009 +0000 tun: Make tun_net_xmit atomic wrt tun_attach && tun_detach Currently this small race allows for a packet to be received when we detach from an tun device and still be enqueued. Not especially important but not what the code is trying to do. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 36b50bab53207daf34be63ca62fb8b0b08dc6e6b Author: Eric W. Biederman Date: Tue Jan 20 11:01:48 2009 +0000 tun: Grab the netns in open. Grabbing namespaces in open, and putting them in close always seems to be the cleanest approach with the fewest surprises. So now that we have tun_file so we have somepleace to put the network namespace, let's grab the network namespace on file open and put on file close. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 631ab46b79559d6fed784fd7883c0cda4d8cfcfa Author: Eric W. Biederman Date: Tue Jan 20 11:00:40 2009 +0000 tun: Introduce tun_file Currently the tun code suffers from only having a single word of data that exists for the entire life of the tun file descriptor. This results in peculiar holding of references to the network namespace as well as races between free_netdevice and tun_chr_close. Fix this by introducing tun_file which will hold the per file state. For the moment it still holds just a single word so the differences are all logic changes with no changes in semantics. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit eac9e902658dab1e097b8ef064e9e3d16c152cc9 Author: Eric W. Biederman Date: Tue Jan 20 10:59:05 2009 +0000 tun: Use POLLERR not EBADF in tun_chr_poll EBADF is meaningless in the context of a poll mask so use POLLERR instead. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit a7385ba21102a90f902055f9f185ca02bf62fa43 Author: Eric W. Biederman Date: Tue Jan 20 10:57:48 2009 +0000 tun: Fix races in tun_set_iff It is possible for two different tasks with access to the same file descriptor to call tun_set_iff on it at the same time and race to attach to a tap device. Prevent this by placing all of the logic to attach to a file descriptor in one function and testing the file descriptor to be certain it is not already attached to another tun device. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 74a3e5a71c9b54c63bff978e9cafbcef67600f0b Author: Eric W. Biederman Date: Tue Jan 20 10:56:20 2009 +0000 tun: Remove unnecessary tun_get_by_name Currently the tun driver keeps a private list of tun devices for what appears to be a small gain in performance when reconnecting a file descriptor to an existing tun or tap device. So simplify the code by removing it. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit f5882c30508c1e3c4fbbdaa9ca08d0922c5fb071 Author: Cyrill Gorcunov Date: Wed Jan 21 15:55:40 2009 -0800 net: pppoe,pppol2tp - register channels with explicit net In PPPo[E|L2TP] we could explicitly point which net namespace we're going to use for channels - make it so. Signed-off-by: Cyrill Gorcunov Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 273ec51dd7ceaa76e038875d85061ec856d8905e Author: Cyrill Gorcunov Date: Wed Jan 21 15:55:35 2009 -0800 net: ppp_generic - introduce net-namespace functionality v2 - Each namespace contains ppp channels and units separately with appropriate locks Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 4e9fb8016a351b5b9da7fea32bcfdbc9d836e421 Author: Cyrill Gorcunov Date: Wed Jan 21 15:55:15 2009 -0800 net: pppol2tp - introduce net-namespace functionality - Each tunnel and appropriate lock are inside own namespace now. - pppox code allows to create per-namespace sockets for both PX_PROTO_OE and PX_PROTO_OL2TP protocols. Actually since now pppox_create support net-namespaces new PPPo... protocols (if they ever will be) should support net-namespace too otherwise explicit check for &init_net would be needed. Signed-off-by: Cyrill Gorcunov Signed-off-by: James Chapman Signed-off-by: David S. Miller commit a6bcf1c1d38e0672db35e0d9f2504ac04ddf3ed5 Author: Cyrill Gorcunov Date: Wed Jan 21 15:54:54 2009 -0800 net: pppoe - introduce net-namespace functionality - each net-namespace for pppoe module is having own hash table and appropriate locks wich are allocated at time of namespace intialization. It requires about 140 bytes of memory for every new namespace but such approach allow us to escape from hash chains growing and additional lock contends (especially in SMP environment). - pppox code allows to create per-namespace sockets for PX_PROTO_OE protocol only (since at this moment support for pppol2tp net-namespace is not implemented yet). Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 6aba915881918a429d656e874f7fec2efd37ad96 Author: Cyrill Gorcunov Date: Wed Jan 21 15:54:15 2009 -0800 net: pppoe - code cleanup and helpers - Introduce PPPOE_HASH_MASK. - Remove redundant declaration of pppoe_chan_ops. - Introduce stage_session helper. - Tabs, space, long-line-split cleanup. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit e2878806227d223467f84f900ef4c6733ee166df Author: Thomas Klein Date: Wed Jan 21 14:45:57 2009 -0800 ehea: Improve driver behaviour in low mem conditions Reworked receive queue fill policies to make the driver more tolerant in low memory conditions. Signed-off-by: Thomas Klein Signed-off-by: David S. Miller commit 3faf2693bd6800c2521799f6a9ae174d9f080ed2 Author: Thomas Klein Date: Wed Jan 21 14:45:33 2009 -0800 ehea: Fix mem allocations which require page alignment PAGE_SIZE allocations via slab are not guaranteed to be page-aligned. Fixed all memory allocations where page alignment is required by firmware. Signed-off-by: Thomas Klein Signed-off-by: David S. Miller commit 086c1b2c52f03d128d1a6db47f8736c56e915043 Author: Thomas Klein Date: Wed Jan 21 14:43:59 2009 -0800 ehea: Use net_device_ops structure Adapt to lately introduced net_device_ops structure. Signed-off-by: Thomas Klein Signed-off-by: David S. Miller commit 8017943e6b177f117e4be71f09a38e2c9fd56193 Author: Alexander Duyck Date: Wed Jan 21 14:42:47 2009 -0800 e1000: drop lltx, remove unnecessary lock LLTX is deprecated, don't use it. This completes the removal of LLTX from the Intel Network drivers. Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 921aa7491201b238589ab9f94184b18a1ed00e12 Author: Alexander Duyck Date: Wed Jan 21 14:42:28 2009 -0800 igb: make certain to power on optics for 82576 fiber nics It appears that a step was missed in the initialization of 82576 fiber nics that resulted in it not powering on the optics. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5851765cca21e973a7f4850fbaf1ef55e0cb1965 Author: Alexander Duyck Date: Wed Jan 21 14:42:07 2009 -0800 igb: igb should not flag lltx Igb has flags enabling lltx but this is a holdover from the earlier e1000 driver which the igb driver was based off of. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 52d07b1f5039f51101a589856d9058e9cc8ce5dc Author: Harvey Harrison Date: Mon Jan 19 17:27:06 2009 -0800 bnx2: annotate bp->phy_lock functions It looks like the locking is OK as the locks were being taken before the various phy setup functions, add the annotations as they release and reacquire the phy_lock. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 7be2df451fa916f93e37763a58d33483feb0909f Author: Herbert Xu Date: Wed Jan 21 14:39:13 2009 -0800 cxgb3: Replace LRO with GRO This patch makes cxgb3 invoke the GRO hooks instead of LRO. As GRO has a compatible external interface to LRO this is a very straightforward replacement. I've kept the ioctl controls for per-queue LRO switches. However, we should not encourage anyone to use these. Because of that, I've also kept the skb construction code in cxgb3. Hopefully we can phase out those per-queue switches and then kill this too. Signed-off-by: Herbert Xu Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 749c10f931923451a4c59b4435d182aa9ae27a4f Author: Timo Teras Date: Mon Jan 19 17:22:12 2009 -0800 gre: strict physical device binding Check the device on receive path and allow otherwise identical devices as long as the physical device differs. This is useful for NBMA tunnels, where you want to use different gre IP for each public IP available via different physical devices. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 57a574993d94671b495cdbe8aeb78b745abfe14f Author: Roel Kluin Date: Mon Jan 19 17:14:21 2009 -0800 phylib: unsigneds go unnoticed both pdata->mdc and pdata->mdio are unsigned. Notice a negative return value. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 9f4d26d0f3016cf8813977d624751b94465fa317 Author: Mark McLoughlin Date: Mon Jan 19 17:09:49 2009 -0800 virtio_net: add link status handling Allow the host to inform us that the link is down by adding a VIRTIO_NET_F_STATUS which indicates that device status is available in virtio_net config. This is currently useful for simulating link down conditions (e.g. using proposed qemu 'set_link' monitor command) but would also be needed if we were to support device assignment via virtio. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell (added future masking) Signed-off-by: David S. Miller commit 357fe2c6d2b12482abd1c3f24a086a2f507f03fc Author: Vernon Sauder Date: Fri Jan 16 13:23:19 2009 +0000 smc91x: enable ethtool EEPROM interface Signed-off-by: Vernon Sauder Acked-by: Nicolas Pitre Signed-off-by: David S. Miller commit 31e2b7bd21035cb3d7cd567dfdf4f82817c4f6fb Author: Masakazu Mokuno Date: Thu Jan 15 22:52:55 2009 +0000 PS3: gelic: wireless: convert the wireless part to net_device_ops Convert the gelic wireless driver to net_device_ops Signed-off-by: Masakazu Mokuno Signed-off-by: David S. Miller commit 5384e8361a9bb7fca054b47c1dde7ac0e929407f Author: Masakazu Mokuno Date: Thu Jan 15 22:47:29 2009 +0000 PS3: gelic: convert the ethernet part to net_device_ops Convert the gelic driver to net_device_ops Signed-off-by: Masakazu Mokuno Signed-off-by: David S. Miller commit 3d16543d3235fefca351c10b30c1cca6536f2569 Author: Francois Romieu Date: Mon Jan 19 16:56:50 2009 -0800 tg3: remove extra casting Signed-off-by: Francois Romieu Signed-off-by: David S. Miller commit a9d8f9110d7e953c2f2b521087a4179677843c2a Author: Evgeniy Polyakov Date: Mon Jan 19 16:46:02 2009 -0800 inet: Allowing more than 64k connections and heavily optimize bind(0) time. With simple extension to the binding mechanism, which allows to bind more than 64k sockets (or smaller amount, depending on sysctl parameters), we have to traverse the whole bind hash table to find out empty bucket. And while it is not a problem for example for 32k connections, bind() completion time grows exponentially (since after each successful binding we have to traverse one bucket more to find empty one) even if we start each time from random offset inside the hash table. So, when hash table is full, and we want to add another socket, we have to traverse the whole table no matter what, so effectivelly this will be the worst case performance and it will be constant. Attached picture shows bind() time depending on number of already bound sockets. Green area corresponds to the usual binding to zero port process, which turns on kernel port selection as described above. Red area is the bind process, when number of reuse-bound sockets is not limited by 64k (or sysctl parameters). The same exponential growth (hidden by the green area) before number of ports reaches sysctl limit. At this time bind hash table has exactly one reuse-enbaled socket in a bucket, but it is possible that they have different addresses. Actually kernel selects the first port to try randomly, so at the beginning bind will take roughly constant time, but with time number of port to check after random start will increase. And that will have exponential growth, but because of above random selection, not every next port selection will necessary take longer time than previous. So we have to consider the area below in the graph (if you could zoom it, you could find, that there are many different times placed there), so area can hide another. Blue area corresponds to the port selection optimization. This is rather simple design approach: hashtable now maintains (unprecise and racely updated) number of currently bound sockets, and when number of such sockets becomes greater than predefined value (I use maximum port range defined by sysctls), we stop traversing the whole bind hash table and just stop at first matching bucket after random start. Above limit roughly corresponds to the case, when bind hash table is full and we turned on mechanism of allowing to bind more reuse-enabled sockets, so it does not change behaviour of other sockets. Signed-off-by: Evgeniy Polyakov Tested-by: Denys Fedoryschenko Signed-off-by: David S. Miller commit 5c0999b72b34541a3734a9138c43d5c024a42d47 Author: Herbert Xu Date: Mon Jan 19 15:20:57 2009 -0800 igb: Replace LRO with GRO This patch makes igb invoke the GRO hooks instead of LRO. As GRO has a compatible external interface to LRO this is a very straightforward replacement. Three things of note: 1) I've kept the LRO Kconfig option until we decide to enable GRO across the board at which point it can also be killed. 2) The poll_controller stuff is broken in igb as it tries to do the same work as the normal poll routine. Since poll_controller can be called in the middle of a poll, this can't be good. I noticed this because poll_controller can invoke the GRO hooks without flushing held GRO packets. However, this should be harmless (assuming the poll_controller bug above doesn't kill you first :) since the next ->poll will clear the backlog. The only time when we'll have a problem is if we're already executing the GRO code on the same ring, but that's no worse than what happens now. 3) I kept the ip_summed check before calling GRO so that we're on par with previous behaviour. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 649aa95d75cbadb9f440c1b8d04c666461de326f Author: Harvey Harrison Date: Sun Jan 18 22:03:01 2009 -0800 typhoon: replace users of __constant_{endian} The base versions handle constant folding just fine, use them directly. Signed-off-by: Harvey Harrison Acked-by: David Dillow Signed-off-by: David S. Miller commit da3bc07171dff957906cbe2ad5abb443eccf57c4 Author: Herbert Xu Date: Sun Jan 18 21:50:16 2009 -0800 sfc: Replace LRO with GRO This patch makes sfc invoke the GRO hooks instead of LRO. As GRO has a compatible external interface to LRO this is a very straightforward replacement. Everything should appear identical to the user except that the offload is now controlled by the GRO ethtool option instead of LRO. I've kept the lro module parameter as is since that's for compatibility only. I have eliminated efx_rx_mk_skb as the GRO layer can take care of all packets regardless of whether GRO is enabled or not. So the only case where we don't call GRO is if the packet checksum is absent. This is to keep the behaviour changes of the patch to a minimum. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 78b6f4ce58d1c85190003840912cc9097cbb8146 Author: Herbert Xu Date: Sun Jan 18 21:49:45 2009 -0800 ixgbe: Replace LRO with GRO This patch makes ixgbe invoke the GRO hooks instead of LRO. As GRO has a compatible external interface to LRO this is a very straightforward replacement. As GRO uses the napi structure to track the held packets, I've modified the code paths involved to pass that along. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f3f3abb62ccb1a1c77bcce855c04e12356e6ac95 Author: Gerrit Renker Date: Fri Jan 16 23:36:33 2009 +0000 dccp: Debugging functions for feature negotiation Since all feature-negotiation processing now takes place in feat.c, functions for producing verbose debugging output are concentrated there. New functions to print out values, entry records, and options are provided, and also a macro is defined to not always have the function name in the output line. Thanks a lot to Wei Yongjun and Giuseppe Galeota for help and discussion with an earlier revision of this patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 883ca833e5fb814fb03426c9d35e5489ce43e8da Author: Gerrit Renker Date: Fri Jan 16 23:36:32 2009 +0000 dccp: Initialisation and type-checking of feature sysctls This patch takes care of initialising and type-checking sysctls related to feature negotiation. Type checking is important since some of the sysctls now directly impact the feature-negotiation process. The sysctls are initialised with the known default values for each feature. For the type-checking the value constraints from RFC 4340 are used: * Sequence Window uses the specified Wmin=32, the maximum is ulong (4 bytes), tested and confirmed that it works up to 4294967295 - for Gbps speed; * Ack Ratio is between 0 .. 0xffff (2-byte unsigned integer); * CCIDs are between 0 .. 255; * request_retries, retries1, retries2 also between 0..255 for good measure; * tx_qlen is checked to be non-negative; * sync_ratelimit remains as before. Notes: ------ 1. Die s@sysctl_dccp_feat@sysctl_dccp@g since the sysctls are now in feat.c. 2. As pointed out by Arnaldo, the pattern of type-checking repeats itself in other places, sometimes with exactly the same kind of definitions (e.g. "static int zero;"). It may be a good idea (kernel janitors?) to consolidate type checking. For the sake of keeping the changeset small and in order not to affect other subsystems, I have not strived to generalise here. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 792b48780e8b6435d017cef4b5c304876a48653e Author: Gerrit Renker Date: Fri Jan 16 23:36:31 2009 +0000 dccp: Implement both feature-local and feature-remote Sequence Window feature This adds full support for local/remote Sequence Window feature, from which the * sequence-number-validity (W) and * acknowledgment-number-validity (W') windows derive as specified in RFC 4340, 7.5.3. Specifically, the following is contained in this patch: * integrated new socket fields into dccp_sk; * updated the update_gsr/gss routines with regard to these fields; * updated handler code: the Sequence Window feature is located at the TX side, so the local feature is meant if the handler-rx flag is false; * the initialisation of `rcv_wnd' in reqsk is removed, since - rcv_wnd is not used by the code anywhere; - sequence number checks are not done in the LISTEN state (cf. 7.5.3); - dccp_check_req checks the Ack number validity more rigorously; * the `struct dccp_minisock' became empty and is now removed. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit f90f92eed74251034f251e3cdf4fa5c4c1f09df0 Author: Gerrit Renker Date: Fri Jan 16 23:36:30 2009 +0000 dccp: Initialisation framework for feature negotiation This initialises feature negotiation from two tables, which are in turn are initialised from sysctls. As a novel feature, specifics of the implementation (e.g. that short seqnos and ECN are not yet available) are advertised for robustness. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: David S. Miller commit 5cda9364f1fbc330f0d82f534505a8e375d0a66c Author: Divy Le Ray Date: Sun Jan 18 21:29:40 2009 -0800 cxgb3: ease msi-x settings conditions The driver currently drops to line interrupt mode if it did not get all the msi-x vectors it requested. Allow msi-x settings when a minimal amount of vectors is provided. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit c405b828161286729b6a5a729159114dca122923 Author: Herbert Xu Date: Wed Jan 14 20:37:59 2009 -0800 e1000e: Invoke VLAN GRO handler Now that VLAN has GRO support as well, we can call its GRO handler as well. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 288379f050284087578b77e04f040b57db3db3f8 Author: Ben Hutchings Date: Mon Jan 19 16:43:59 2009 -0800 net: Remove redundant NAPI functions Following the removal of the unused struct net_device * parameter from the NAPI functions named *netif_rx_* in commit 908a7a1, they are exactly equivalent to the corresponding *napi_* functions and are therefore redundant. Signed-off-by: Ben Hutchings Acked-by: Neil Horman Signed-off-by: David S. Miller commit 627af770c63acddc2402dd19fec70df5c3ad8ab7 Author: Cesar Eduardo Barros Date: Wed Jan 14 20:34:24 2009 -0800 sc92031: add a link to the datasheet Signed-off-by: Cesar Eduardo Barros Signed-off-by: David S. Miller commit 5ec99fdf8e1a6ee90fce22c2fce94871ab44e8ba Author: Cesar Eduardo Barros Date: Wed Jan 14 20:34:04 2009 -0800 sc92031: use device id directly instead of made-up name Instead of making up a name for the device ids, put them directly in the device id table. Also move the vendor id to pci_ids.h. Signed-off-by: Cesar Eduardo Barros Signed-off-by: David S. Miller commit f08d7c36ccde73ea098dfda8ab63540978e9beb5 Author: Cesar Eduardo Barros Date: Wed Jan 14 20:33:44 2009 -0800 sc92031: inline SC92031_DESCRIPTION SC92031_DESCRIPTION is only used in one place. Signed-off-by: Cesar Eduardo Barros Signed-off-by: David S. Miller commit 3230d2b00e6dacffabe3fd013f033606bcf08795 Author: Cesar Eduardo Barros Date: Wed Jan 14 20:33:27 2009 -0800 sc92031: remove meaningless version string The version string makes no sense anymore, since this driver is only maintained within the kernel. Signed-off-by: Cesar Eduardo Barros Signed-off-by: David S. Miller commit eb5c8bc1442a03755ae75d99b59ccea6bbf25a34 Author: Cesar Eduardo Barros Date: Wed Jan 14 20:33:07 2009 -0800 sc92031: more useful banner in kernel log The banner currently printed when loading the module is mostly useless. Replace it with a more informative one, printed after probing the device. Output format copied from 8139cp/8139too. Signed-off-by: Cesar Eduardo Barros Signed-off-by: David S. Miller commit 4101dec9ca64d40f0d673f0a40ba46ba2c60e117 Author: Jan Engelhardt Date: Wed Jan 14 13:52:18 2009 -0800 net: constify VFTs Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 991990a12de42281f81b4e3a6471586d2d0caf6a Author: Krzysztof Hałasa Date: Thu Jan 8 22:52:11 2009 +0100 WAN: Convert generic HDLC drivers to netdev_ops. Also remove unneeded last_rx update from Synclink drivers. Synclink part mostly by Stephen Hemminger. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit dff3fde7be8f08c78914fca3d25e1cffe7625faa Author: Krzysztof Hałasa Date: Thu Jan 8 19:55:57 2009 +0100 WAN: Allow hw HDLC drivers to override dev->get_stats. Use the internal get_stats() by default. Fixes LMC and wanXL drivers. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 7cdc15f5f9db71e9c92422918ab9f8df0d31f81f Author: Krzysztof Hałasa Date: Thu Jan 8 19:46:54 2009 +0100 WAN: Generic HDLC now uses IFF_WAN_HDLC private flag. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit a962dc2520d85c278768f5f6028f300152fca7fa Author: Inaky Perez-Gonzalez Date: Fri Jan 9 16:43:49 2009 +0000 wimax/i2400m: convert to net_device_ops Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: David S. Miller commit 2171dc1815fcc5cc08d227155d65bb268070f6a5 Author: Frank Blaschka Date: Fri Jan 9 03:43:59 2009 +0000 claw: convert to net_device_ops claw convert to net_device_ops. Signed-off-by: Frank Blaschka commit 4edd73b5cf466ab2c9d406fd6768cb3203abfbe5 Author: Frank Blaschka Date: Fri Jan 9 03:43:58 2009 +0000 netiucv: convert to net_device_ops netiucv convert to net_device_ops. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 69b3aa609cab34928931b86632316d065ba17ba3 Author: Frank Blaschka Date: Fri Jan 9 03:43:57 2009 +0000 ctcm: convert to net_device_ops ctcm convert to net_device_ops. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 0e0b46d80f8768c465c14994aba91ee714b0d7b7 Author: Frank Blaschka Date: Fri Jan 9 03:43:56 2009 +0000 lcs: convert to net_device_ops lcs convert to net_device_ops. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit ba270ede101ad7439de7d4e92b71eece26db5c26 Author: Stephen Hemminger Date: Fri Jan 9 13:01:42 2009 +0000 dmascc: convert to internal net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6095e08126790592699d8aeef4d31b263a4176a4 Author: Stephen Hemminger Date: Fri Jan 9 13:01:41 2009 +0000 dmascc: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ddbe9a686805c36a0e68451ebb8cb51b21d0c718 Author: Stephen Hemminger Date: Fri Jan 9 13:01:40 2009 +0000 mkiss: convert to internal network device stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ff908cf83498010e832819cf50a23e16c43b1373 Author: Stephen Hemminger Date: Fri Jan 9 13:01:39 2009 +0000 scc: convert to internal net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3f75f7482f7687b8ffe9e0ddad560797a9f9ad6e Author: Stephen Hemminger Date: Fri Jan 9 13:01:38 2009 +0000 yam: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3c94acb7ee343e49075c8f3c72c1920633fc230c Author: Stephen Hemminger Date: Fri Jan 9 13:01:37 2009 +0000 yam: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2d8b223d81a385a746befc7facf93680f4185533 Author: Stephen Hemminger Date: Fri Jan 9 13:01:36 2009 +0000 hdlcdrv: convert to net_device_ops Signed-off-by: Stephen Hemminger Acked-by: Thomas Sailer Signed-off-by: David S. Miller commit 5a7616af604caf0d436a1ed0d4298bb25cd77d67 Author: Stephen Hemminger Date: Fri Jan 9 13:01:35 2009 +0000 hdlcdrv: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Acked-by: Thomas Sailer Signed-off-by: David S. Miller commit 52db625079e8f231a3e53e89871bd5adb66e8464 Author: Stephen Hemminger Date: Fri Jan 9 13:01:34 2009 +0000 dmascc: convert to network_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 13c0582d91ab63087a30addcfe42874541ca2689 Author: Stephen Hemminger Date: Fri Jan 9 13:01:33 2009 +0000 dmascc: convert to internal network device stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 283767e70501a02e676c99964e5a3f09ec993469 Author: Stephen Hemminger Date: Fri Jan 9 13:01:32 2009 +0000 bpqether: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f57505fd7ce559bacf5cde26a79ea355fa3bc1ce Author: Stephen Hemminger Date: Fri Jan 9 13:01:31 2009 +0000 bpqether: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9772a252b5b2ffbcf163cc07a443a444bf500040 Author: Stephen Hemminger Date: Fri Jan 9 13:01:30 2009 +0000 baycom: convert to net_device_ops Signed-off-by: Stephen Hemminger Acked-by: Thomas Sailer Signed-off-by: David S. Miller commit cd94f08658e15972d6ca8b53501efa48841f1b5b Author: Stephen Hemminger Date: Fri Jan 9 13:01:29 2009 +0000 baycom: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Acked-by: Thomas Sailer Signed-off-by: David S. Miller commit b3672a7394d2db85bd8c0f445df485fc09a0cef7 Author: Stephen Hemminger Date: Fri Jan 9 13:01:28 2009 +0000 6pack: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bc0443fc38f802c5b7a7489b4a31577f1fadd4e4 Author: Stephen Hemminger Date: Fri Jan 9 13:01:27 2009 +0000 znet: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 69d651692f16c5e883f6af3d0eb36bdac5438f9c Author: Stephen Hemminger Date: Fri Jan 9 13:01:26 2009 +0000 3c559: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f1608f859a3fba95a3b0ae70f2528b81c6928d77 Author: Stephen Hemminger Date: Fri Jan 9 13:01:25 2009 +0000 tms380tr: convert to net_device_ops Conver this related group of drivers to new API Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit efda072393fb4213e43d92bdd20cf180a06a8eb0 Author: Stephen Hemminger Date: Fri Jan 9 13:01:24 2009 +0000 olympic: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dcc59a9789fee98782aa2f3215bbea071bd643b1 Author: Stephen Hemminger Date: Fri Jan 9 13:01:23 2009 +0000 olympic: convert to internal network device stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit be18827815bc62f64797da05bcba9ba69101524d Author: Stephen Hemminger Date: Fri Jan 9 13:01:22 2009 +0000 lanstreamer: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 37423fff4f02fcf6867971dfd678e99a34efeab3 Author: Stephen Hemminger Date: Fri Jan 9 13:01:21 2009 +0000 lanstreamer: convert to internal network stats Use internal network_device_stats to keep track of statistics. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c86d87402966dc3f1996d17ef6bc2b676b46bb60 Author: Stephen Hemminger Date: Fri Jan 9 13:01:20 2009 +0000 ibmtr: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9fd3238e95046b61d518ddacaa767fa09f31b0d0 Author: Stephen Hemminger Date: Fri Jan 9 13:01:19 2009 +0000 ibmtr: convert to internal network_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 48b47a5e306c1c119ee81ccd24d487c2df656410 Author: Stephen Hemminger Date: Fri Jan 9 13:01:18 2009 +0000 3c59x: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4394e6533da7f652a19e08009fff713f4168915e Author: Stephen Hemminger Date: Fri Jan 9 13:01:17 2009 +0000 3c527: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 90e64c6ad2a5dd3ecad1b59e466d42945fe22eb2 Author: Stephen Hemminger Date: Fri Jan 9 13:01:16 2009 +0000 3c523: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f3701c2f0e2ede7ae265fcf627f01f2a795ac41b Author: Stephen Hemminger Date: Fri Jan 9 13:01:15 2009 +0000 3c515: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3186ae8f3f5a30ecfed9faa76ce113830da39fbd Author: Stephen Hemminger Date: Fri Jan 9 13:01:14 2009 +0000 3c509: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1722de5098cb5a680945cb68c57be5b2bf67b52d Author: Stephen Hemminger Date: Fri Jan 9 13:01:13 2009 +0000 3c507: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e6c42b782684cd582599d5c177516ee27d50deb8 Author: Stephen Hemminger Date: Fri Jan 9 13:01:12 2009 +0000 3c505: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 878f64856d152ea4bab7dc3c279d0ee117901e1c Author: Stephen Hemminger Date: Fri Jan 9 13:01:11 2009 +0000 3c501: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a1799af4d7deefccdaa9d222a886fa1373dbb49a Author: Stephen Hemminger Date: Fri Jan 9 13:01:10 2009 +0000 com20020: convert to net_devic_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bca5b8939f107e498b3fdc92b3a2d286a868d347 Author: Stephen Hemminger Date: Fri Jan 9 13:01:09 2009 +0000 arcnet: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5803c5122acb31ebf5f76b1a9925e2c72c4436e1 Author: Stephen Hemminger Date: Fri Jan 9 13:01:08 2009 +0000 arcnet: convert to internal stats Use pre-existing network_device_stats inside network_device rather than own private structure. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 60961ce4d09db7c1ba49da3375123a18845ec864 Author: Stephen Hemminger Date: Fri Jan 9 13:01:07 2009 +0000 appletalk: remove unneeded stubs With net_device_ops if set_mac_address is null, then error is -EOPNOTSUPPORTED. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3170c6568776a58e1eeec8ff949a65f5cf5d7ceb Author: Stephen Hemminger Date: Fri Jan 9 13:01:06 2009 +0000 rose: convert to network_device_ops Signed-off-by: Stephen Hemminger Acked-by: Ralf Baechle Signed-off-by: David S. Miller commit d289d120b46d9b6c68448b1d1c6d3edb94cdbde6 Author: Stephen Hemminger Date: Fri Jan 9 13:01:05 2009 +0000 rose: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Acked-by: Ralf Baechle Signed-off-by: David S. Miller commit 0f6c5c8e79781974c0e660fd8bfc659b101b44fd Author: Stephen Hemminger Date: Fri Jan 9 13:01:04 2009 +0000 netrom: convert to net_device_ops Signed-off-by: Stephen Hemminger Acked-by: Ralf Baechle Signed-off-by: David S. Miller commit b51414b69148433a79af5dc93463a0489492a788 Author: Stephen Hemminger Date: Fri Jan 9 13:01:03 2009 +0000 netrom: convert to internal net_device_stats Signed-off-by: Stephen Hemminger Acked-by: Ralf Baechle Signed-off-by: David S. Miller commit 004b3225c016efc90cbfe43cdf69c6331462bc56 Author: Stephen Hemminger Date: Fri Jan 9 13:01:02 2009 +0000 lec: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 162619e59ab456aa689080726cb2ada24c1dfddd Author: Stephen Hemminger Date: Fri Jan 9 13:01:01 2009 +0000 lec: convert to internal network_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1a6afe8a733a3edaa1816c10ec2a7353ae0ff47b Author: Stephen Hemminger Date: Fri Jan 9 13:01:00 2009 +0000 clip: convert to internal network_device_stats Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0ba25ff4c669e5395110ba6ab4958a97a9f96922 Author: Stephen Hemminger Date: Fri Jan 9 13:00:59 2009 +0000 br2684: convert to net_device_ops Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 410e9d8f9ce962923b52096d40781a569803c760 Author: Stephen Hemminger Date: Fri Jan 9 13:00:58 2009 +0000 atm: br2684 internal stats Now that stats are in net_device, use them. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fb746d0e1365b7472ccc4c3d5b0672b34a092d0b Author: Johannes Weiner Date: Wed Jan 21 20:45:41 2009 +0100 x86: optimise page fault entry, cleanup tsk is already assigned to current, drop the redundant second assignment. Signed-off-by: Johannes Weiner Signed-off-by: Ingo Molnar commit a17ac45a5da76f851faf0b6502f66c1205159469 Author: Krzysztof Helt Date: Wed Jan 21 15:14:09 2009 +0100 ALSA: ad1816a: enable hardware timer Enable hardware timer with 10 usec resolution. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit aa9c293ae46d71f5add0761bce8db67b162e3f29 Author: Krzysztof Helt Date: Wed Jan 21 15:08:03 2009 +0100 ALSA: do not create OPL3 timers if there is no OPL3 irq wired Most cards have OPL3 FM synthetiser but they do not have OPL3 interrupt wired to a sound chip or CPU. Do not create OPL3 timers for such cards as the timers are useless witthout interrupt. This patch removes OPL3 timers for following alsa drivers: snd-ad1816a, snd-opti93x, snd-opti92x, snd-sc6000, snd-cmi8330. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 80c509fdd74f3b158267374cc55156965c8bf930 Author: Steve Sakoman Date: Tue Jan 20 23:05:27 2009 -0800 ASoC: Complete Beagleboard support Commit dc06102a0c8b5aa0dd7f9a40ce241e793c252a87 in the asoc tree did not include the necessary Kconfig and Makefile changes. This patch completes the support for Beagleboard Signed-off-by: Steve Sakoman Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 03b486322e994dde49e67aedb391867b7cf28822 Author: Nick Piggin Date: Tue Jan 20 04:36:04 2009 +0100 x86: make UV support configurable Make X86 SGI Ultraviolet support configurable. Saves about 13K of text size on my modest config. text data bss dec hex filename 6770537 1158680 694356 8623573 8395d5 vmlinux 6757492 1157664 694228 8609384 835e68 vmlinux.nouv Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar commit cc86c9e0dc1a41451240b948bb39d46bb2536ae8 Author: Hiroshi Shimamoto Date: Mon Jan 19 16:37:41 2009 -0800 x86: uaccess: rename __put_user_u64() to __put_user_asm_u64() Impact: cleanup rename __put_user_u64() to __put_user_asm_u64() like __get_user_asm_u64(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 4d5d783896fc8c37be88ee5837ca9b3c13fcd55b Author: Hiroshi Shimamoto Date: Mon Jan 19 16:34:26 2009 -0800 x86: uaccess: fix style problems Impact: cleanup Fix coding style problems in arch/x86/include/asm/uaccess.h. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 5b221278d61e3907a5e4104a844b63bc8bb3d43a Author: Ingo Molnar Date: Wed Jan 21 11:30:07 2009 +0100 x86: uv cleanup, build fix #2 Fix more build-failure fallout from the UV cleanup - the UV drivers were not updated to include . Signed-off-by: Ingo Molnar commit ace6c6c840878342f698f0da6588dd5ded755369 Author: Ingo Molnar Date: Wed Jan 21 10:32:44 2009 +0100 x86: make x86_32 use tlb_64.c, build fix, clean up X86_L1_CACHE_BYTES Fix: arch/x86/mm/tlb.c:47: error: ‘CONFIG_X86_INTERNODE_CACHE_BYTES’ undeclared here (not in a function) The CONFIG_X86_INTERNODE_CACHE_BYTES symbol is only defined on 64-bit, because vsmp support is 64-bit only. Define it on 32-bit too - where it will always be equal to X86_L1_CACHE_BYTES. Also move the default of X86_L1_CACHE_BYTES (which is separate from the more commonly used L1_CACHE_SHIFT kconfig symbol) from 128 bytes to 64 bytes. Signed-off-by: Ingo Molnar commit 198030782cedf25391e67e7c88b04f87a5eb6563 Merge: 4ec71fa... 92181f1... Author: Ingo Molnar Date: Wed Jan 21 10:39:51 2009 +0100 Merge branch 'x86/mm' into core/percpu Conflicts: arch/x86/mm/fault.c commit 4ec71fa2d2c3f1040348f2604f4b8ccc833d1c2e Author: Ingo Molnar Date: Wed Jan 21 10:24:27 2009 +0100 x86: uv cleanup, build fix Fix: arch/x86/mm/srat_64.c: In function ‘acpi_numa_processor_affinity_init’: arch/x86/mm/srat_64.c:141: error: implicit declaration of function ‘get_uv_system_type’ arch/x86/mm/srat_64.c:141: error: ‘UV_X2APIC’ undeclared (first use in this function) arch/x86/mm/srat_64.c:141: error: (Each undeclared identifier is reported only once arch/x86/mm/srat_64.c:141: error: for each function it appears in.) A couple of UV definitions were moved to asm/uv/uv.h, but srat_64.c did not include that header. Add it. Signed-off-by: Ingo Molnar commit 55f4949f5765e7a29863b6d17a774601810732f5 Author: Ingo Molnar Date: Wed Jan 21 10:08:53 2009 +0100 x86, mm: move tlb.c to arch/x86/mm/ Impact: cleanup Now that it's unified, move the (SMP) TLB flushing code from arch/x86/kernel/ to arch/x86/mm/, where it belongs logically. Signed-off-by: Ingo Molnar commit 3eb3963fd1974c63e9bb3cfe774abc3e1995e479 Merge: ae2b56b... 5766b84... Author: Ingo Molnar Date: Wed Jan 21 10:14:17 2009 +0100 Merge branch 'cpus4096' into core/percpu Conflicts: arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c arch/x86/kernel/tlb_32.c Merge it here because both the cpumask changes and the ongoing percpu work is touching the TLB code. The percpu changes take precedence, as they eliminate tlb_32.c altogether. Signed-off-by: Ingo Molnar commit ae2b56b92bd33b416528986528e0732c98c7a285 Merge: 8f5d36e... 16c2d3f... Author: Ingo Molnar Date: Wed Jan 21 10:04:52 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu commit 16c2d3f895a3bc8d8e4c76c2646a6b750c181299 Author: Tejun Heo Date: Wed Jan 21 17:26:06 2009 +0900 x86: rename tlb_64.c to tlb.c Impact: file rename tlb_64.c is now the tlb code for both 32 and 64. Rename it to tlb.c. Signed-off-by: Tejun Heo commit 02cf94c370e0dc9bf408fe45eb86fe9ad58eaf7f Author: Tejun Heo Date: Wed Jan 21 17:26:06 2009 +0900 x86: make x86_32 use tlb_64.c Impact: less contention when issuing invalidate IPI, cleanup Make x86_32 use the same tlb code as 64bit. The 64bit code uses multiple IPI vectors for tlb shootdown to reduce contention. This patch makes x86_32 allocate the same 8 IPIs as x86_64 and share the code paths. Note that the usage of asmlinkage is inconsistent for x86_32 and 64 and calls for further cleanup. This has been noted with a FIXME comment in tlb_64.c. Signed-off-by: Tejun Heo commit 6dd01bedee6c3191643db303a1dc530bad56ec55 Author: Tejun Heo Date: Wed Jan 21 17:26:06 2009 +0900 x86: prepare for tlb merge Impact: clean up, ipi vector number reordering for x86_32 Make the following changes to prepare for tlb merge. * reorder x86_32 ip vectors * adjust tlb_32.c and tlb_64.c such that their logics coincide exactly - on spurious invalidate ipi, tlb_32 acks the irq - tlb_64 now has proper memory barriers around clearing flush_cpumask (no change in generated code) * unexport flush_tlb_page from tlb_32.c, there's no user * use unsigned int for cpu id * drop unnecessary includes from tlb_64.c Signed-off-by: Tejun Heo commit bdbcdd48883940bbd8d17eb01172d58a261a413a Author: Tejun Heo Date: Wed Jan 21 17:26:06 2009 +0900 x86: uv cleanup Impact: cleanup Make the following uv related cleanups. * collect visible uv related definitions and interfaces into uv/uv.h and use it. this cleans up the messy situation where on 64bit, uv is defined properly, on 32bit generic it's dummy and on the rest undefined. after this clean up, uv is defined on 64 and dummy on 32. * update uv_flush_tlb_others() such that it takes cpumask of to-be-flushed cpus as argument, instead of that minus self, and returns yet-to-be-flushed cpumask, instead of modifying the passed in parameter. this interface change will ease dummy implementation of uv_flush_tlb_others() and makes uv tlb flush related stuff defined in tlb_uv proper. Signed-off-by: Tejun Heo commit d650a5148593b65a3c3f9a344f46b91b7dfe7713 Author: Brian Gerst Date: Wed Jan 21 17:26:06 2009 +0900 x86: merge irq_regs.h Impact: cleanup, better irq_regs code generation for x86_64 Make 64-bit use the same optimizations as 32-bit. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 6826c8ff07b5f95df0473a748a9831707079b940 Author: Brian Gerst Date: Wed Jan 21 17:26:06 2009 +0900 x86: merge mmu_context.h Impact: cleanup tj: * changed cpu to unsigned as was done on mmu_context_64.h as cpu id is officially unsigned int * added missing ';' to 32bit version of deactivate_mm() Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 0dd76d736eeb3e0ef86c5b103b47ae0e15edebad Author: Brian Gerst Date: Wed Jan 21 17:26:05 2009 +0900 x86: set %fs to __KERNEL_PERCPU unconditionally for x86_32 Impact: cleanup %fs is currently set to __KERNEL_DS at boot, and conditionally switched to __KERNEL_PERCPU for secondary cpus. Instead, initialize GDT_ENTRY_PERCPU to the same attributes as GDT_ENTRY_KERNEL_DS and set %fs to __KERNEL_PERCPU unconditionally. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 299e26992a737804e13e74fdb97cdab470ed19ac Author: Brian Gerst Date: Wed Jan 21 17:26:05 2009 +0900 x86: fix percpu_write with 64-bit constants Impact: slightly better code generation for percpu_to_op() The processor will sign-extend 32-bit immediate values in 64-bit operations. Use the 'e' constraint ("32-bit signed integer constant, or a symbolic reference known to fit that range") for 64-bit constants. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 06deef892c7327992434917fb6592c233430803d Author: Brian Gerst Date: Wed Jan 21 17:26:05 2009 +0900 x86: clean up gdt_page definition Impact: cleanup && more compact percpu area layout with future changes Move 64-bit GDT to page-aligned section and clean up comment formatting. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 67e68bde02fe783efc2ce2ca31bdb992f5235f8d Author: Tejun Heo Date: Wed Jan 21 17:26:05 2009 +0900 x86: update canary handling during switch Impact: cleanup In switch_to(), instead of taking offset to irq_stack_union.stack, make it a proper percpu access using __percpu_arg() and per_cpu_var(). Signed-off-by: Tejun Heo commit c9864fd30a28aceef5293f28559c4a2f5a20d7d5 Author: Krzysztof Helt Date: Wed Jan 21 08:19:27 2009 +0100 ALSA: sscape: use common MPU401 macros Remove local macros which redefines the common ones. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 48972cc5101dee24243c1b53d409cc27880e7a29 Author: Krzysztof Helt Date: Wed Jan 21 08:18:16 2009 +0100 ALSA: cmi8330: add OPL3 support Add OPL3 handling to the driver and volume control for FM synthesis. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 51c10bbc3d7d700acd25a004d58a51067983acb6 Author: Philipp Zabel Date: Sat Jan 17 18:45:44 2009 +0100 [ARM] pxa/magician: use named initializers for gpio_keys setup Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit fcb78d1f615a46509bffd9347b7f36fab4db79df Author: Philipp Zabel Date: Sat Jan 17 18:45:43 2009 +0100 [ARM] pxa/magician: Use SZ_64M for physmap resource Improves readability over the custom #define. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit dee63169884a528000d6318b1c1c2d0b445953f9 Author: Philipp Zabel Date: Sat Jan 17 18:45:42 2009 +0100 [ARM] pxa/magician: enable power I2C for max158xx Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 16c3ea43b8e7b3bf4332f5570263f409e4ca4557 Author: Philipp Zabel Date: Sat Jan 17 18:45:41 2009 +0100 [ARM] pxa/magician: setup SSP1 pins for audio Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 73921ea5b5ccfe0bbe4c1dfcd1a60fdadc7c7d1e Author: Philipp Zabel Date: Sat Jan 17 18:45:40 2009 +0100 [ARM] pxa/magician: Enable backlight Magician uses the generic PWM backlight driver, so select HAVE_PWM. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit b25a386b9c68ed23c3b2656f44b523e61480218b Author: Philipp Zabel Date: Sat Jan 17 18:01:04 2009 +0100 [ARM] pxa/magician: Update defconfig This is the touched up result of make magician_defconfig in 2.6.29-rc2. - Enabled USB host and bluetooth: magician has a CSR BlueCore3 connected to the PXA27x OHCI internally. - Made I2C built-in. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit efd0ef4e57ec9ae12d013ce91ccef32589e95080 Author: Mike Rapoport Date: Wed Dec 3 09:38:07 2008 +0200 [ARM] pxa: update xm_x2xx_defconfig Update xm_x2xx_defconfig to allow use of EM-X270 updated features Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 28c88046d0974e50859d80c885f61d67cb083d02 Author: Mike Rapoport Date: Wed Dec 3 09:38:10 2008 +0200 [ARM] pxa/em-x270: updates for 2.6.29 The patch includes the following updates to EM-X270: - Added DA9030 support - Added NOR flash support - Added QCI with mt9m112 sensor support - Updated LCD support Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit a645072a608356990b2737a48ecc1bfb66981599 Author: Marek Vasut Date: Thu Nov 20 22:50:46 2008 +0100 [ARM] pxa: PalmLD initial support Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 0f6ff0f06cc126e8dfaa20c8c6da53537e352378 Author: Marek Vasut Date: Thu Nov 20 00:58:38 2008 +0100 [ARM] pxa: PalmT5 initial support Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 08989930f91e4802b94e03eb54e5385bac112811 Author: Takashi Iwai Date: Wed Jan 21 07:43:23 2009 +0100 ALSA: hda - Remove old models for STAC9872 from the document Signed-off-by: Takashi Iwai commit 1e137f929bb490ff615ea475ac3904d58b0cdd5e Author: Takashi Iwai Date: Wed Jan 21 07:41:22 2009 +0100 ALSA: hda - Clean up old VAIO hack codes for STAC9872 Get rid of old VAIO static hack codes for STAC9872 and use the BIOS auto-parser for all models. Signed-off-by: Takashi Iwai commit d30e6caac2faade5e11ab7e0b5548236b5a5d854 Merge: e64f14f... 65557f3... Author: Takashi Iwai Date: Wed Jan 21 07:34:08 2009 +0100 Merge branch 'topic/hda' into next/hda commit 56692396447ca3fee061c26f22590a1046fd2d6b Merge: 927b0ae... 8a9dee5... Author: Mark Brown Date: Tue Jan 20 20:37:19 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit 927b0aea93bb324d743e575659e10d6d76818e4b Author: Ian Molton Date: Mon Jan 19 17:23:11 2009 +0000 ASoC: Fix WM9705 capture switch name This patch fixes the acpture switch name so that it better reflects its purpose. Signed-off-by: Ian Molton Signed-off-by: Mark Brown commit 75d91f9bc6d36b8d0ceef1cb75a4ac2b5c8a51d0 Author: Timur Tabi Date: Mon Jan 19 11:57:46 2009 -0600 ASoC: Allow Freescale MPC8610 audio drivers to be compiled as modules Change the Kconfig and Makefile options for Freescale MPC8610 audio drivers so that they can be compiled as modules, and simplify the Kconfig choices so that only the platform is selected. Also fix the naming of the driver files to conform to ALSA standards. [Removed extraneous SND_SOC dependency -- broonie] Signed-off-by: Timur Tabi Signed-off-by: Mark Brown commit e64f14f4e570d6ec5bc88abac92a3a27150756d7 Author: Takashi Iwai Date: Tue Jan 20 18:32:55 2009 +0100 ALSA: hda - Allow digital-only I/O on ALC262 codec Some laptops like VAIO have multiple codecs and uses ALC262 only for the SPIDF output without analog I/O. So far, the codec-parser assumes the presence of analog I/O and returned an error for such a case. This patch adds some hacks to allow the digital-only configuration for ALC262. Signed-off-by: Takashi Iwai commit 8c441982fdc00f77b7aa609061c6411f47bcceda Author: Takashi Iwai Date: Tue Jan 20 18:30:20 2009 +0100 ALSA: hda - Assign proper digital I/O type for STAC/IDT Assign the proper PCM digital I/O type (HDA_PCM_TYPE_*) for the digital I/O on STAC/IDT codecs. HDA_PCM_TYPE_HDMI is assigned for the HDMI I/O. A similar framework is implemented to patch_realtek.c, but it's not set up and still using only HDA_PCM_TYPE_SPDIF yet. Signed-off-by: Takashi Iwai commit 2297bd6e526ce1469279284ffda9140f8d60ea84 Author: Takashi Iwai Date: Tue Jan 20 18:24:13 2009 +0100 ALSA: hda - Check HDMI jack types in the auto configuration Add dig_out_type and dig_in_type fields to autocfg struct. A proper HDA_PCM_TYPE_* value is assigned to these fields according to the pin-jack location type value. Signed-off-by: Takashi Iwai commit 41b5b01afb71226653282951965d5efa9d7b843d Author: Takashi Iwai Date: Tue Jan 20 18:21:23 2009 +0100 ALSA: hda - Don't break the PCM creation loop Don't break the loop in snd_hda_codec_build_pcms() even if the item has no substreams. It's possible that it's an empty item and the next item containing the valid substreams (e.g. realtek codecs may create the analog and alt-analog but no digitl streams). Signed-off-by: Takashi Iwai commit caa10b6e808a4d65eb0306f0006308244f2b8d79 Author: Takashi Iwai Date: Tue Jan 20 17:19:01 2009 +0100 ALSA: hda - Improve auto-probing of STAC9872 codec Use the standard STAC/IDT auto-probing routine for non-static STAC9872 codec probing. Signed-off-by: Takashi Iwai commit 1b52ae701fedf97f9984e73b6a1fe2444230871b Author: Takashi Iwai Date: Tue Jan 20 17:17:29 2009 +0100 ALSA: hda - Detect non-SPDIF digital I/O Accept non-SPDIF digital I/O pins as the digital pins. These are usually corresponding to HDMI I/O. Signed-off-by: Takashi Iwai commit 89ce9e87083216389d2ff5740cc60f835537d8d0 Author: Takashi Iwai Date: Tue Jan 20 17:15:57 2009 +0100 ALSA: hda - Add debug prints for digital I/O pin detections Add the debug prints for digital I/O pin detections in snd_hda_parse_pin_def_config() function. Signed-off-by: Takashi Iwai commit afb33f8c0d7dea8c48ae1c2e3af5b437aa8dd7bb Author: Jiri Kosina Date: Mon Jan 12 12:53:45 2009 +0100 x86: remove byte locks Impact: cleanup Remove byte locks implementation, which was introduced by Jeremy in 8efcbab6 ("paravirt: introduce a "lock-byte" spinlock implementation"), but turned out to be dead code that is not used by any in-kernel virtualization guest (Xen uses its own variant of spinlocks implementation and KVM is not planning to move to byte locks). Signed-off-by: Jiri Kosina Signed-off-by: Ingo Molnar commit 7c7767ebe2fa847c91a0dd5551ca422aba359473 Author: Takashi Iwai Date: Tue Jan 20 15:28:38 2009 +0100 ALSA: hda - Halve too large volume scales for STAC/IDT codecs STAC/IDT codecs have often too large volume scales such as -96dB, and exposing this as is results in too large scale in percentage representation. This patch adds the check of the volume scale and halves the volume range if it's too large automatically. Signed-off-by: Takashi Iwai commit 29fdbec2dcb1ce364812778271056aa9516ff3ed Author: Takashi Iwai Date: Tue Jan 20 13:07:55 2009 +0100 ALSA: hda - Add extra volume offset to standard volume amp macros Added the volume offset to base for the standard volume controls to handle elements with too big volume scales like -96dB..0dB. For such elements, you can set the base volume to reduce the range. Signed-off-by: Takashi Iwai commit 92181f190b649f7ef2b79cbf5c00f26ccc66da2a Author: Nick Piggin Date: Tue Jan 20 04:24:26 2009 +0100 x86: optimise x86's do_page_fault (C entry point for the page fault path) Impact: cleanup, restructure code to improve assembly gcc isn't _all_ that smart about spilling registers to stack or reusing stack slots, even with branch annotations. do_page_fault contained a lot of functionality, so split unlikely paths into their own functions, and mark them as noinline just to be sure. I consider this actually to be somewhat of a cleanup too: the main function now contains about half the number of lines so the normal path is easier to read, while the error cases are also nicely split away. Also, ensure the order of arguments to functions is always the same: regs, addr, error_code. This can reduce code size a tiny bit, and just looks neater too. And add a couple of branch annotations. Before: do_page_fault: subq $360, %rsp #, After: do_page_fault: subq $56, %rsp #, bloat-o-meter: add/remove: 8/0 grow/shrink: 0/1 up/down: 2222/-1680 (542) function old new delta __bad_area_nosemaphore - 506 +506 no_context - 474 +474 vmalloc_fault - 424 +424 spurious_fault - 358 +358 mm_fault_error - 272 +272 bad_area_access_error - 89 +89 bad_area - 89 +89 bad_area_nosemaphore - 10 +10 do_page_fault 2464 784 -1680 Yes, the total size increases by 542 bytes, due to the extra function calls. But these will very rarely be called (except for vmalloc_fault) in a normal workload. Importantly, do_page_fault is less than 1/3rd it's original size, and touches far less stack. Existing gotos and branch hints did move a lot of the infrequently used text out of the fastpath, but that's even further improved after this patch. Signed-off-by: Nick Piggin Acked-by: Linus Torvalds Signed-off-by: Ingo Molnar commit 3690b5e6fd9daa030039ae9bda69044228bd476d Author: Lai Jiangshan Date: Fri Jan 16 16:32:25 2009 +0800 trace_workqueue: use percpu data for workqueue stat Impact: use percpu data instead of a global structure Use: static DEFINE_PER_CPU(struct workqueue_global_stats, all_workqueue_stat); instead of allocating a global structure. percpu data also works well on NUMA. Signed-off-by: Lai Jiangshan Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ce5e5540c0e839781e7cd134517d5d2e9e819636 Author: Markus Metzger Date: Mon Jan 19 10:38:35 2009 +0100 x86, ds, bts: cleanup DS configuration Cleanup the cpuid check for DS configuration. Signed-off-by: Markus Metzger Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e2ea5399bb4fb7aaafb08f846db453f4eec55160 Author: Markus Metzger Date: Mon Jan 19 10:35:58 2009 +0100 x86, ftrace, hw-branch-tracer: documentation Document the hw-branch-tracer in the ftrace documentation. Signed-off-by: Markus Metzger Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 11edda06289d412d13ff7c672bd72e043f637e74 Author: Markus Metzger Date: Mon Jan 19 10:29:16 2009 +0100 x86, ftrace, hw-branch-tracer: change trace format Change the hw-branch-tracer format to be more readable. Signed-off-by: Markus Metzger Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e23b8ad83430a6fdfbdbfac365f5b0312dd57f10 Author: Markus Metzger Date: Mon Jan 19 10:33:31 2009 +0100 x86, ftrace, hw-branch-tracer: reset trace buffer on close Reset the ftrace buffer on close. Since we use cyclic buffers, the trace is not contiguous, anyway. Signed-off-by: Markus Metzger Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit b1818748b0cf9427e48acf9713295e829a0d715f Author: Markus Metzger Date: Mon Jan 19 10:31:01 2009 +0100 x86, ftrace, hw-branch-tracer: dump trace on oops Dump the branch trace on an oops (based on ftrace_dump_on_oops). Signed-off-by: Markus Metzger Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5c5317de147e9b38ea9c4cbdc2d15bed7648d036 Author: Markus Metzger Date: Mon Jan 19 10:26:53 2009 +0100 x86, ftrace, hw-branch-tracer: support hotplug cpus Support hotplug cpus. Reported-by: Andi Kleen Signed-off-by: Markus Metzger Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0ce1c383681370964e7f77dd44506aeb3a6ba657 Merge: 0a2a18b... 1de9e8e... Author: Ingo Molnar Date: Tue Jan 20 09:23:28 2009 +0100 Merge commit 'v2.6.29-rc2' into x86/mm commit 5766b842b23c6b40935a5f3bd435b2bcdaff2143 Author: Ingo Molnar Date: Tue Jan 20 09:13:15 2009 +0100 x86, cpumask: fix tlb flush race Impact: fix bootup crash The cpumask is now passed in as a reference to mm->cpu_vm_mask, not on the stack - hence it is not constant anymore during the TLB flush. That way it could race and some static sanity checks would trigger: [ 238.154287] ------------[ cut here ]------------ [ 238.156039] kernel BUG at arch/x86/kernel/tlb_32.c:130! [ 238.156039] invalid opcode: 0000 [#1] SMP [ 238.156039] last sysfs file: /sys/class/net/eth2/address [ 238.156039] Modules linked in: [ 238.156039] [ 238.156039] Pid: 6493, comm: ifup-eth Not tainted (2.6.29-rc2-tip #1) P4DC6 [ 238.156039] EIP: 0060:[] EFLAGS: 00010202 CPU: 2 [ 238.156039] EIP is at native_flush_tlb_others+0x35/0x158 [ 238.156039] EAX: c0ef972c EBX: f6143301 ECX: 00000000 EDX: 00000000 [ 238.156039] ESI: f61433a8 EDI: f6143200 EBP: f34f3e00 ESP: f34f3df0 [ 238.156039] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 238.156039] Process ifup-eth (pid: 6493, ti=f34f2000 task=f399ab00 task.ti=f34f2000) [ 238.156039] Stack: [ 238.156039] ffffffff f61433a8 ffffffff f6143200 f34f3e18 c0118e9c 00000000 f6143200 [ 238.156039] f61433a8 f5bec738 f34f3e28 c0119435 c2b5b830 f6143200 f34f3e34 c01c2dc3 [ 238.156039] bffd9000 f34f3e60 c01c3051 00000000 ffffffff f34f3e4c 00000000 00000071 [ 238.156039] Call Trace: [ 238.156039] [] ? flush_tlb_others+0x52/0x5b [ 238.156039] [] ? flush_tlb_mm+0x7f/0x8b [ 238.156039] [] ? tlb_finish_mmu+0x2d/0x55 [ 238.156039] [] ? exit_mmap+0x124/0x170 [ 238.156039] [] ? mmput+0x40/0xf5 [ 238.156039] [] ? flush_old_exec+0x640/0x94b [ 238.156039] [] ? fsnotify_access+0x37/0x39 [ 238.156039] [] ? kernel_read+0x39/0x4b [ 238.156039] [] ? load_elf_binary+0x4a1/0x11bb [ 238.156039] [] ? might_fault+0x51/0x9c [ 238.156039] [] ? paravirt_read_tsc+0x20/0x4f [ 238.156039] [] ? native_sched_clock+0x5d/0x60 [ 238.156039] [] ? search_binary_handler+0xab/0x2c4 [ 238.156039] [] ? load_elf_binary+0x0/0x11bb [ 238.156039] [] ? _raw_read_unlock+0x21/0x46 [ 238.156039] [] ? load_elf_binary+0x0/0x11bb [ 238.156039] [] ? search_binary_handler+0xb2/0x2c4 [ 238.156039] [] ? do_execve+0x21c/0x2ee [ 238.156039] [] ? sys_execve+0x51/0x8c [ 238.156039] [] ? sysenter_do_call+0x12/0x43 Fix it by not assuming that the cpumask is constant. Signed-off-by: Ingo Molnar commit 8f5d36ed5bb6e33024619eaee15b7ce2e3d115b3 Merge: 5cdc5e9... 6b7c38d... Author: Ingo Molnar Date: Tue Jan 20 08:23:45 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu commit 6b7c38d55587f43bcd2cbce3a98b1c0826982090 Author: Tejun Heo Date: Mon Jan 19 12:21:28 2009 +0900 linker script: kill PERCPU_VADDR_PREALLOC() Impact: cleanup With .data.percpu.first in place, PERCPU_VADDR_PREALLOC() is no longer necessary. Kill it. Signed-off-by: Tejun Heo commit 0d974d4592708f85044751817da4b7016e1b0602 Author: Brian Gerst Date: Sun Jan 18 19:52:25 2009 -0500 x86: remove pda.h Impact: cleanup Signed-off-by: Brian Gerst commit 947e76cdc34c782fc947313d4331380686eebbad Author: Brian Gerst Date: Mon Jan 19 12:21:28 2009 +0900 x86: move stack_canary into irq_stack Impact: x86_64 percpu area layout change, irq_stack now at the beginning Now that the PDA is empty except for the stack canary, it can be removed. The irqstack is moved to the start of the per-cpu section. If the stack protector is enabled, the canary overlaps the bottom 48 bytes of the irqstack. tj: * updated subject * dropped asm relocation of irq_stack_ptr * updated comments a bit * rebased on top of stack canary changes Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 8c7e58e690ae60ab4215b025f433ed4af261e103 Author: Brian Gerst Date: Mon Jan 19 12:21:28 2009 +0900 x86: rework __per_cpu_load adjustments Impact: cleanup Use cpu_number to determine if the adjustment is necessary. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 0bd74fa8e29dcad98f7e8ffe01ec05fb3326abaf Author: Brian Gerst Date: Mon Jan 19 12:21:27 2009 +0900 percpu: refactor percpu.h Impact: cleanup Refactor the DEFINE_PER_CPU_* macros and add .data.percpu.first section. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 8ce031972b40da58c268caba8c5ea3c0856d7131 Author: Brian Gerst Date: Mon Jan 19 12:21:27 2009 +0900 x86: remove pda_init() Impact: cleanup Copy the code to cpu_init() to satisfy the requirement that the cpu be reinitialized. Remove all other calls, since the segments are already initialized in head_64.S. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit b4a8f7a262e79ecb0b39beb1449af524a78887f8 Author: Tejun Heo Date: Tue Jan 20 12:29:19 2009 +0900 x86: conditionalize stack canary handling in hot path Impact: no unnecessary stack canary swapping during context switch There's no point in moving stack_canary around during context switch if it's not enabled. Conditionalize it. Signed-off-by: Tejun Heo commit c6e50f93db5bd0895ec7c7d1b6f3886c6e1f11b6 Author: Tejun Heo Date: Tue Jan 20 12:29:19 2009 +0900 x86: cleanup stack protector Impact: cleanup Make the following cleanups. * remove duplicate comment from boot_init_stack_canary() which fits better in the other place - cpu_idle(). * move stack_canary offset check from __switch_to() to boot_init_stack_canary(). Signed-off-by: Tejun Heo commit 5cdc5e9e69d4dc3a3630ae1fa666401b2a8dcde6 Author: Ingo Molnar Date: Mon Jan 19 20:49:37 2009 +0100 x86: fully honor "nolapic", fix Impact: build fix Signed-off-by: Ingo Molnar commit b2a19d02396c92294abcddee5bd9bd49cc4e4d1c Author: Mark Brown Date: Sat Jan 17 19:14:26 2009 +0000 ASoC: Staticise PCM operations tables The PCM operations tables are not exported directly but are instead included in the platform structure so should be declared static. Signed-off-by: Mark Brown commit 91432e976ff1323e5dd6f52498969602953c6ee9 Author: Ian Molton Date: Sat Jan 17 17:44:23 2009 +0000 ASoC: fixes to caching implementations This patch takes fixes a number of bugs in the caching code used by several ASoC codec drivers. Mostly off-by-one fixes. Signed-off-by: Ian Molton Signed-off-by: Mark Brown commit 28796eaf806502b9bd86cbacf8edbc14c80c14b0 Author: Ian Molton Date: Sat Jan 17 15:11:06 2009 +0000 ASoC: machine support for Toshiba e740 PDA This patch provides suupport for the wm9705 AC97 codec on the Toshiba e740. Note: The e740 has a hard headphone switch that turns the speaker off and is not software detectable or controlable. Also both headphone and speaker amps share a common output enable. Signed-off-by: Ian Molton Signed-off-by: Mark Brown commit 2c782f5981a022f7a238d550af5daa75c8acf382 Author: Mark Brown Date: Fri Jan 16 16:35:52 2009 +0000 ASoC: Implement support for CLK_POUT as MCLK on Zylonite The Zylonite supports switching the MCLK for the WM9713 between the AC97CLK and CLK_POUT outputs of the PXA processor via switch SW15 on the board. This patch adds support for configuring the system to use CLK_POUT. Unfortunately it is not possible to read the state of SW15 from software so this feature is controlled by a module option 'clk_pout' which should be set to a non-zero value to enable the use of CLK_POUT. Signed-off-by: Mark Brown commit 28e7d82d6325734c7ecd1f223b892701f7a8c171 Merge: c99dbbe... cef30b3... Author: Ingo Molnar Date: Mon Jan 19 17:12:20 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/travis/linux-2.6-cpus4096-for-ingo into cpus4096 commit cade9f8a9cf1cd41f6f9e8850c6a0465a21248c3 Author: Jaroslav Kysela Date: Mon Jan 19 12:08:58 2009 +0100 ALSA: Release v1.0.19 Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit f3a374e55a60f7ca57335c24ef875731b6683147 Author: Takashi Iwai Date: Mon Jan 19 14:30:48 2009 +0100 ALSA: ca0106 - Add quirk for GA-G1975X mobo Giga-byte GA-G1975X mobo has a CA0106 on-board chip. Reference: bnc#395807 https://bugzilla.novell.com/show_bug.cgi?id=395807 Signed-off-by: Takashi Iwai commit 7890ba8c87604ca4c2c73f7de846bf5305d743e4 Merge: 99937d6... b2b062b... Author: Ingo Molnar Date: Mon Jan 19 12:36:09 2009 +0100 Merge branch 'stackprotector' into core/percpu commit 6e9ed0cc4b963fde66ab47d9fb19147631e44555 Author: Américo Wang Date: Mon Jan 19 02:00:38 2009 +0800 slob: clean up the code - Use NULL instead of plain 0; - Rename slob_page() to is_slob_page(); - Define slob_page() to convert void* to struct slob_page*; - Rename slob_new_page() to slob_new_pages(); - Define slob_free_pages() accordingly. Compile tests only. Signed-off-by: WANG Cong Signed-off-by: Matt Mackall Cc: Christoph Lameter Signed-off-by: Pekka Enberg commit 422e79a8b39d9ac73e410dc3cd099aecea82afd2 Author: Michael Ellerman Date: Mon Jan 19 17:06:42 2009 +1100 x86: Remove never-called arch_setup_msi_irq() Since commit 75c46fa, "x64, x2apic/intr-remap: MSI and MSI-X support for interrupt remapping infrastructure", x86 has had an implementation of arch_setup_msi_irqs(). That implementation does not call arch_setup_msi_irq(), instead it calls setup_irq(). No other x86 code calls arch_setup_msi_irq(). That leaves only arch_setup_msi_irqs() in drivers/pci/msi.c, but that routine is overridden by the x86 version of arch_setup_msi_irqs(). So arch_setup_msi_irq() is dead code, remove it. Signed-off-by: Michael Ellerman Signed-off-by: H. Peter Anvin commit 55622c6df3600267b1d61fa7e8a4d9341de3db24 Merge: 6c5200c... 2809f76... Author: Lachlan McIlroy Date: Mon Jan 19 14:22:45 2009 +1100 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs commit 6c5200ce3c528a8f7695ee62f33ad84d8f84d444 Merge: 9d87c31... f3b8436... Author: Lachlan McIlroy Date: Mon Jan 19 14:00:57 2009 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 2809f76afce05a73e08120f455107912aa519647 Author: Christoph Hellwig Date: Mon Jan 19 02:04:16 2009 +0100 xfs: sanity check attr fork size Recently we have quite a few kerneloops reports about dereferencing a NULL if_data in the attribute fork. From looking over the code this can only happen if we pass a 0 size argument to xfs_iformat_local. This implies some sort of corruption and in fact the only mailinglist report about this from earlier this year was after a powerfail presumably on a system with write cache and without barriers. Add a quick sanity check for the attr fork size in xfs_iformat to catch these early and without an oops. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 7884bc8617e6b8afda8cb8853cf14abfd3148d5c Author: Christoph Hellwig Date: Mon Jan 19 02:04:07 2009 +0100 xfs: fix bad_features2 fixups for the root filesystem Currently the bad_features2 fixup and the alignment updates in the superblock are skipped if we mount a filesystem read-only. But for the root filesystem the typical case is to mount read-only first and only later remount writeable so we'll never perform this update at all. It's not a big problem but means the logs of people needing the fixup get spammed at every boot because they never happen on disk. Reported-by: Arkadiusz Miskiewicz Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 98b8c7a0c42acf0d6963dbb9aabe4a2e312aae12 Author: Christoph Hellwig Date: Mon Jan 19 02:03:25 2009 +0100 xfs: add a lock class for group/project dquots We can have both a user and a group/project dquot locked at the same time, as long as the user dquot is locked first. Tell lockdep about that fact by making the group/project dquots a different lock class. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 5bb87a33b2cfb8e7ef3383718274094bdff266a3 Author: Christoph Hellwig Date: Mon Jan 19 02:03:19 2009 +0100 xfs: lockdep annotations for xfs_dqlock2 xfs_dqlock2 locks two xfs_dquots, which is fine as it always locks the dquot with the lower id first. Use mutex_lock_nested to tell lockdep about this fact. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit a4edd1da20af79b2e92efeee3ca94831c8024d61 Author: Christoph Hellwig Date: Mon Jan 19 02:03:11 2009 +0100 xfs: add a separate lock class for the per-mount list of dquots We can have both a a quota hash chain and the per-mount list locked at the same time. But given that both use the same struct dqhash as list head we have to tell lockdep that they are different lock classes. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 178eae342b34185ef7b11e62df2f74ba45daa56e Author: Christoph Hellwig Date: Mon Jan 19 02:03:03 2009 +0100 xfs: use mnt_want_write in compat_attrmulti ioctl The compat version of the attrmulti ioctl needs to ask for and then later release write access to the mount just like the native version, otherwise we could potentially write to read-only mounts. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit d296d30a9948e895bff005d92c38309e8bd30975 Author: Christoph Hellwig Date: Mon Jan 19 02:02:57 2009 +0100 xfs: fix dentry aliasing issues in open_by_handle Open by handle just grabs an inode by handle and then creates itself a dentry for it. While this works for regular files it is horribly broken for directories, where the VFS locking relies on the fact that there is only just one single dentry for a given inode, and that these are always connected to the root of the filesystem so that it's locking algorithms work (see Documentations/filesystems/Locking) Remove all the existing open by handle code and replace it with a small wrapper around the exportfs code which deals with all these issues. At the same time we also make the checks for a valid handle strict enough to reject all not perfectly well formed handles - given that we never hand out others that's okay and simplifies the code. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit cd89596f0ccfa3ccb8a81ce47782231cf7ea7296 Author: David P. Quigley Date: Fri Jan 16 09:22:04 2009 -0500 SELinux: Unify context mount and genfs behavior Context mounts and genfs labeled file systems behave differently with respect to setting file system labels. This patch brings genfs labeled file systems in line with context mounts in that setxattr calls to them should return EOPNOTSUPP and fscreate calls will be ignored. Signed-off-by: David P. Quigley Acked-by: Eric Paris Signed-off-by: James Morris commit 11689d47f0957121920c9ec646eb5d838755853a Author: David P. Quigley Date: Fri Jan 16 09:22:03 2009 -0500 SELinux: Add new security mount option to indicate security label support. There is no easy way to tell if a file system supports SELinux security labeling. Because of this a new flag is being added to the super block security structure to indicate that the particular super block supports labeling. This flag is set for file systems using the xattr, task, and transition labeling methods unless that behavior is overridden by context mounts. Signed-off-by: David P. Quigley Acked-by: Eric Paris Signed-off-by: James Morris commit 0d90a7ec48c704025307b129413bc62451b20ab3 Author: David P. Quigley Date: Fri Jan 16 09:22:02 2009 -0500 SELinux: Condense super block security structure flags and cleanup necessary code. The super block security structure currently has three fields for what are essentially flags. The flags field is used for mount options while two other char fields are used for initialization and proc flags. These latter two fields are essentially bit fields since the only used values are 0 and 1. These fields have been collapsed into the flags field and new bit masks have been added for them. The code is also fixed to work with these new flags. Signed-off-by: David P. Quigley Acked-by: Eric Paris Signed-off-by: James Morris commit b43f70933e7753a284733d5ae355f6778bd118ce Author: Steven Rostedt Date: Fri Jan 16 23:18:31 2009 -0500 ftrace: test for running of recordmcount.pl twice on an object Impact: fix failure of dynamic function tracer selftest In a course of development, a developer does several makes on their kernel. Sometimes, the make might do something abnormal. In the case of running the recordmcount.pl script on an object twice, the script will duplicate all the calls to mcount in the __mcount_loc section. On boot up, the dynamic function tracer is careful when it modifies code, and performs several consistency checks. One is to not modify the call site if it is not what it expects it to be. If a function call site is listed twice, the first entry will convert the site to a nop, and the second will fail because it expected to see a call to mcount, but instead it sees a nop. Thus, the function tracer is disabled. Eric Sesterhenn reported seeing: [ 1.055440] ftrace: converting mcount calls to 0f 1f 44 00 00 [ 1.055568] ftrace: allocating 29418 entries in 116 pages [ 1.061000] ------------[ cut here ]------------ [ 1.061000] WARNING: at kernel/trace/ftrace.c:441 [...] [ 1.060000] ---[ end trace 4eaa2a86a8e2da23 ]--- [ 1.060000] ftrace failed to modify [] check_corruption+0x3/0x2d [ 1.060000] actual: 0f:1f:44:00:00 This warning shows that check_corruption+0x3 already had a nop in its place (0x0f1f440000). After compiling another kernel the problem went away. Later Eric Paris notice the same type of issue. Luckily, he saved the vmlinux file that caused it. In the file we found a bunch of duplicate mcount call site records, which lead us to the script. Perhaps this problem only happens to people named Eric. This patch changes the script to test if the __mcount_loc already exists in the object file, and if it does, it will print out an error message and kill the compile. Reported-by: Eric Sesterhenn Reported-by: Eric Paris Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4092762aebfe55c1f8e31440b80a053c2dbe519b Merge: 745b162... 1de9e8e... Author: Ingo Molnar Date: Sun Jan 18 20:15:05 2009 +0100 Merge branch 'tracing/ftrace'; commit 'v2.6.29-rc2' into tracing/core commit 5662a2f8e7313f78d6b17ab383f3e4f04971c335 Author: Ingo Molnar Date: Sun Jan 18 19:37:21 2009 +0100 x86, rdc321x: remove/move leftover files Impact: cleanup Move/remove leftover RDC321 files. Now that it's not a subarch anymore, arch/x86/mach-rdc321x and arch/x86/include/asm/mach-rdc321x/ are not needed. One include file was still in use: rdc321x_defs.h, move that to the generic x86 asm header directory. Signed-off-by: Ingo Molnar commit 8693290b9038f32b6b9bafd97b7e18465d62655b Author: Andreas Bergmeier Date: Sun Jan 18 18:48:03 2009 +0100 ALSA: usb-audio - Quirk for Serato phono Ignore errors (wrong usb interface data) found when using the serato scratch live box with alsa Thus the alsa controls can be accessed (beware: they don't work though - but at least it's one ugly error message less) Signed-off-by: Andreas Bergmeier Signed-off-by: Takashi Iwai commit b2b062b8163391c42b3219d466ca1ac9742b9c7b Merge: a9de18e... 99937d6... Author: Ingo Molnar Date: Sun Jan 18 18:37:14 2009 +0100 Merge branch 'core/percpu' into stackprotector Conflicts: arch/x86/include/asm/pda.h arch/x86/include/asm/system.h Also, moved include/asm-x86/stackprotector.h to arch/x86/include/asm. Signed-off-by: Ingo Molnar commit 99937d6455cea95405ac681c86a857d0fcd530bd Merge: 74e7904... 87b2640... Author: Ingo Molnar Date: Sun Jan 18 17:41:32 2009 +0100 Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu commit 87b264065880fa696c121dad8498a60524e0f6de Author: Brian Gerst Date: Mon Jan 19 00:38:59 2009 +0900 x86-64: Use absolute displacements for per-cpu accesses. Accessing memory through %gs should not use rip-relative addressing. Adding a P prefix for the argument tells gcc to not add (%rip) to the memory references. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit c2558e0eba66b49993e619da66c95a50a97830a3 Author: Brian Gerst Date: Mon Jan 19 00:38:59 2009 +0900 x86-64: Move isidle from PDA to per-cpu. tj: s/isidle/is_idle/ Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit e7a22c1ebcc1caa8178df1819d05128bb5b45ab9 Author: Brian Gerst Date: Mon Jan 19 00:38:59 2009 +0900 x86-64: Move nodenumber from PDA to per-cpu. tj: * s/nodenumber/node_number/ * removed now unused pda variable from pda_init() Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 5689553076c4a67b83426b076082c63085b7567a Author: Brian Gerst Date: Mon Jan 19 00:38:58 2009 +0900 x86-64: Move irqcount from PDA to per-cpu. tj: s/irqcount/irq_count/ Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 3d1e42a7cf945e289d6ba26159aa0e2b0645401b Author: Brian Gerst Date: Mon Jan 19 00:38:58 2009 +0900 x86-64: Move oldrsp from PDA to per-cpu. tj: * in asm-offsets_64.c, pda.h inclusion shouldn't be removed as pda is still referenced in the file * s/oldrsp/old_rsp/ Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 9af45651f1f7c89942e016a1a00a7ebddfa727f8 Author: Brian Gerst Date: Mon Jan 19 00:38:58 2009 +0900 x86-64: Move kernelstack from PDA to per-cpu. Also clean up PER_CPU_VAR usage in xen-asm_64.S tj: * remove now unused stack_thread_info() * s/kernelstack/kernel_stack/ * added FIXME comment in xen-asm_64.S Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit c6f5e0acd5d12ee23f701f15889872e67b47caa6 Author: Brian Gerst Date: Mon Jan 19 00:38:58 2009 +0900 x86-64: Move current task from PDA to per-cpu and consolidate with 32-bit. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit ea9279066de44053d0c20ea855bc9f4706652d84 Author: Brian Gerst Date: Mon Jan 19 00:38:58 2009 +0900 x86-64: Move cpu number from PDA to per-cpu and consolidate with 32-bit. tj: moved cpu_number definition out of CONFIG_HAVE_SETUP_PER_CPU_AREA for voyager. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 92d65b2371d86d40807e1dbfdccadc4d501edcde Author: Brian Gerst Date: Mon Jan 19 00:38:58 2009 +0900 x86-64: Convert exception stacks to per-cpu Move the exception stacks to per-cpu, removing specific allocation code. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 26f80bd6a9ab17bc8a60b6092e7c0d05c5927ce5 Author: Brian Gerst Date: Mon Jan 19 00:38:58 2009 +0900 x86-64: Convert irqstacks to per-cpu Move the irqstackptr variable from the PDA to per-cpu. Make the stacks themselves per-cpu, removing some specific allocation code. Add a seperate flag (is_boot_cpu) to simplify the per-cpu boot adjustments. tj: * sprinkle some underbars around. * irq_stack_ptr is not used till traps_init(), no reason to initialize it early. On SMP, just leaving it NULL till proper initialization in setup_per_cpu_areas() works. Dropped is_boot_cpu and early irq_stack_ptr initialization. * do DECLARE/DEFINE_PER_CPU(char[IRQ_STACK_SIZE], irq_stack) instead of (char, irq_stack[IRQ_STACK_SIZE]). Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 9eb912d1aa6b8106e06a73ea6702ec3dab0d6a1a Author: Brian Gerst Date: Mon Jan 19 00:38:57 2009 +0900 x86-64: Move TLB state from PDA to per-cpu and consolidate with 32-bit. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 1b437c8c73a36daa471dd54a63c426d72af5723d Author: Brian Gerst Date: Mon Jan 19 00:38:57 2009 +0900 x86-64: Move irq stats from PDA to per-cpu and consolidate with 32-bit. Signed-off-by: Brian Gerst Signed-off-by: Tejun Heo commit 9c3da0991754d480328eeaa2b90cb231a1cea9b6 Author: Harvey Harrison Date: Sat Jan 17 17:11:57 2009 -0800 IB: Remove __constant_{endian} uses The base versions handle constant folding just fine, use them directly. The replacements are OK in the include/ files as they are not exported to userspace so we don't need the __ prefixed versions. This patch does not affect code generation at all. Signed-off-by: Harvey Harrison Signed-off-by: Roland Dreier commit 9ef344f89ac41116d4ab138b0941c784a3ab8cf4 Author: Krzysztof Helt Date: Fri Jan 16 22:47:30 2009 +0100 ALSA: wss-lib: remove "pops" before each played sound A WSS codec is autocalibrated each time before playing sound. Do only one calibration during codec initialization. Complete snd_wss_calibrate_mute to mute loopback volume as well. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit d1a020050c6ce1a0794ff73582ccf47e4db536f7 Merge: dc61b66... 641b487... Author: Takashi Iwai Date: Sat Jan 17 12:01:12 2009 +0100 Merge branch 'topic/usb-mixer-cache' into next/usb-audio commit 74e7904559a10cbb9fbf9139c5c42fc87c0f62a4 Author: Tejun Heo Date: Sat Jan 17 15:26:32 2009 +0900 linker script: add missing .data.percpu.page_aligned arm, arm/mach-integrator and powerpc were missing .data.percpu.page_aligned in their percpu output section definitions. Add it. Signed-off-by: Tejun Heo commit 145cd30bac885dffad9db9d487baad07b68a3d04 Author: Tejun Heo Date: Sat Jan 17 14:42:50 2009 +0900 linker script: add missing VMLINUX_SYMBOL The newly added PERCPU_*() macros define and use __per_cpu_load but VMLINUX_SYMBOL() was missing from usages causing build failures on archs where linker visible symbol is different from C symbols (e.g. blackfin). Signed-off-by: Tejun Heo commit cef30b3a84e1c7cbd49987d83c5863c001445842 Author: Mike Travis Date: Fri Jan 16 15:58:13 2009 -0800 x86: put trigger in to detect mismatched apic versions. Fire off one message if two apic's discovered with different apic versions. Signed-off-by: Mike Travis commit 6eb714c63ed5bd663627f7dda8c4d5258f3b64ef Author: Mike Travis Date: Fri Jan 16 15:31:15 2009 -0800 cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write Impact: use new work_on_cpu function to reduce stack usage Replace the saving of current->cpus_allowed and set_cpus_allowed_ptr() with a work_on_cpu function for drv_read() and drv_write(). Basically converts do_drv_{read,write} into "work_on_cpu" functions that are now called by drv_read and drv_write. Note: This patch basically reverts 50c668d6 which reverted 7503bfba, now that the work_on_cpu() function is more stable. Signed-off-by: Mike Travis Acked-by: Rusty Russell Tested-by: Dieter Ries Tested-by: Maciej Rutecki Cc: Dave Jones Cc: commit e1d9ec6246a2668a5d037f529877efb7cf176af8 Author: Rusty Russell Date: Fri Jan 16 15:31:15 2009 -0800 work_on_cpu: Use our own workqueue. Impact: remove potential clashes with generic kevent workqueue Annoyingly, some places we want to use work_on_cpu are already in workqueues. As per Ingo's suggestion, we create a different workqueue for work_on_cpu. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 68564a46976017496c2227660930d81240f82355 Author: Rusty Russell Date: Fri Jan 16 15:31:15 2009 -0800 work_on_cpu: don't try to get_online_cpus() in work_on_cpu. Impact: remove potential circular lock dependency with cpu hotplug lock This has caused more problems than it solved, with a pile of cpu hotplug locking issues. Followup patches will get_online_cpus() in callers that need it, but if they don't do it they're no worse than before when they were using set_cpus_allowed without locking. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit c42f69bb064333624dcc1452ed109441c3c9e7b4 Author: Mark Brown Date: Fri Jan 16 16:31:03 2009 +0000 ASoC: Ignore output frequency for WM9713 PLL The WM9713 driver does not support configuring the PLL output frequency so the output frequency parameter is irrelevant. Allow users to set it to zero by ignoring it. Signed-off-by: Mark Brown commit 74296a8ed6aa3c5bf672808ada690de7ba323ecc Author: Ingo Molnar Date: Fri Jan 16 17:43:50 2009 +0100 irq: provide debug_poll_all_shared_irqs() method under CONFIG_DEBUG_SHIRQ Provide a shared interrupt debug facility under CONFIG_DEBUG_SHIRQ: it uses the existing irqpoll facilities to iterate through all registered interrupt handlers and call those which can handle shared IRQ lines. This can be handy for suspend/resume debugging: if we call this function early during resume we can trigger crashes in those drivers which have incorrect assumptions about when exactly their ISRs will be called during suspend/resume. Signed-off-by: Ingo Molnar commit 5a2dd72abdae75ea2960145e0549635ce4e0be96 Merge: efdc64f... 7cb36b6... Author: Ingo Molnar Date: Fri Jan 16 17:46:22 2009 +0100 Merge branch 'linus' into irq/genirq commit 2905a5df4a1600bc3c9ecace2fa65404196d1fda Merge: 0465c7a... 591046c... Author: Mark Brown Date: Fri Jan 16 16:40:35 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit 0465c7aa6fbab89de820442aed449ceb8d9145a6 Author: Ian Molton Date: Thu Jan 8 21:16:05 2009 +0000 ASoC: machine driver for Toshiba e800 This patch adds support for the wm9712 ac97 codec as used in the Toshiba e800 PDA. It includes support for powering up / down the external headphone and speaker amplifiers on this machine. Signed-off-by: Ian Molton Signed-off-by: Mark Brown commit a7e2e735dcf98717150d3c8eaa731de8038af05a Author: Ian Molton Date: Thu Jan 8 21:03:55 2009 +0000 ASoC: machine driver for Toshiba e750 This patch adds support for the wm9705 ac97 codec as used in the Toshiba e750 PDA. It includes support for powering up / down the external headphone and speaker amplifiers on this machine. Signed-off-by: Ian Molton Signed-off-by: Mark Brown commit 2aceefefc891e85d336c1d95d9d89fd785f5d44c Author: Ian Molton Date: Fri Jan 16 11:04:18 2009 +0000 ASoC: Driver for the WM9705 AC97 codec. This driver adds support for the wm9705 ac97 codec. The driver supports audio input and output. Signed-off-by: Ian Molton Signed-off-by: Mark Brown commit ceacc2c1c85ac498ca4cf297bdfe5b4aaa9fd0e0 Author: Peter Zijlstra Date: Fri Jan 16 14:46:40 2009 +0100 sched: make plist a library facility Ingo Molnar wrote: > here's a new build failure with tip/sched/rt: > > LD .tmp_vmlinux1 > kernel/built-in.o: In function `set_curr_task_rt': > sched.c:(.text+0x3675): undefined reference to `plist_del' > kernel/built-in.o: In function `pick_next_task_rt': > sched.c:(.text+0x37ce): undefined reference to `plist_del' > kernel/built-in.o: In function `enqueue_pushable_task': > sched.c:(.text+0x381c): undefined reference to `plist_del' Eliminate the plist library kconfig and make it available unconditionally. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cd3adf52309867955d6e2175246b526442235805 Author: Tejun Heo Date: Fri Jan 16 12:11:43 2009 +0900 x86_64: initialize this_cpu_off to __per_cpu_load On x86_64, if get_per_cpu_var() is used before per cpu area is setup (if lockdep is turned on, it happens), it needs this_cpu_off to point to __per_cpu_load. Initialize accordingly. Signed-off-by: Tejun Heo commit a338af2c648f5e07c582154745a6c60cd2d8bf12 Author: Tejun Heo Date: Fri Jan 16 11:19:03 2009 +0900 x86: fix build bug introduced during merge EXPORT_PER_CPU_SYMBOL() got misplaced during merge leading to build failure. Fix it. Signed-off-by: Tejun Heo commit 6dbde3530850d4d8bfc1b6bd4006d92786a2787f Author: Ingo Molnar Date: Thu Jan 15 22:15:53 2009 +0900 percpu: add optimized generic percpu accessors It is an optimization and a cleanup, and adds the following new generic percpu methods: percpu_read() percpu_write() percpu_add() percpu_sub() percpu_and() percpu_or() percpu_xor() and implements support for them on x86. (other architectures will fall back to a default implementation) The advantage is that for example to read a local percpu variable, instead of this sequence: return __get_cpu_var(var); ffffffff8102ca2b: 48 8b 14 fd 80 09 74 mov -0x7e8bf680(,%rdi,8),%rdx ffffffff8102ca32: 81 ffffffff8102ca33: 48 c7 c0 d8 59 00 00 mov $0x59d8,%rax ffffffff8102ca3a: 48 8b 04 10 mov (%rax,%rdx,1),%rax We can get a single instruction by using the optimized variants: return percpu_read(var); ffffffff8102ca3f: 65 48 8b 05 91 8f fd mov %gs:0x7efd8f91(%rip),%rax I also cleaned up the x86-specific APIs and made the x86 code use these new generic percpu primitives. tj: * fixed generic percpu_sub() definition as Roel Kluin pointed out * added percpu_and() for completeness's sake * made generic percpu ops atomic against preemption Signed-off-by: Ingo Molnar Signed-off-by: Tejun Heo commit 004aa322f855a765741d9437a98dd8fe2e4f32a6 Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: misc clean up after the percpu update Do the following cleanups: * kill x86_64_init_pda() which now is equivalent to pda_init() * use per_cpu_offset() instead of cpu_pda() when initializing initial_gs Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 49357d19e4fb31e28796eaff83499e7584c26878 Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: convert pda ops to wrappers around x86 percpu accessors pda is now a percpu variable and there's no reason it can't use plain x86 percpu accessors. Add x86_test_and_clear_bit_percpu() and replace pda op implementations with wrappers around x86 percpu accessors. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit b12d8db8fbfaed1e8222a15333a3645599636854 Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: make pda a percpu variable [ Based on original patch from Christoph Lameter and Mike Travis. ] As pda is now allocated in percpu area, it can easily be made a proper percpu variable. Make it so by defining per cpu symbol from linker script and declaring it in C code for SMP and simply defining it for UP. This change cleans up code and brings SMP and UP closer a bit. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 9939ddaff52787b2a7c1adf1b2afc95421aa0884 Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: merge 64 and 32 SMP percpu handling Now that pda is allocated as part of percpu, percpu doesn't need to be accessed through pda. Unify x86_64 SMP percpu access with x86_32 SMP one. Other than the segment register, operand size and the base of percpu symbols, they behave identical now. This patch replaces now unnecessary pda->data_offset with a dummy field which is necessary to keep stack_canary at its place. This patch also moves per_cpu_offset initialization out of init_gdt() into setup_per_cpu_areas(). Note that this change also necessitates explicit per_cpu_offset initializations in voyager_smp.c. With this change, x86_OP_percpu()'s are as efficient on x86_64 as on x86_32 and also x86_64 can use assembly PER_CPU macros. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 1a51e3a0aed18767cf2762e95456ecfeb0bca5e6 Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: fold pda into percpu area on SMP [ Based on original patch from Christoph Lameter and Mike Travis. ] Currently pdas and percpu areas are allocated separately. %gs points to local pda and percpu area can be reached using pda->data_offset. This patch folds pda into percpu area. Due to strange gcc requirement, pda needs to be at the beginning of the percpu area so that pda->stack_canary is at %gs:40. To achieve this, a new percpu output section macro - PERCPU_VADDR_PREALLOC() - is added and used to reserve pda sized chunk at the start of the percpu area. After this change, for boot cpu, %gs first points to pda in the data.init area and later during setup_per_cpu_areas() gets updated to point to the actual pda. This means that setup_per_cpu_areas() need to reload %gs for CPU0 while clearing pda area for other cpus as cpu0 already has modified it when control reaches setup_per_cpu_areas(). This patch also removes now unnecessary get_local_pda() and its call sites. A lot of this patch is taken from Mike Travis' "x86_64: Fold pda into per cpu area" patch. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit c8f3329a0ddd751241e96b4100df7eda14b2cbc6 Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: use static _cpu_pda array _cpu_pda array first uses statically allocated storage in data.init and then switches to allocated bootmem to conserve space. However, after folding pda area into percpu area, _cpu_pda array will be removed completely. Drop the reallocation part to simplify the code for soon-to-follow changes. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit f32ff5388d86518c0375ccdb330d3b459b9c405e Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: load pointer to pda into %gs while brining up a CPU [ Based on original patch from Christoph Lameter and Mike Travis. ] CPU startup code in head_64.S loaded address of a zero page into %gs for temporary use till pda is loaded but address to the actual pda is available at the point. Load the real address directly instead. This will help unifying percpu and pda handling later on. This patch is mostly taken from Mike Travis' "x86_64: Fold pda into per cpu area" patch. Signed-off-by: Tejun Heo commit 3e5d8f978435bb9ba4dfe3f4514e65e7885db1a9 Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: make percpu symbols zerobased on SMP [ Based on original patch from Christoph Lameter and Mike Travis. ] This patch makes percpu symbols zerobased on x86_64 SMP by adding PERCPU_VADDR() to vmlinux.lds.h which helps setting explicit vaddr on the percpu output section and using it in vmlinux_64.lds.S. A new PHDR is added as existing ones cannot contain sections near address zero. PERCPU_VADDR() also adds a new symbol __per_cpu_load which always points to the vaddr of the loaded percpu data.init region. The following adjustments have been made to accomodate the address change. * code to locate percpu gdt_page in head_64.S is updated to add the load address to the gdt_page offset. * __per_cpu_load is used in places where access to the init data area is necessary. * pda->data_offset is initialized soon after C code is entered as zero value doesn't work anymore. This patch is mostly taken from Mike Travis' "x86_64: Base percpu variables at zero" patch. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit a698c823e15149941b0f0281527d0c0d1daf2639 Author: Tejun Heo Date: Tue Jan 13 20:41:35 2009 +0900 x86: make vmlinux_32.lds.S use PERCPU() macro Make vmlinux_32.lds.S use the generic PERCPU() macro instead of open coding it. This will ease future changes. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit c90aa894f0240084f2c6e42e2333b211d6cfe2b2 Author: Mike Travis Date: Tue Jan 13 20:41:34 2009 +0900 x86: cleanup early setup_percpu references [ Based on original patch from Christoph Lameter and Mike Travis. ] * Ruggedize some calls in setup_percpu.c to prevent mishaps in early calls, particularly for non-critical functions. * Cleanup DEBUG_PER_CPU_MAPS usages and some comments. Signed-off-by: Mike Travis Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit f10fcd47120e80f66665567dbe17f5071c7aef52 Author: Tejun Heo Date: Tue Jan 13 20:41:34 2009 +0900 x86: make early_per_cpu() a lvalue and use it Make early_per_cpu() a lvalue as per_cpu() is and use it where applicable. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 7de6883faad71e3a253d55b9e1a47b89ebce0a31 Author: Tejun Heo Date: Tue Jan 13 20:41:34 2009 +0900 x86: fix pda_to_op() There's no instruction to move a 64bit immediate into memory location. Drop "i". Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 34cb61359b503d7aff6447acb037a5efd6ce93b2 Author: Ingo Molnar Date: Fri Jan 16 13:36:06 2009 +0100 sched: fix !CONFIG_SCHEDSTATS build failure Stephen Rothwell reported this linux-next build failure with !CONFIG_SCHEDSTATS: | In file included from kernel/sched.c:1703: | kernel/sched_fair.c: In function 'adaptive_gran': | kernel/sched_fair.c:1324: error: 'struct sched_entity' has no member named 'avg_wakeup' The start_runtime and avg_wakeup metrics are now not just for statistics, but also for scheduling - so they always need to be available. (Also move out the nr_migrations fields - for future perfcounters usage.) Reported-by: Stephen Rothwell Signed-off-by: Ingo Molnar commit 2d68259db26ad57fd9643f1c69b5181ec9836ca9 Author: Magnus Damm Date: Fri Jan 16 17:14:38 2009 +0900 clockevents: let set_mode() setup delta information Allow the set_mode() clockevent callback to decide and fill in delta details such as shift, mult, max_delta_ns and min_delta_ns. With this change the clockevent can be registered without delta details which allows us to keep the parent clock disabled until the clockevent gets setup using set_mode(). Letting set_mode() fill in or update delta details allows us to save power by disabling the parent clock while the clockevent is unused. This may however make the parent clock rate change, so next time the clockevent gets enabled we need let set_mode() to update the detla details accordingly. Doing it at registration time is not enough. Furthermore, the delta details seem unused in the case of periodic-only clockevent drivers, so this change also allows registration of such drivers without the delta details filled in. Signed-off-by: Magnus Damm Signed-off-by: Thomas Gleixner commit 745b1626dd71ce9661a05ea4db57859ed5c773d2 Author: Steven Rostedt Date: Thu Jan 15 23:40:11 2009 -0500 trace: set max latency variable to zero on default Impact: trace max latencies on start of latency tracing This patch sets the max latency to zero whenever one of the irq variant tracers or the wakeup tracer is set to current tracer. Most developers expect to see output when starting up a latency tracer. But since the max_latency is already set to max, and it takes a latency greater than max_latency to be recorded, there is no trace. This is not the expected behavior and has even confused myself. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a225cdd263f340c864febb1992802fb5b08bc328 Author: Steven Rostedt Date: Thu Jan 15 23:06:03 2009 -0500 ftrace: remove static from function tracer functions Impact: clean up After reorganizing the functions in trace.c and trace_function.c, they no longer need to be in global context. This patch makes the functions and one variable into static. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 3eb36aa05329a47cbe201c151fd0024a4a3649cd Author: Steven Rostedt Date: Thu Jan 15 22:21:43 2009 -0500 ftrace: combine stack trace in function call Impact: less likely to interleave function and stack traces This patch does replaces the separate stack trace on function with a record function and stack trace together. This will switch between the function only recording to a function and stack recording. Also some whitespace fix ups as well. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5e4abc9839191e213965e0f1dbf36e2e44356c3a Author: Steven Rostedt Date: Thu Jan 15 21:00:50 2009 -0500 trace: clean up format errors in calls to trace_seq_printf After adding the printf format checking for trace_seq_printf, several warnings now show up. This patch cleans them up. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c37abc5515b5ed5b1d2134d2deaead492d9f92a2 Author: Steven Rostedt Date: Thu Jan 15 20:50:54 2009 -0500 trace: add gcc printf check to trace_seq_printf Andrew Morton suggested adding a printf checker to trace_seq_printf since there are a number of users that have improper format arguments. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit bb3c3c95f330f7bf16e33b002e48882616089db1 Author: Steven Rostedt Date: Thu Jan 15 20:40:23 2009 -0500 ftrace: move function tracer functions out of trace.c Impact: clean up of trace.c The function tracer functions were put in trace.c because it needed to share static variables that were in trace.c. Since then, those variables have become global for various reasons. This patch moves the function tracer functions into trace_function.c where they belong. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5361499101306cfb776c3cfa0f69d0479bc63868 Author: Steven Rostedt Date: Thu Jan 15 19:12:40 2009 -0500 ftrace: add stack trace to function tracer Impact: new feature to stack trace any function Chris Mason asked about being able to pick and choose a function and get a stack trace from it. This feature enables his request. # echo io_schedule > /debug/tracing/set_ftrace_filter # echo function > /debug/tracing/current_tracer # echo func_stack_trace > /debug/tracing/trace_options Produces the following in /debug/tracing/trace: kjournald-702 [001] 135.673060: io_schedule <-sync_buffer kjournald-702 [002] 135.673671: <= sync_buffer <= __wait_on_bit <= out_of_line_wait_on_bit <= __wait_on_buffer <= sync_dirty_buffer <= journal_commit_transaction <= kjournald Note, be careful about turning this on without filtering the functions. You may find that you have a 10 second lag between typing and seeing what you typed. This is why the stack trace for the function tracer does not use the same stack_trace flag as the other tracers use. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6c1a99afbda99cd8d8c69d756387041567a13d87 Author: Lai Jiangshan Date: Thu Jan 15 18:05:40 2009 +0800 ftrace: fix trace_output Impact: fix bug for handling partial line trace_seq_printf(), seq_print_userip_objs(), ... return 0 -- partial line was written other(>0) -- success duplicate output is also removed in trace_print_raw(). Signed-off-by: Lai Jiangshan Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2165592b837e086f2b94835a2d81e6f3199c1319 Author: Daniel Mack Date: Fri Jan 16 11:03:19 2009 +0100 ALSA: snd-usb-caiaq: support for two more audio devices - Added support for two new audio devices from Native Instuments, 'Audio4DJ' and 'GuitarRig mobile' - Add missing statement about 'Session IO' in Kconfig help text - Version number bumped to 1.3.11 Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit af2519fb2298cdf7540082c36f4d8c66bbff103f Merge: 961d7d0... 7cb36b6... Author: Ingo Molnar Date: Fri Jan 16 10:09:10 2009 +0100 Merge branch 'linus' into core/iommu Conflicts: arch/ia64/include/asm/dma-mapping.h arch/ia64/include/asm/machvec.h arch/ia64/include/asm/machvec_sn2.h commit 61f3632fdcdcf547f6487f56b45976d7964756c4 Author: Haavard Skinnemoen Date: Wed Jan 14 13:32:53 2009 +0100 avr32: fix out-of-range rjmp instruction on large kernels Use .subsection to place fixups closer to their jump targets. This increases the maximum size of the kernel before we get link errors significantly. The problem here is that we don't have a "call"-ish pseudo-instruction to use instead of rjmp...we could add one, but that means we'll have to wait for a new toolchain release, wait until we're fairly sure most people are using it, etc... As an added bonus, it should decrease the RAM footprint slightly, though it might pollute the icache a bit more. Signed-off-by: Haavard Skinnemoen commit 8d29b7b9f81d6b83d869ff054e6c189d6da73f1f Author: Ben Nizette Date: Wed Jan 14 09:32:19 2009 +1100 avr32: Fix out-of-range rcalls in large kernels Replace handcoded rcall instructions with the call pseudo-instruction. For kernels too far over 1MB the rcall instruction can't reach and linking will fail. We already call the final linker with --relax which converts call pseudo-instructions to the right things anyway. This fixes arch/avr32/kernel/built-in.o: In function `syscall_exit_work': (.ex.text+0x198): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `schedule' defined in .sched.text section in kernel/built-in.o arch/avr32/kernel/built-in.o: In function `fault_exit_work': (.ex.text+0x3b6): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `schedule' defined in .sched.text section in kernel/built-in.o But I'm still left with arch/avr32/kernel/built-in.o:(.fixup+0x2): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+45a arch/avr32/kernel/built-in.o:(.fixup+0x8): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+8ea arch/avr32/kernel/built-in.o:(.fixup+0xe): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+abe arch/avr32/kernel/built-in.o:(.fixup+0x14): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+ac8 arch/avr32/kernel/built-in.o:(.fixup+0x1a): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+ad2 arch/avr32/kernel/built-in.o:(.fixup+0x20): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+adc arch/avr32/kernel/built-in.o:(.fixup+0x26): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+ae6 arch/avr32/kernel/built-in.o:(.fixup+0x2c): relocation truncated to fit: R_AVR32_22H_PCREL against `.text'+af0 arch/avr32/kernel/built-in.o:(.fixup+0x32): additional relocation overflows omitted from the output These are caused by a similar problem with 'rjmp' instructions. Unfortunately, there's no easy fix for these at the moment since we don't have a arbitrary-range 'jmp' instruction similar to 'call'. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit 9d87c3192d96ef9ac1cec8321538e9b35e90b5aa Author: Eric Sandeen Date: Wed Jan 14 23:22:07 2009 -0600 [XFS] Remove the rest of the macro-to-function indirections. Remove the last of the macros-defined-to-static-functions. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ac37373b6463d32955c6ac6b753d5e5b0946a791 Author: Hugo Villeneuve Date: Thu Jan 15 15:40:35 2009 -0500 ASoC: DaVinci: Fix SFFSDR compilation error. Remove dependency on sffsdr_fpga_set_codec_fs() when the SFFSDR FPGA module is not selected. Signed-off-by: Hugo Villeneuve Signed-off-by: Mark Brown commit c99dbbe9f8f6b3e9383e64710217e873431d1c31 Author: Mike Travis Date: Thu Jan 15 12:09:44 2009 -0800 sched: fix warning on ia64 Andrew Morton reported this warning on ia64: kernel/sched.c: In function `sd_init_NODE': kernel/sched.c:7449: warning: comparison of distinct pointer types lacks a cast Using the untyped min() function produces such warnings. Fix: type the constant 32 as unsigned int to match typeof(num_online_cpus). Reported-by: Andrew Morton Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit c847a9c7139cd500eb1355367c43aba6aef62a71 Merge: 5cd7376... f2a0827... Author: Ingo Molnar Date: Thu Jan 15 18:37:07 2009 +0100 Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/travis/linux-2.6-cpus4096-for-ingo into cpus4096 commit 5f17e79cdf530b1a6090c65730e5656ac9c19eaa Author: Johannes Berg Date: Thu Jan 15 18:22:31 2009 +0100 ALSA: snd-aoa: handle master-amp if present Some machines have a master amp GPIO that needs to be toggled to get sound output, in addition to speaker/headphone/line-out amps. This makes snd-aoa handle it, if present in the device tree, thus making snd-aoa be able to output sound on PowerMac3,6, which was previously handled by snd-powermac which also doesn't use the master amp GPIO. Signed-off-by: Johannes Berg Signed-off-by: Takashi Iwai commit 45e513b689b8b0a01ec2b01cc21816e4780d7ea6 Author: Johannes Berg Date: Thu Jan 15 18:21:48 2009 +0100 ALSA: snd-aoa: handle older machines This patch changes snd-aoa to handle some older machines that are currently handled by snd-powermac. snd-aoa has a number of advantages though, notably it can autoload better and is generally a more modern driver. By hardcoding the accepted device-ids (last hunk of the patch) I'm trying to avoid regressions because this driver will otherwise load automatically and not let snd-powermac load. People who are unhappy with snd-powermac and have a device-id property in the device tree are encouraged to read this patch and make a patch to amend this as appropriate. Signed-off-by: Johannes Berg Signed-off-by: Takashi Iwai commit c0106d72b8d71696dbe9dc80e2c77d4ac63f7531 Merge: 5852973... eff317d... Author: Takashi Iwai Date: Thu Jan 15 18:27:20 2009 +0100 Merge branch 'topic/asoc' into next/asoc commit f2a082711905312dc7b6675e913fee0c4689f7ae Author: Mike Travis Date: Thu Jan 15 09:19:32 2009 -0800 x86: fix build warning when CONFIG_NUMA not defined. Impact: fix build warning The macro cpu_to_node did not reference it's argument, and instead simply returned a 0. This causes a "unused variable" warning if it's the only reference in a function (show_cache_disable). Replace it with the more correct inline function. Signed-off-by: Mike Travis commit 641b4879444c0edb276fedca5c2fcbd2e5c70044 Author: Takashi Iwai Date: Thu Jan 15 17:05:24 2009 +0100 ALSA: usb-audio - Cache mixer values Cache mixer values in usb-audio driver to reduce too excessive accesses to the hardware. Signed-off-by: Takashi Iwai commit 5cd7376200be7b8bab085557ff5876b04bd84191 Author: Ingo Molnar Date: Thu Jan 15 15:46:08 2009 +0100 fix: crash: IP: __bitmap_intersects+0x48/0x73 -tip testing found this crash: > [ 35.258515] calling acpi_cpufreq_init+0x0/0x127 @ 1 > [ 35.264127] BUG: unable to handle kernel NULL pointer dereference at (null) > [ 35.267554] IP: [] __bitmap_intersects+0x48/0x73 > [ 35.267554] PGD 0 > [ 35.267554] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c is still broken: there's no allocation of the variable mask, so we pass in an uninitialized cmd.mask field to drv_read(), which then passes it to the scheduler which then crashes ... Switch it over to the much simpler constant-cpumask-pointers approach. Signed-off-by: Ingo Molnar commit 49a93bc978b4b3d564f6b330179b4cc2724a031d Merge: 54da5b3d... a652504... Author: Ingo Molnar Date: Thu Jan 15 15:45:31 2009 +0100 Merge branch 'linus' into cpus4096 commit e56d0cfe7790fd3218ae4f6aae1335547fea8763 Author: Baodong Chen Date: Thu Jan 8 19:24:29 2009 +0800 Documentation/x86/boot.txt: modify fieldname Modify field names to the right ones: - start_sys was changed to start_sys_seg - iinitrd_addr_max was changed to ramdisk_max - pad2 was changed to pad2 and pad3 - readmode_swtch was changed to realmode_swtch Signed-off-by: Baodong Chen <[email]chenbdchenbd@gmail.com[email]> Acked-by: Jiri Kosina Signed-off-by: Ingo Molnar commit 7f268f4352cd7d3d18a20268887600aaebd9d974 Merge: a652504... 54da5b3d... b665967... a08c474... Author: Ingo Molnar Date: Thu Jan 15 13:18:57 2009 +0100 Merge branches 'cpus4096', 'x86/cleanups' and 'x86/urgent' into x86/percpu commit 54da5b3d44238eeb7417bacf792fb416d473bf4d Author: Ingo Molnar Date: Thu Jan 15 13:04:58 2009 +0100 x86: fix broken flush_tlb_others_ipi(), fix Impact: cleanup Use the proper type. Signed-off-by: Ingo Molnar commit a08c4743ed5b861c4fa3d75be00da7106c926296 Author: Jan Beulich Date: Wed Jan 14 12:28:51 2009 +0000 x86: avoid early crash in disable_local_APIC() E.g. when called due to an early panic. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit f11826385b63566d98c02d35f592232ee77cd791 Author: Jan Beulich Date: Wed Jan 14 12:27:35 2009 +0000 x86: fully honor "nolapic" Impact: widen the effect of the 'nolapic' boot parameter "nolapic" should not only suppress SMP and use of the LAPIC, but it also ought to have the effect of disabling all IO-APIC related activity as well as PCI MSI and HT-IRQs. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit e52fb7c097238d34f4d8e2a596f8a3f85b0c0565 Author: Peter Zijlstra Date: Wed Jan 14 12:39:19 2009 +0100 sched: prefer wakers Prefer tasks that wake other tasks to preempt quickly. This improves performance because more work is available sooner. The workload that prompted this patch was a kernel build over NFS4 (for some curious and not understood reason we had to revert commit: 18de9735300756e3ca9c361ef58409d8561dfe0d to make any progress at all) Without this patch a make -j8 bzImage (of x86-64 defconfig) would take 3m30-ish, with this patch we're down to 2m50-ish. psql-sysbench/mysql-sysbench show a slight improvement in peak performance as well, tbench and vmark seemed to not care. It is possible to improve upon the build time (to 2m20-ish) but that seriously destroys other benchmarks (just shows that there's more room for tinkering). Much thanks to Mike who put in a lot of effort to benchmark things and proved a worthy opponent with a competing patch. Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 831451ac4e44d3a20b581ce726ef1d1144373f7d Author: Peter Zijlstra Date: Wed Jan 14 12:39:18 2009 +0100 sched: introduce avg_wakeup Introduce a new avg_wakeup statistic. avg_wakeup is a measure of how frequently a task wakes up other tasks, it represents the average time between wakeups, with a limit of avg_runtime for when it doesn't wake up anybody. Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 55922173f1f63903b6de03711ab8ff980cbe58d2 Author: Ingo Molnar Date: Thu Jan 15 11:31:21 2009 +0100 tracing: trace_stat.c cleanup Impact: cleanup - whitespace / code alignment cleanups - avoid unnecessary forward prototype by reordering functions Signed-off-by: Ingo Molnar commit 42fab4b2cdc02cf28e2474ccfd75bc9225076590 Author: Li Zefan Date: Thu Jan 15 09:30:52 2009 +0800 tracing/ftrace: add missing unlock in register_stat_tracer() We should unlock all_stat_sessions_mutex before returning failure. Signed-off-by: Li Zefan Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d2287f5ebea9ff2487d614719775f0b03fce15f6 Author: Mike Travis Date: Wed Jan 14 15:43:54 2009 -0800 irq: update all arches for new irq_desc, fix Impact: fix build errors Since the SPARSE IRQS changes redefined how the kstat irqs are organized, arch's must use the new accessor function: kstat_incr_irqs_this_cpu(irq, DESC); If CONFIG_SPARSE_IRQS is set, then DESC is a pointer to the irq_desc which has a pointer to the kstat_irqs. If not, then the .irqs field of struct kernel_stat is used instead. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit cf47b8f3d96b0b8b10b557444a28b3ca4024ff82 Author: Chris Mason Date: Wed Jan 14 13:40:46 2009 -0500 Btrfs: stop spinning on mutex_trylock and let the adaptive code spin for us Mutexes now spin internally and the btrfs spin is no longer required for performance. Signed-off-by: Chris Mason Signed-off-by: Ingo Molnar commit 4a2b8dda3f8705880ec7408135645602d5590f51 Author: Frederic Weisbecker Date: Wed Jan 14 13:33:27 2009 -0800 tracing/function-graph-tracer: fix a regression while suspend to disk Impact: fix a crash while kernel image restore When the function graph tracer is running and while suspend to disk, some racy and dangerous things happen against this tracer. The current task will save its registers including the stack pointer which contains the return address hooked by the tracer. But the current task will continue to enter other functions after that to save the memory, and then it will store other return addresses, and finally loose the old depth which matches the return address saved in the old stack (during the registers saving). So on image restore, the code will return to wrong addresses. And there are other things: on restore, the task will have it's "current" pointer overwritten during registers restoring....switching from one task to another... That would be insane to try to trace function graphs at these stages. This patch makes the function graph tracer listening on power events, making it's tracing disabled for the current task (the one that performs the hibernation work) while suspend/resume to disk, making the tracing safe during hibernation. Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0ee6b6cf5bdb793b4c68507dd65adf16341aa4ca Author: Steven Rostedt Date: Wed Jan 14 14:50:19 2009 -0500 trace: stop all recording to ring buffer on ftrace_dump Impact: limit ftrace dump output Currently ftrace_dump only calls ftrace_kill that is a fast way to prevent the function tracer functions from being called (just sets a flag and clears the function to call, nothing else). It is better to also turn off any recording to the ring buffers as well. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6f3b34402e7282cde49dff395d7ea462bf33bf50 Author: Lai Jiangshan Date: Mon Jan 12 11:06:18 2009 +0800 ring_buffer: reset write when reserve buffer fail Impact: reset struct buffer_page.write when interrupt storm if struct buffer_page.write is not reset, any succedent committing will corrupted ring_buffer: static inline void rb_set_commit_to_write(struct ring_buffer_per_cpu *cpu_buffer) { ...... cpu_buffer->commit_page->commit = cpu_buffer->commit_page->write; ...... } when "if (RB_WARN_ON(cpu_buffer, next_page == reader_page))", ring_buffer is disabled, but some reserved buffers may haven't been committed. we need reset struct buffer_page.write. when "if (unlikely(next_page == cpu_buffer->commit_page))", ring_buffer is still available, we should not corrupt it. Signed-off-by: Lai Jiangshan Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 428aee1460a75197f0190534b4d610450ee59af1 Author: Steven Rostedt Date: Wed Jan 14 12:24:42 2009 -0500 trace: print ftrace_dump at KERN_EMERG log level Impact: fix to print out ftrace_dump when expected I was debugging a hard race condition to only find out that after I hit the race, my log level was not at level to show KERN_INFO. The time it took to trigger the race was wasted because I did not capture the trace. Since ftrace_dump is only called from kernel oops (and only when it is set in the kernel command line to do so), or when a developer adds it to their own local tree, the log level of the print should be at KERN_EMERG to make sure the print appears. ftrace_dump is not called by a normal user setup, and will not add extra unwanted print out to the console. There is no reason it should be at KERN_INFO. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ee287587dafd77fd211e50637561224605c214b4 Author: H. Peter Anvin Date: Wed Jan 14 16:07:38 2009 -0800 bzip2/lzma: update boot protocol specification Impact: documentation Update the boot protocol specification to include the currently supported file formats and their magic numbers. Signed-off-by: H. Peter Anvin commit 95c4bff0308eb0819436b730a836846d3e784657 Author: Cyrill Gorcunov Date: Wed Jan 14 23:37:46 2009 +0300 x86: headers cleanup - boot.h Impact: cleanup 'make headers_check' warn us about leaking of kernel private (mostly compile time vars) data to userspace in headers. Fix it. Neither BOOT_HEAP_SIZE, BOOT_STACK_SIZE refs was found by searching thru net (ie in user-space area) so fence this all by __KERNEL__ guard. Signed-off-by: Cyrill Gorcunov Signed-off-by: H. Peter Anvin commit dbca1df48e89d8aa59254fdc10ef16c16e73d94e Author: Cyrill Gorcunov Date: Wed Jan 14 23:37:50 2009 +0300 x86: headers cleanup - setup.h Impact: cleanup 'make headers_check' warn us about leaking of kernel private (mostly compile time vars) data to userspace in headers. Fix it. Guard this one by __KERNEL__. Signed-off-by: Cyrill Gorcunov Signed-off-by: H. Peter Anvin commit a7c4e68615e20771f279c51a2bec8980675c78c7 Author: Cyrill Gorcunov Date: Wed Jan 14 23:37:49 2009 +0300 x86: headers cleanup - sigcontext32.h Impact: cleanup 'make headers_check' warn us about lack of linux/types.h here. Lets add it. Signed-off-by: Cyrill Gorcunov Signed-off-by: H. Peter Anvin commit 444027031cd069ea7e48b016cb33bbf201c8a9f0 Author: Cyrill Gorcunov Date: Wed Jan 14 23:37:47 2009 +0300 x86: headers cleanup - prctl.h Impact: cleanup (internal kernel function exported) 'make headers_check' warn us about leaking of kernel private (mostly compile time vars) data to userspace in headers. Fix it. sys_arch_prctl is completely removed from header since frankly I don't even understand why we describe it here. It is described like __SYSCALL(__NR_arch_prctl, sys_arch_prctl) in unistd_64.h and implemented in process_64.c. User-mode linux involved? So this one in fact is suspicious. Signed-off-by: Cyrill Gorcunov Signed-off-by: H. Peter Anvin commit 73310a169aebe257efdd35a763cce1c7658f40c9 Author: H. Peter Anvin Date: Wed Jan 14 11:28:35 2009 -0800 init: make initrd/initramfs decompression failure a KERN_EMERG event Impact: More consistent behaviour, avoid policy in the kernel Upgrade/downgrade initrd/initramfs decompression failure from inconsistently a panic or a KERN_ALERT message to a KERN_EMERG event. It is, however, possible do design a system which can recover from this (using the kernel builtin code and/or the internal initramfs), which means this is policy, not a technical necessity. A good way to handle this would be to have a panic-level=X option, to force a panic on a printk above a certain level. That is a separate patch, however. Signed-off-by: H. Peter Anvin commit ac6e60ee405aa3bf718f7fe4cb01b7ee0b8877ec Author: Chris Mason Date: Wed Jan 14 17:29:31 2009 +0100 mutex: adaptive spinnning, performance tweaks Spin more agressively. This is less fair but also markedly faster. The numbers: * dbench 50 (higher is better): spin 1282MB/s v10 548MB/s v10 no wait 1868MB/s * 4k creates (numbers in files/second higher is better): spin avg 200.60 median 193.20 std 19.71 high 305.93 low 186.82 v10 avg 180.94 median 175.28 std 13.91 high 229.31 low 168.73 v10 no wait avg 232.18 median 222.38 std 22.91 high 314.66 low 209.12 * File stats (numbers in seconds, lower is better): spin 2.27s v10 5.1s v10 no wait 1.6s ( The source changes are smaller than they look, I just moved the need_resched checks in __mutex_lock_common after the cmpxchg. ) Signed-off-by: Chris Mason Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0d66bf6d3514b35eb6897629059443132992dbd7 Author: Peter Zijlstra Date: Mon Jan 12 14:01:47 2009 +0100 mutex: implement adaptive spinning Change mutex contention behaviour such that it will sometimes busy wait on acquisition - moving its behaviour closer to that of spinlocks. This concept got ported to mainline from the -rt tree, where it was originally implemented for rtmutexes by Steven Rostedt, based on work by Gregory Haskins. Testing with Ingo's test-mutex application (http://lkml.org/lkml/2006/1/8/50) gave a 345% boost for VFS scalability on my testbox: # ./test-mutex-shm V 16 10 | grep "^avg ops" avg ops/sec: 296604 # ./test-mutex-shm V 16 10 | grep "^avg ops" avg ops/sec: 85870 The key criteria for the busy wait is that the lock owner has to be running on a (different) cpu. The idea is that as long as the owner is running, there is a fair chance it'll release the lock soon, and thus we'll be better off spinning instead of blocking/scheduling. Since regular mutexes (as opposed to rtmutexes) do not atomically track the owner, we add the owner in a non-atomic fashion and deal with the races in the slowpath. Furthermore, to ease the testing of the performance impact of this new code, there is means to disable this behaviour runtime (without having to reboot the system), when scheduler debugging is enabled (CONFIG_SCHED_DEBUG=y), by issuing the following command: # echo NO_OWNER_SPIN > /debug/sched_features This command re-enables spinning again (this is also the default): # echo OWNER_SPIN > /debug/sched_features Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 41719b03091911028116155deddc5eedf8c45e37 Author: Peter Zijlstra Date: Wed Jan 14 15:36:26 2009 +0100 mutex: preemption fixes The problem is that dropping the spinlock right before schedule is a voluntary preemption point and can cause a schedule, right after which we schedule again. Fix this inefficiency by keeping preemption disabled until we schedule, do this by explicity disabling preemption and providing a schedule() variant that assumes preemption is already disabled. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 93d81d1aca26e64a75d06a85f7e128b5f49053e7 Author: Peter Zijlstra Date: Wed Jan 14 15:32:51 2009 +0100 mutex: small cleanup Remove a local variable by combining an assingment and test in one. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 6047a007d0f6b7395cd158f3bdda34ab39a48821 Author: Pekka Enberg Date: Wed Jan 14 12:22:25 2009 +0200 SLUB: Use ->objsize from struct kmem_cache_cpu in slab_free() There's no reason to use ->objsize from struct kmem_cache in slab_free() for the SLAB_DEBUG_OBJECTS case. All it does is generate extra cache pressure as we try very hard not to touch struct kmem_cache in the fast-path. Signed-off-by: Pekka Enberg commit 398a153b16b09a68739928d4502455db9725ac86 Author: Gregory Haskins Date: Wed Jan 14 09:10:04 2009 -0500 sched: fix build error in kernel/sched_rt.c when RT_GROUP_SCHED && !SMP Ingo found a build error in the scheduler when RT_GROUP_SCHED was enabled, but SMP was not. This patch rearranges the code such that it is a little more streamlined and compiles under all permutations of SMP, UP and RT_GROUP_SCHED. It was boot tested on my 4-way x86_64 and it still passes preempt-test. Signed-off-by: Gregory Haskins commit b07430ac37103218b5c1e542490a1b98e6deb3d6 Author: Gregory Haskins Date: Wed Jan 14 08:55:39 2009 -0500 sched: de CPP-ify the scheduler code Signed-off-by: Gregory Haskins commit b665967979d0e990f196e7c4ba88e17c9ed9b781 Author: Yinghai Lu Date: Mon Jan 12 11:54:27 2009 -0800 x86: make 32bit MAX_HARDIRQS_PER_CPU to be NR_VECTORS Impact: clean up to be same as 64bit 32-bit is using per-cpu vector too, so don't use default NR_IRQS. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e46d51787e23a607cac5f593ac9926743a636dff Merge: a4a0acf... 4a046d1... Author: Ingo Molnar Date: Wed Jan 14 12:13:45 2009 +0100 Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/travis/linux-2.6-cpus4096-for-ingo into cpus4096 commit 32632920a788fb13da35b131b77cc4324c38c1c5 Author: Uwe Kleine-Koenig Date: Mon Jan 12 23:35:50 2009 +0100 ftrace, trivial: fix typo "resgister" -> "register" Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e1d8aa9f1dd655a3534b22fcfbecb70cdb125766 Author: Frederic Weisbecker Date: Mon Jan 12 23:15:46 2009 +0100 tracing: add a new workqueue tracer Impact: new tracer The workqueue tracer provides some statistical informations about each cpu workqueue thread such as the number of the works inserted and executed since their creation. It can help to evaluate the amount of work each of them have to perform. For example it can help a developer to decide whether he should choose a per cpu workqueue instead of a singlethreaded one. It only traces statistical informations for now but it will probably later provide event tracing too. Such a tracer could help too, and be improved, to help rt priority sorted workqueue development. To have a snapshot of the workqueues state at any time, just do cat /debugfs/tracing/trace_stat/workqueues Ie: 1 125 125 reiserfs/1 1 0 0 scsi_tgtd/1 1 0 0 aio/1 1 0 0 ata/1 1 114 114 kblockd/1 1 0 0 kintegrityd/1 1 2147 2147 events/1 0 0 0 kpsmoused 0 105 105 reiserfs/0 0 0 0 scsi_tgtd/0 0 0 0 aio/0 0 0 0 ata_aux 0 0 0 ata/0 0 0 0 cqueue 0 0 0 kacpi_notify 0 0 0 kacpid 0 149 149 kblockd/0 0 0 0 kintegrityd/0 0 1000 1000 khelper 0 2270 2270 events/0 Changes in V2: _ Drop the static array based on NR_CPU and dynamically allocate the stat array with num_possible_cpus() and other cpu mask facilities.... _ Trace workqueue insertion at a bit lower level (insert_work instead of queue_work) to handle even the workqueue barriers. Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 002bb86d8d42f18937aef396c3ecd65c7e02e21a Author: Frederic Weisbecker Date: Sat Jan 10 11:34:13 2009 -0800 tracing/ftrace: separate events tracing and stats tracing engine Impact: tracing's Api change Currently, the stat tracing depends on the events tracing. When you switch to a new tracer, the stats files of the previous tracer will disappear. But it's more scalable to separate those two engines. This way, we can keep the stat files of one or several tracers when we want, without bothering of multiple tracer stat files or tracer switching. To build/destroys its stats files, a tracer just have to call register_stat_tracer/unregister_stat_tracer everytimes it wants to. Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a14a07b8018b714e03a39ff2180c66e307ef4238 Author: Shaohua Li Date: Fri Jan 9 11:29:49 2009 +0800 ftrace, ia64: IA64 dynamic ftrace support IA64 dynamic ftrace support. The original _mcount stub for each function is like: alloc r40=ar.pfs,12,8,0 mov r43=r0;; mov r42=b0 mov r41=r1 nop.i 0x0 br.call.sptk.many b0 = _mcount;; The patch convert it to below for nop: [MII] nop.m 0x0 mov r3=ip nop.i 0x0 [MLX] nop.m 0x0 nop.x 0x0;; This isn't completely nop, as there is one instuction 'mov r3=ip', but it should be light and harmless for code follow it. And below is for call [MII] nop.m 0x0 mov r3=ip nop.i 0x0 [MLX] nop.m 0x0 brl.many .;; In this way, only one instruction is changed to convert code between nop and call. This should meet dyn-ftrace's requirement. But this requires CPU support brl instruction, so dyn-ftrace isn't supported for old Itanium system. Assume there are quite few such old system running. Signed-off-by: Shaohua Li Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d3e75ff14bc1453c4762428395aac9953a023efc Author: Shaohua Li Date: Fri Jan 9 11:29:46 2009 +0800 ftrace, ia64: IA64 static ftrace support IA64 ftrace suppport. In IA64, below code will be added in each function if -pg is enabled. alloc r40=ar.pfs,12,8,0 mov r43=r0;; mov r42=b0 mov r41=r1 nop.i 0x0 br.call.sptk.many b0 = _mcount;; Signed-off-by: Shaohua Li Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 418071eb6adbfd3980b2f57f7df8e03921e3f1d7 Author: Shaohua Li Date: Fri Jan 9 11:29:44 2009 +0800 ftrace, ia64: Add recordmcount for ia64 Add recordmcount for ia64. Signed-off-by: Shaohua Li Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f00012074b1a1a67d9c8603617bbbab267347ca6 Author: Shaohua Li Date: Fri Jan 9 11:29:42 2009 +0800 ftrace, ia64: Add macro for ftrace_caller Define FTRACE_ADDR. In IA64, a function pointer isn't a 'unsigned long' but a 'struct {unsigned long ip, unsigned long gp}'. Signed-off-by: Shaohua Li Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 25aac9dc7c8c73798c1be8aa36141f980d32579e Author: Shaohua Li Date: Fri Jan 9 11:29:40 2009 +0800 ftrace, ia64: explictly ignore a file in recordmcount.pl In IA64, a function pointer isn't a 'unsigned long' but a 'struct {unsigned long ip, unsigned long gp}'. MCOUNT_ADDR is determined at link time not compile time, so explictly ignore kernel/trace/ftrace.o in recordmcount.pl. Signed-off-by: Shaohua Li Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 18c167fd6d8feec5d337bd8fbc3a17da4cc37652 Author: Shaohua Li Date: Mon Jan 12 10:00:51 2009 +0800 ftrace, ia64: make recordmcount distinct module compile In IA64, module build and kernel build use different option. Make recordmcount.pl differentiate the two cases. Signed-off-by: Shaohua Li Acked-by: Sam Ravnborg Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0a2a18b721abc960fbcada406746877d22340a60 Author: Ingo Molnar Date: Mon Jan 12 23:37:16 2009 +0100 x86: change the default cache size to 64 bytes Right now the generic cacheline size is 128 bytes - that is wasteful when structures are aligned, as all modern x86 CPUs have an (effective) cacheline sizes of 64 bytes. It was set to 128 bytes due to some cacheline aliasing problems on older P4 systems, but those are many years old and we dont optimize for them anymore. (They'll still get the 128 bytes cacheline size if the kernel is specifically built for Pentium 4) Signed-off-by: Ingo Molnar Acked-by: Arjan van de Ven commit 09b3ec7315a18d885127544204f1e389d41058d0 Author: Frederik Deweerdt Date: Mon Jan 12 22:35:42 2009 +0100 x86, tlb flush_data: replace per_cpu with an array Impact: micro-optimization, memory reduction On x86_64 flush tlb data is stored in per_cpu variables. This is unnecessary because only the first NUM_INVALIDATE_TLB_VECTORS entries are accessed. This patch aims at making the code less confusing (there's nothing really "per_cpu") by using a plain array. It also would save some memory on most distros out there (Ubuntu x86_64 has NR_CPUS=64 by default). [ Ravikiran G Thirumalai also pointed out that the correct alignment is ____cacheline_internodealigned_in_smp, so that there's no bouncing on vsmp. ] Signed-off-by: Frederik Deweerdt Acked-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit c2c21745ecba23c74690a124bcd371f83bd71e45 Author: Jaswinder Singh Rajput Date: Mon Jan 12 17:47:22 2009 +0530 x86: replacing mp_config_intsrc with mpc_intsrc Impact: cleanup, solve 80 columns wrap problems Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit b5ba7e6d1e7e2ac808afd21be1e56dc34caf20e6 Author: Jaswinder Singh Rajput Date: Mon Jan 12 17:46:17 2009 +0530 x86: replacing mp_config_ioapic with mpc_ioapic Impact: cleanup, solve 80 columns wrap problems Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit b1a0aac05f044e78a589bfd7a9e2334aa640eb45 Author: Takashi Iwai Date: Wed Jan 14 09:34:06 2009 +0100 ALSA: opti9xx - Fix build breakage by snd_card_create() conversion Add a missing variable declaration. Signed-off-by: Takashi Iwai commit a4a0acf8e17e3d08e28b721ceceb898fbc959ceb Author: Suresh Siddha Date: Tue Jan 13 18:43:03 2009 -0800 x86: fix broken flush_tlb_others_ipi() This commit broke flush_tlb_others_ipi() causing boot hangs on a 16 logical cpu system: > commit 4595f9620cda8a1e973588e743cf5f8436dd20c6 > Author: Rusty Russell > Date: Sat Jan 10 21:58:09 2009 -0800 > > x86: change flush_tlb_others to take a const struct cpumask This change resulted in sending the invalidate tlb vector to the sender itself causing the hang. flush_tlb_others_ipi() should exclude the sender itself from the destination list. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit c088f4e9da74b901f7ed1749ad697d77622ed0f9 Merge: ce79735... a652504... Author: Lachlan McIlroy Date: Wed Jan 14 16:29:08 2009 +1100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit dc61b66fc724f89d357c43e2319d2cb7bec1e517 Author: Andrea Borgia Date: Mon Jan 12 23:17:47 2009 +0100 ALSA: rename "Device" to "Toshiba SB-0500" via quirks Signed-off-by: Andrea Borgia Signed-off-by: Takashi Iwai commit 554b91edec1c588b889a7357ff201c0a450e31ff Author: Krzysztof Helt Date: Mon Jan 12 21:25:04 2009 +0100 ALSA: sscape: fix incorrect timeout after microcode upload A comment states that one should wait up to 5 secs while a waiting loop waits only 5 system ticks. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 4a046d1754ee6ebb6f399696805ed61ea0444d4c Author: Yinghai Lu Date: Mon Jan 12 17:39:24 2009 -0800 x86: arch_probe_nr_irqs Impact: save RAM with large NR_CPUS, get smaller nr_irqs Signed-off-by: Yinghai Lu Signed-off-by: Mike Travis commit e65e49d0f3714f4a6a42f6f6a19926ba33fcda75 Author: Mike Travis Date: Mon Jan 12 15:27:13 2009 -0800 irq: update all arches for new irq_desc Impact: cleanup, update to new cpumask API Irq_desc.affinity and irq_desc.pending_mask are now cpumask_var_t's so access to them should be using the new cpumask API. Signed-off-by: Mike Travis commit 23a22d57a8962479ca630c9542e62d6f86fdf927 Author: H. Peter Anvin Date: Mon Jan 12 14:24:04 2009 -0800 bzip2/lzma: comprehensible error messages for missing decompressor Instead of failing to identify a compressed image with a decompressor that we don't have compiled in, identify it and fail with a comprehensible panic message. Signed-off-by: H. Peter Anvin commit 0b0f0b1c2c87de299df6f92a8ffc0a73bd1bb960 Author: Yinghai Lu Date: Sun Jan 11 13:35:56 2009 -0800 sparseirq: use kstat_irqs_cpu on non-x86 architectures too so we could move kstat_irqs array to irq_desc struct. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 42bb8cc5e81028e217105299001070d57eb84ad7 Author: Andi Kleen Date: Fri Jan 9 12:17:40 2009 -0800 x86: hpet: allow force enable on ICH10 HPET Intel "Smackover" x58 BIOS don't have HPET enabled in the BIOS, so allow to force enable it at least. The register layout is the same as in other recent ICHs, so all the code can be reused. Using numerical PCI-ID because it's unlikely the PCI-ID will be used anywhere else. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 183c6e0fb4e39c860960de4abd7541bd260491bb Author: Takashi Iwai Date: Mon Jan 12 15:19:08 2009 +0100 drivers/usb/gadget: Convert to snd_card_create() Convert from snd_card_new() to the new snd_card_create() function for gmidi. Signed-off-by: Takashi Iwai commit 6ff1871617a3ea1eeaf88b42f652f9a311826bad Author: Takashi Iwai Date: Mon Jan 12 15:18:28 2009 +0100 drivers/staging: Convert to snd_card_create() for go7007 Convert from snd_card_new to the new snd_card_create() for go7007. Signed-off-by: Takashi Iwai commit 758021bfa9ea25c58e62d2f68512628b19502ce7 Author: Takashi Iwai Date: Mon Jan 12 15:17:09 2009 +0100 drivers/media: Convert to snd_card_create() Convert from snd_card_new() to the new snd_card_create() function. Signed-off-by: Takashi Iwai commit 2fa51107c9aa80ae95b4524198442cdea82d08a3 Author: Takashi Iwai Date: Sun Dec 28 17:03:56 2008 +0100 ALSA: Return proper error code at probe in sound/pcmcia/* Signed-off-by: Takashi Iwai commit aa3d75d80de464cf23af1d068a5e22f1527b6957 Author: Takashi Iwai Date: Sun Dec 28 16:59:41 2008 +0100 ALSA: pdaudiocf - Fix missing free in the error path Added the missing snd_card_free() in the error path of probe callback. Signed-off-by: Takashi Iwai commit 51721f70acaca5aa056b07c5cbe58e62662c068c Author: Takashi Iwai Date: Sun Dec 28 16:55:08 2008 +0100 ALSA: Return proper error code at probe in sound/usb/* Some drivers in soudn/usb/* don't handle the error code properly from snd_card_create(). This patch fixes these places. Signed-off-by: Takashi Iwai commit 3e7fb9f7ec00fd7cefd0d8e83df0cff86ce12515 Author: Takashi Iwai Date: Sun Dec 28 16:47:30 2008 +0100 ALSA: Return proper error code at probe in sound/isa/* Some drivers in sound/isa/* don't handle the error code properly from snd_card_create(). This patch fixes these places. Signed-off-by: Takashi Iwai commit d453379bc5d34d7f55b55931245de5ac1896fd8d Author: Takashi Iwai Date: Sun Dec 28 16:45:34 2008 +0100 ALSA: Update description of snd_card_create() in documents Signed-off-by: Takashi Iwai commit bd7dd77c2a05c530684eea2e3af16449ae9c5d52 Author: Takashi Iwai Date: Sun Dec 28 16:45:02 2008 +0100 ALSA: Convert to snd_card_create() in other sound/* Convert from snd_card_new() to the new snd_card_create() function in other sound subdirectories. Signed-off-by: Takashi Iwai commit e58de7baf7de11f01a675cbbf6ecc8a2758b9ca5 Author: Takashi Iwai Date: Sun Dec 28 16:44:30 2008 +0100 ALSA: Convert to snd_card_create() in sound/pci/* Convert from snd_card_new() to the new snd_card_create() function in sound/pci/*. Signed-off-by: Takashi Iwai commit c95eadd2f1afd2ba643e85a8dfc9079a3f03ae47 Author: Takashi Iwai Date: Sun Dec 28 16:43:35 2008 +0100 ALSA: Convert to snd_card_create() in sound/isa/* Convert from snd_card_new() to the new snd_card_create() function. Signed-off-by: Takashi Iwai commit 53fb1e63599438bd5f6fbb852023d80916d83983 Author: Takashi Iwai Date: Sun Dec 28 16:32:08 2008 +0100 ALSA: Introduce snd_card_create() Introduced snd_card_create() function as a replacement of snd_card_new(). The new function returns a negative error code so that the probe callback can return the proper error code, while snd_card_new() can give only NULL check. The old snd_card_new() is still provided as an inline function but with __deprecated attribute. It'll be removed soon later. Signed-off-by: Takashi Iwai commit e3ee1e123183ca9847e74b7b8e2694c9e3b817a6 Merge: 5762ba1... c597650... Author: Ingo Molnar Date: Mon Jan 12 11:32:03 2009 +0100 Merge commit 'v2.6.29-rc1' into timers/hrtimers Conflicts: kernel/time/tick-common.c commit 3b9dc9f2f123286aaade54c45fef6723d587c664 Author: Jaswinder Singh Rajput Date: Mon Jan 12 14:46:48 2009 +0530 x86: module_64.c fix style problems Impact: cleanup Fix: ERROR: trailing whitespace ERROR: code indent should use tabs where possible WARNING: %Ld/%Lu are not-standard C, use %lld/%llu WARNING: printk() should include KERN_ facility level ERROR: spaces required around that '=' (ctx:VxW) total: 13 errors, 2 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit e17029ad69c7b1518413c00f793d89bb77b8527b Author: Jaswinder Singh Rajput Date: Mon Jan 12 14:46:03 2009 +0530 x86: module_32.c fix style problems Impact: cleanup Fix: ERROR: code indent should use tabs where possible ERROR: trailing whitespace ERROR: spaces required around that '=' (ctx:VxW) total: 3 errors, 0 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 448dd2fa3ec915ad4325868ef8bb9b9490d9f6a9 Author: Jaswinder Singh Rajput Date: Mon Jan 12 14:45:14 2009 +0530 x86: msr.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of total: 0 errors, 1 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit dd3feda7748b4c2739de47daaaa387fb01926c15 Author: Jaswinder Singh Rajput Date: Mon Jan 12 14:44:29 2009 +0530 x86: microcode_intel.c fix style problems Impact: cleanup Fix: WARNING: Use #include instead of ERROR: trailing whitespace ERROR: "(foo*)" should be "(foo *)" total: 3 errors, 1 warnings Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 7cbdadf7b6b18d85204921de2639de230809e564 Merge: 52811d8... c597650... Author: Ingo Molnar Date: Mon Jan 12 11:22:30 2009 +0100 Merge commit 'v2.6.29-rc1' into x86/cleanups commit 28e08861b9afab4168b758fb7b95aa7a4da0f668 Author: Christophe Saout Date: Sun Jan 11 11:46:23 2009 -0800 xen: fix too early kmalloc call Impact: fix bootup crash on xen guests SLAB is not yet up, with earlyprintk it is giving me an Oops in __kmalloc. Replace call to kmalloc() with alloc_bootmem(). Reported-by: Christophe Saout Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 92296c6d6e908c35fca287a21af27be814af9c75 Author: Mike Travis Date: Sun Jan 11 09:22:58 2009 -0800 cpumask, irq: non-x86 build failures Ingo Molnar wrote: > All non-x86 architectures fail to build: > > In file included from /home/mingo/tip/include/linux/random.h:11, > from /home/mingo/tip/include/linux/stackprotector.h:6, > from /home/mingo/tip/init/main.c:17: > /home/mingo/tip/include/linux/irqnr.h:26:63: error: asm/irq_vectors.h: No such file or directory Do not include asm/irq_vectors.h in generic code - it's not available on all architectures. Signed-off-by: Ingo Molnar commit 542d865bbed4ce1f050f586e53cf1cfadda93766 Author: Mike Travis Date: Sat Jan 10 22:24:07 2009 -0800 kstat: modify kstat_irqs_legacy to be variable sized Impact: reduce memory usage. Allocate kstat_irqs_legacy based on nr_cpu_ids to deal with this memory usage bump when NR_CPUS bumped from 128 to 4096: 8192 +253952 262144 +3100% kstat_irqs_legacy(.bss) This is only when CONFIG_SPARSE_IRQS=y. Signed-off-by: Mike Travis commit 9332fccdedf8e09448f3b69b624211ae879f6c45 Author: Mike Travis Date: Sat Jan 10 22:24:07 2009 -0800 irq: initialize nr_irqs based on nr_cpu_ids Impact: Reduce memory usage. This is the second half of the changes to make the irq_desc_ptrs be variable sized based on nr_cpu_ids. This is done by adding a new "max_nr_irqs" macro to irq_vectors.h (and a dummy in irqnr.h) to return a max NR_IRQS value based on NR_CPUS or nr_cpu_ids. This necessitated moving the define of MAX_IO_APICS to a separate file (asm/apicnum.h) so it could be included without the baggage of the other asm/apicdef.h declarations. Signed-off-by: Mike Travis commit 0fa0ebbf15addc1be8f73325d809c8547a9de304 Author: Mike Travis Date: Sat Jan 10 22:24:06 2009 -0800 irq: allocate irq_desc_ptrs array based on nr_irqs Impact: allocate irq_desc_ptrs in preparation for making it variable-sized. This addresses this memory usage bump when NR_CPUS bumped from 128 to 4096: 34816 +229376 264192 +658% irq_desc_ptrs(.data.read_mostly) The patch is split into two parts, the first simply allocates the irq_desc_ptrs array. Then next will deal with making it variable. This is only when CONFIG_SPARSE_IRQS=y. Signed-off-by: Mike Travis commit e2f4d06545ec1f29b0e838ee34cbf3500ea5b9a4 Author: Mike Travis Date: Sat Jan 10 22:24:06 2009 -0800 irq: use WARN() instead of WARN_ON(). Impact: cleanup WARN msg. Ingo requested: > While at it, could you please also convert this to a WARN() construct > instead? (in a separate commit) ... and it shall be done. ;-) Signed-off-by: Mike Travis commit 9594949b060efe86ecaa1a66839232a3b9800bc9 Author: Mike Travis Date: Sat Jan 10 22:24:06 2009 -0800 irq: change references from NR_IRQS to nr_irqs Impact: preparation, cleanup, add KERN_INFO printk Modify references from NR_IRQS to nr_irqs as the later will become variable-sized based on nr_cpu_ids when CONFIG_SPARSE_IRQS=y. Signed-off-by: Mike Travis commit c7a3589e7a1f8fdbd2536fe1bfa60b37f5121c69 Author: Mike Travis Date: Sat Jan 10 21:58:11 2009 -0800 Xen: reduce memory required for cpu_evtchn_mask Impact: reduce memory usage. Reduce this significant gain in the amount of memory used when NR_CPUS bumped from 128 to 4096 by allocating the array based on nr_cpu_ids: 65536 +2031616 2097152 +3100% cpu_evtchn_mask(.bss) Signed-off-by: Mike Travis Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: virtualization@lists.osdl.org Cc: xen-devel@lists.xensource.com commit d38b223c86db3162dc85b5a1997ac8a210e1660b Author: Mike Travis Date: Sat Jan 10 21:58:11 2009 -0800 cpumask: reduce stack usage in find_lowest_rq Impact: reduce stack usage, cleanup Use a cpumask_var_t in find_lowest_rq() and clean up other old cpumask_t calls. Signed-off-by: Mike Travis commit c90e785be2fd9dfaef1f030d0314e44052553736 Author: Mike Travis Date: Sat Jan 10 21:58:10 2009 -0800 cpumask: use cpumask_var_t in dcdbas.c Impact: reduce stack usage. Replace cpumask_t with cpumask_var_t in drivers/firmware/dcdbas.c. Signed-off-by: Mike Travis commit f9b90566cd46e19f670a1e60a717ff243f060a8a Author: Mike Travis Date: Sat Jan 10 21:58:10 2009 -0800 x86: reduce stack usage in init_intel_cacheinfo Impact: reduce stack usage. init_intel_cacheinfo() does not use the cpumask so define a subset of struct _cpuid4_info (_cpuid4_info_regs) that can be used instead. Signed-off-by: Mike Travis commit a1c33bbeb7061f3ed39103c385844474eaa8f921 Author: Mike Travis Date: Sat Jan 10 21:58:10 2009 -0800 x86: cleanup remaining cpumask_t code in mce_amd_64.c Impact: Reduce memory usage, use new cpumask API. Use cpumask_var_t for 'cpus' cpumask in struct threshold_bank and update remaining old cpumask_t functions to new cpumask API. Signed-off-by: Mike Travis commit 0e21990ae7ee11af94f44f240b06e520cf1505d4 Author: Mike Travis Date: Sat Jan 10 21:58:10 2009 -0800 SGI UV cpumask: use static temp cpumask in flush_tlb Impact: Improve tlb flush performance for UV Calling alloc_cpumask_var a zillion times a second does affect performance. Replace with static cpumask. Note: when CONFIG_X86_UV is defined, this extra PER_CPU memory will be optimized out for non-UV configs as is_uv_system() will then return a constant 0. Signed-off-by: Mike Travis commit 4595f9620cda8a1e973588e743cf5f8436dd20c6 Author: Rusty Russell Date: Sat Jan 10 21:58:09 2009 -0800 x86: change flush_tlb_others to take a const struct cpumask Impact: reduce stack usage, use new cpumask API. This is made a little more tricky by uv_flush_tlb_others which actually alters its argument, for an IPI to be sent to the remaining cpus in the mask. I solve this by allocating a cpumask_var_t for this case and falling back to IPI should this fail. To eliminate temporaries in the caller, all flush_tlb_others implementations now do the this-cpu-elimination step themselves. Note also the curious "cpus_or(f->flush_cpumask, cpumask, f->flush_cpumask)" which has been there since pre-git and yet f->flush_cpumask is always zero at this point. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 802bf931f2688ad125b73db597ce63cc842fb27a Author: Mike Travis Date: Sat Jan 10 21:58:09 2009 -0800 cpumask: fix bug in use cpumask_var_t in irq_desc Impact: fix bug where new irq_desc uses old cpumask pointers which are freed. As Yinghai pointed out, init_copy_one_irq_desc() copies the old desc to the new desc overwriting the cpumask pointers. Since the old_desc and the cpumask pointers are freed, then memory corruption will occur if these old pointers are used. Move the allocation of these pointers to after the copy. Signed-off-by: Mike Travis Cc: Yinghai Lu commit 651f8118cf0a5724f23fe1de4a3d9d36b2e01c2e Author: Rusty Russell Date: Sat Jan 10 21:58:09 2009 -0800 cpumask: convert other misc kernel functions Impact: use new cpumask API. Convert other misc kernel functions to use struct cpumask. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 2f8975fbcf07103afab0bbaea5f5b1a9967ffb86 Author: Rusty Russell Date: Sat Jan 10 21:58:09 2009 -0800 cpumask: convert drivers/net/sfc Impact: reduce stack usage, use new cpumask API. Remove a cpumask from the stack. Ben Hutchings indicated that printing a warning and returning 1 was acceptable for the corner case where allocation fails. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: Ben Hutchings Cc: linux-net-drivers@solarflare.com commit f7df8ed164996cd2c6aca9674388be6ef78d8b37 Author: Rusty Russell Date: Sat Jan 10 21:58:09 2009 -0800 cpumask: convert misc driver functions Impact: use new cpumask API. Convert misc driver functions to use struct cpumask. To Do: - Convert iucv_buffer_cpumask to cpumask_var_t. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Acked-by: Dean Nelson Cc: Robert Richter Cc: oprofile-list@lists.sf.net Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: virtualization@lists.osdl.org Cc: xen-devel@lists.xensource.com Cc: Ursula Braun Cc: linux390@de.ibm.com Cc: linux-s390@vger.kernel.org commit fbd59a8d1f7cf325fdb6828659f1fb76631e87b3 Author: Rusty Russell Date: Sat Jan 10 21:58:08 2009 -0800 cpumask: Use topology_core_cpumask()/topology_thread_cpumask() Impact: reduce stack usage, use new cpumask API. This actually uses topology_core_cpumask() and topology_thread_cpumask(), removing the only users of topology_core_siblings() and topology_thread_siblings() Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Cc: linux-net-drivers@solarflare.com commit 7f7ace0cda64c99599c23785f8979a072e118058 Author: Mike Travis Date: Sat Jan 10 21:58:08 2009 -0800 cpumask: update irq_desc to use cpumask_var_t Impact: reduce memory usage, use new cpumask API. Replace the affinity and pending_masks with cpumask_var_t's. This adds to the significant size reduction done with the SPARSE_IRQS changes. The added functions (init_alloc_desc_masks & init_copy_desc_masks) are in the include file so they can be inlined (and optimized out for the !CONFIG_CPUMASKS_OFFSTACK case.) [Naming chosen to be consistent with the other init*irq functions, as well as the backwards arg declaration of "from, to" instead of the more common "to, from" standard.] Includes a slight change to the declaration of struct irq_desc to embed the pending_mask within ifdef(CONFIG_SMP) to be consistent with other references, and some small changes to Xen. Tested: sparse/non-sparse/cpumask_offstack/non-cpumask_offstack/nonuma/nosmp on x86_64 Signed-off-by: Mike Travis Cc: Chris Wright Cc: Jeremy Fitzhardinge Cc: KOSAKI Motohiro Cc: Venkatesh Pallipadi Cc: virtualization@lists.osdl.org Cc: xen-devel@lists.xensource.com Cc: Yinghai Lu commit d178a1eb5c034df1f74a2b67bf311afa5d6b8e95 Author: Yinghai Lu Date: Sun Jan 11 00:35:42 2009 -0800 sparseirq: fix build with unknown irq_desc struct Ingo Molnar wrote: > > tip/kernel/fork.c: In function 'copy_signal': > tip/kernel/fork.c:825: warning: unused variable 'ret' > tip/drivers/char/random.c: In function 'get_timer_rand_state': > tip/drivers/char/random.c:584: error: dereferencing pointer to incomplete type > tip/drivers/char/random.c: In function 'set_timer_rand_state': > tip/drivers/char/random.c:594: error: dereferencing pointer to incomplete type > make[3]: *** [drivers/char/random.o] Error 1 irq_desc is defined in linux/irq.h, so include it in the genirq case. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit dee4102a9a5882b4f7d5cc165ba29e8cc63cf92e Author: Yinghai Lu Date: Sun Jan 11 00:29:15 2009 -0800 sparseirq: use kstat_irqs_cpu instead Impact: build fix Ingo Molnar wrote: > tip/arch/blackfin/kernel/irqchip.c: In function 'show_interrupts': > tip/arch/blackfin/kernel/irqchip.c:85: error: 'struct kernel_stat' has no member named 'irqs' > make[2]: *** [arch/blackfin/kernel/irqchip.o] Error 1 > make[2]: *** Waiting for unfinished jobs.... > So could move kstat_irqs array to irq_desc struct. (s390, m68k, sparc) are not touched yet, because they don't support genirq Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 199f7978730a4bbd88038fd84212b30759579f1a Author: Krzysztof Helt Date: Fri Jan 9 23:10:52 2009 +0100 ALSA: wss-lib: move AD1845 frequency setting into wss-lib This is required to allow the sscape driver to autodetect installed codec. Also, do not create a timer if detected codec has no hardware timer (e.g. AD1848). Signed-off-by: Krzysztof Helt Cc: Rene Herman Signed-off-by: Takashi Iwai commit 7106a5ab89c50c6b5aadea0850b40323804a922d Author: Benjamin LaHaise Date: Sat Jan 10 23:00:22 2009 -0500 x86-64: remove locked instruction from switch_to() Impact: micro-optimization The patch below removes an unnecessary locked instruction from switch_to(). TIF_FORK is only ever set in copy_thread() on initial process creation, and gets cleared during the first scheduling of the process. As such, it is safe to use an unlocked test for the flag within switch_to(). Signed-off-by: Benjamin LaHaise Signed-off-by: Ingo Molnar commit 0a6d4e1dc9154c4376358663d74060d1e33d203e Merge: c597650... 1563513... Author: Ingo Molnar Date: Sun Jan 11 04:58:49 2009 +0100 Merge branch 'sched/latest' of git://git.kernel.org/pub/scm/linux/kernel/git/ghaskins/linux-2.6-hacks into sched/rt commit 961d7d0ee5150e0197cc81c2a8884ecb230276e2 Author: Ian Campbell Date: Fri Jan 9 18:32:10 2009 +0000 swiotlb: do not use sg_virt() Scatterlists containing HighMem pages do not have a useful virtual address. Use the physical address instead. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit 0b8698ab5847cbe25775083659f00c658a8161c9 Author: Ian Campbell Date: Fri Jan 9 18:32:09 2009 +0000 swiotlb: range_needs_mapping should take a physical address. The swiotlb_arch_range_needs_mapping() hook should take a physical address rather than a virtual address in order to support highmem pages. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar commit d7e51e66899f95dabc89b4d4c6674a6e50fa37fc Author: Yinghai Lu Date: Wed Jan 7 15:03:13 2009 -0800 sparseirq: make some func to be used with genirq Impact: clean up sparseirq fallout on random.c Ingo suggested to change some ifdef from SPARSE_IRQ to GENERIC_HARDIRQS so we could some #ifdef later if all arch support genirq Signed-off-by: Yinghai Lu Acked-by: Matt Mackall Signed-off-by: Ingo Molnar commit e8b722f487589a1f60ca27adc695494f188d404e Merge: 01d0782... c597650... Author: Ingo Molnar Date: Sun Jan 11 04:45:50 2009 +0100 Merge commit 'v2.6.29-rc1' into irq/urgent commit 173ed24ee2d64f5de28654eb456ec1ee18a142e5 Author: Pekka Paalanen Date: Tue Jan 6 13:57:11 2009 +0200 mmiotrace: count events lost due to not recording Impact: enhances lost events counting in mmiotrace The tracing framework, or the ring buffer facility it uses, has a switch to stop recording data. When recording is off, the trace events will be lost. The framework does not count these, so mmiotrace has to count them itself. Signed-off-by: Pekka Paalanen Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit fe6f90e57fd31af8daca534ea01db2e5666c15da Author: Pekka Paalanen Date: Sat Jan 3 21:23:51 2009 +0200 trace: mmiotrace to the tracer menu in Kconfig Impact: cosmetic change in Kconfig menu layout This patch was originally suggested by Peter Zijlstra, but seems it was forgotten. CONFIG_MMIOTRACE and CONFIG_MMIOTRACE_TEST were selectable directly under the Kernel hacking / debugging menu in the kernel configuration system. They were present only for x86 and x86_64. Other tracers that use the ftrace tracing framework are in their own sub-menu. This patch moves the mmiotrace configuration options there. Since the Kconfig file, where the tracer menu is, is not architecture specific, HAVE_MMIOTRACE_SUPPORT is introduced and provided only by x86/x86_64. CONFIG_MMIOTRACE now depends on it. Signed-off-by: Pekka Paalanen Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5d2ad3316e29ad218f98d66b9c0ce6d4bcd05b77 Author: Pekka Paalanen Date: Sat Jan 3 21:09:27 2009 +0200 doc: mmiotrace.txt, buffer size control change Impact: prevents confusing the user when buffer size is inadequate The tracing framework offers a resizeable buffer, which mmiotrace uses to record events. If the buffer is full, the following events will be lost. Events should not be lost, so the documentation instructs the user to increase the buffer size. The buffer size is set via a debugfs file. Mmiotrace documentation was not updated the same time the debugfs file was changed. The old file was tracing/trace_entries and first contained the number of entries the buffer had space for, per cpu. Nowadays this file is replaced with the file tracing/buffer_size_kb, which tells the amount of memory reserved for the buffer, per cpu, in kilobytes. Previously, a flag had to be toggled via the debugfs file tracing/tracing_enabled when the buffer size was changed. This is no longer necessary. The mmiotrace documentation is updated to reflect the current state of the tracing framework. Signed-off-by: Pekka Paalanen Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 034939b65ad5ff64b9709210b3469a95153c51a3 Author: Frederic Weisbecker Date: Thu Jan 8 10:03:56 2009 -0800 tracing/ftrace: handle more than one stat file per tracer Impact: new API for tracers Make the stat tracing API reentrant. And also provide the new directory /debugfs/tracing/trace_stat which will contain all the stat files for the current active tracer. Now a tracer will, if desired, want to provide a zero terminated array of tracer_stat structures. Each one contains the callbacks necessary for one stat file. It have to provide at least a name for its stat file, an iterator with stat_start/start_next callback and an output callback for one stat entry. Also adapt the branch tracer to this new API. We create two files "all" and "annotated" inside the /debugfs/tracing/trace_stat directory, making the both stats simultaneously available instead of needing to change an option to switch from one stat file to another. The output of these stats haven't changed. Changes in v2: _ Apply the previous memory leak fix (rebase against tip/master) Changes in v3: _ Merge the patch that adapted the branch tracer to this Api in this patch to not break the kernel build. Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 67d347245f76a149c45bffb1a10145d31d61d1da Author: Andrew Morton Date: Fri Jan 9 12:27:09 2009 -0800 kernel/trace/ring_buffer.c: use DIV_ROUND_UP Instead of open-coding it. Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 34a148bf0911a4a1cae85f8ecba57affb4d76aee Author: Andrew Morton Date: Fri Jan 9 12:27:09 2009 -0800 kernel/trace/ring_buffer.c: reduce inlining text data bss dec hex filename before: 11320 228 8 11556 2d24 kernel/trace/ring_buffer.o after: 10592 228 8 10828 2a4c kernel/trace/ring_buffer.o Also: free_page(0) is legal. Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 99cd7074891f87c49660e3b2880564324a4733ac Merge: e8a9cbf... c597650... Author: Ingo Molnar Date: Sun Jan 11 03:43:52 2009 +0100 Merge commit 'v2.6.29-rc1' into tracing/urgent commit 0811a433c61e85f895018239c4466a36311cd5de Merge: c299030... 3d14bda... Author: Ingo Molnar Date: Sun Jan 11 00:51:06 2009 +0100 Merge branch 'linus' into core/iommu commit 52811d8c9beb67da6bc4b770de3c4134376788a1 Author: Jaswinder Singh Rajput Date: Sat Jan 10 12:58:50 2009 +0530 x86: smp.h move cpu_sibling_setup_mask and cpu_sibling_setup_map declartion to cpumask.h Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 493f6ca54e1ea59732dd334e35c5fe2d8e440b06 Author: Jaswinder Singh Rajput Date: Sat Jan 10 12:48:22 2009 +0530 x86: smp.h move cpu_initialized_mask and cpu_initialized declartion to cpumask.h Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit fb8fd077fbf0de6662acfd240e8e6b25cf3202ca Author: Jaswinder Singh Rajput Date: Sat Jan 10 12:20:24 2009 +0530 x86: smp.h move cpu_callout_mask and cpu_callout_map declartion to cpumask.h Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 068790334cececc3d2d945617ccc585477da2e38 Author: Jaswinder Singh Rajput Date: Sat Jan 10 12:17:37 2009 +0530 x86: smp.h move cpu_callin_mask and cpu_callin_map declartion to cpumask.h Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 1de8cd3cb9f61e854e743c7210df43db517d4832 Merge: 1eb1b3b... 3d14bda... Author: Ingo Molnar Date: Sat Jan 10 23:56:42 2009 +0100 Merge branch 'linus' into x86/cleanups commit 736f93236ce786d1bcf09ad4dcb38a360d35ea1b Author: Ingo Molnar Date: Sat Jan 10 12:06:19 2009 +0100 bzip2/lzma: make flush_buffer() unconditional Impact: build fix flush_buffer() is used unconditionally: init/initramfs.c:456: error: 'flush_buffer' undeclared (first use in this function) init/initramfs.c:456: error: (Each undeclared identifier is reported only once init/initramfs.c:456: error: for each function it appears in.) So remove the decompressor #ifdefs from around it. Signed-off-by: Ingo Molnar commit b17304245f0db0ac69b795c411407808f3f2796d Merge: 889c92d... 9a100a4... Author: Ingo Molnar Date: Sat Jan 10 12:04:41 2009 +0100 Merge branch 'linus' into x86/setup-lzma Conflicts: init/do_mounts_rd.c commit fec1878fe952b994125a3be7c94b1322db586f3b Author: Dave Kleikamp Date: Fri Jan 9 15:42:04 2009 -0600 jfs: remove xtLookupList() xtLookupList() was a more generalized version of xtLookup() with a nastier interface. Its only caller, extHint(), is actually better suited to using xtLookup() than xtLookupList(). This also lets us remove the definition of lxd_t, an obnoxious packed structure that was only used in-memory. Signed-off-by: Dave Kleikamp commit da9c138e9e1cc08aa3a4e8c09411a5d08f866445 Author: Dave Kleikamp Date: Fri Jan 9 10:53:35 2009 -0600 jfs: clean up a dangling comment viro cleaned up an hlist hack, but left a comment where it no longer belongs. Combine the old comment with his new one. Signed-off-by: Dave Kleikamp commit 5852973c129cf7c7e6c229abb7250673fc2a50c9 Merge: 3e8e195... c6d1662... Author: Mark Brown Date: Fri Jan 9 11:03:55 2009 +0000 Merge branch 'for-2.6.29' into for-2.6.30 commit 3e8e1952e3a3dd59b11233a532ca68e6471742d9 Author: Ian Molton Date: Fri Jan 9 00:23:21 2009 +0000 ASoC: cleanup duplicated code. Many codec drivers were implementing cookie-cutter copies of the function that adds kcontrols to the codec. This patch moves this code to a common function snd_soc_add_controls() in soc-core.c and updates all drivers using copies of this function to use the new common version. [Edited to raise priority of error log message and document parameters. -- broonie] Signed-off-by: Ian Molton Signed-off-by: Mark Brown commit a6ba2b2dabb583e7820e567fb309d771b50cb9ff Author: Mark Brown Date: Thu Jan 8 15:16:16 2009 +0000 ASoC: Implement WM8350 headphone jack detection Signed-off-by: Mark Brown commit 8a2cd6180f8fa00111843c2f4a4f4361995358e0 Author: Mark Brown Date: Wed Jan 7 17:31:10 2009 +0000 ASoC: Add jack reporting interface This patch adds a jack reporting interface to ASoC. This wraps the ALSA core jack detection functionality and provides integration with DAPM to automatically update the power state of pins based on the jack state. Since embedded platforms can have multiple detecton methods used for a single jack (eg, separate microphone and headphone detection) the report function allows specification of which bits are being updated on a given report. The expected usage is that machine drivers will create jack objects and then configure jack detection methods to update that jack. Signed-off-by: Mark Brown commit 1649923dd52ce914be98bff0ae352344ef04f305 Author: Mark Brown Date: Wed Jan 7 18:25:13 2009 +0000 ASoC: Constify pin names for DAPM pin status APIs Signed-off-by: Mark Brown commit ce79735c12d62c3cda38eb31762cf98e87c7b087 Merge: 6206aa8... 058652a... Author: Lachlan McIlroy Date: Fri Jan 9 16:24:48 2009 +1100 Merge branch 'for-linus' of git+ssh://git.melbourne.sgi.com/git/xfs commit 889c92d21db40be0b7d22a59395060237895bb85 Author: H. Peter Anvin Date: Thu Jan 8 15:14:17 2009 -0800 bzip2/lzma: centralize format detection Centralize the compression format detection to a common routine in the lib directory, and use it for both initramfs and initrd. Signed-off-by: H. Peter Anvin commit 6c11b12ac6f101732d43b5682f5b3ae4dda4205f Author: Alain Knaff Date: Thu Jan 8 15:10:19 2009 -0800 bzip2/lzma: fix decompress_inflate.c vs multi-block-with-embedded-filename Impact: Bug fix Fix gunzip uncompression, so that it also works with files with embedded filenames that are larger than one block. Signed-off-by: Alain Knaff Signed-off-by: H. Peter Anvin commit 5619448fc55650cb76cbb825e16e4bb5d1390399 Author: H. Peter Anvin Date: Thu Jan 8 15:09:12 2009 -0800 bzip2/lzma: fix constant in decompress_inflate Impact: Cleanup Fix constant 0x8100 /* 32K */; according to Alain the value 0x8100 was left over test code to test misalignment, the correct value is indeed 0x8000 == 32K. Signed-off-by: H. Peter Anvin commit 1eb1b3b65dc3e3ffcc6a60e115c085c0c11c1077 Author: Jaswinder Singh Rajput Date: Thu Jan 8 15:43:26 2009 +0530 x86: rename all fields of mpf_intel mpf_X to X Impact: cleanup, solve 80 columns wrap problems It would be cleaner to rename all the mpf->mpf_X fields to mpf->X - that alone would give 4 characters per usage site. (we already know that it's an 'mpf' entity - no need to duplicate that in the field too) Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 41401db698cbb5d1869776bf336881db267e7d19 Author: Jaswinder Singh Rajput Date: Thu Jan 8 15:42:46 2009 +0530 x86: rename intel_mp_floating to mpf_intel Impact: cleanup, solve 80 columns wrap problems intel_mp_floating should be renamed to mpf_intel. The reason: the 'f' in MPF already means 'floating' which means MP Floating pointer structure - no need to repeat that in the type name. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 6206aa8b2b9a45b4cf3ee31b7209b014be349fd9 Merge: 95f8e30... 9e42d0c... Author: Lachlan McIlroy Date: Thu Jan 8 13:22:55 2009 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 3195954da9cdb1cadb2059921c62e69d376c624f Author: Andrea Borgia Date: Wed Jan 7 22:58:50 2009 +0100 ALSA: preliminary support for Toshiba SB-0500 The Toshiba Multimedia Center SB-0500 is a rebranded version of the Creative Technology SB Live! 24-bit External: it shares the same chipset and only has minor cosmetic differences. Remote controller works with alsa_usb module, basic audio is there and mixer controls are mostly untested. Signed-off-by: Andrea Borgia Signed-off-by: Takashi Iwai commit 01d07820a0df6b6134c1bb75b1e84c9d0cdab3be Author: KOSAKI Motohiro Date: Sun Jan 4 03:11:05 2009 +0900 sparseirq: make for_each_irq_desc() more robust Raja reported for_each_irq_desc() has possibility unsafeness: if anyone write folliwing code, for_each_irq_desc() doesn't work as intended: (right now this code does not exist at all) if (safe) for_each_irq_desc(irq, desc) { ... } else panic(); Reported-by: Raja R Harinath Signed-off-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit ca9c1aaec4187fc9922cfb6b283fffef89286943 Author: Ian Molton Date: Tue Jan 6 20:11:51 2009 +0000 ASoC: dapm: Allow explictly named mixer controls This patch allows you to define the mixer paths as having the same name as the paths they represent. This is required to support codecs such as the wm9705 neatly without extra controls in the alsa mixer. Signed-off-by: Ian Molton commit 6d652ea1d056390a0c33db92b44ed219284b71af Author: Jaswinder Singh Rajput Date: Wed Jan 7 21:38:59 2009 +0530 x86: smp.h move boot_cpu_id declartion to cpu.h Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit af8968abf09fe5984bdd206e54e0eeb1dc1fa29c Author: Jaswinder Singh Rajput Date: Wed Jan 7 21:37:33 2009 +0530 x86: smp.h move cpu_physical_id declartion to cpu.h Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 96b89dc6598a50e3aac8e2c6d826ae3795b7d030 Author: Jaswinder Singh Rajput Date: Wed Jan 7 21:35:48 2009 +0530 x86: smp.h move safe_smp_processor_id declartion to cpu.h Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f472cdba849cc3d838f3788469316e8572463a8c Author: Jaswinder Singh Rajput Date: Wed Jan 7 21:34:25 2009 +0530 x86: smp.h move stack_processor_id declartion to cpu.h Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 6e5385d44b2df05e50a8d07ba0e14d3e32685237 Author: Jaswinder Singh Rajput Date: Wed Jan 7 18:11:35 2009 +0530 x86: smp.h move prefill_possible_map declartion to cpu.h Impact: cleanup, moving NON-SMP stuff from smp.h Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit dacf7333571d770366bff74d10b56aa545434605 Author: Jaswinder Singh Rajput Date: Wed Jan 7 17:26:35 2009 +0530 x86: smp.h move zap_low_mappings declartion to tlbflush.h Impact: cleanup, moving NON-SMP stuff from smp.h Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 7760ec77ab2a9e48bdd0d13341446a8a51f0b9f1 Author: Jaswinder Singh Rajput Date: Wed Jan 7 18:10:13 2009 +0530 x86: smp.h remove obsolete function declaration Impact: cleanup Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit c299030765292434b73572f9bcfe84951ff06614 Author: FUJITA Tomonori Date: Wed Jan 7 02:13:42 2009 +0900 convert to use generic dma_map_ops struct, cleanup Ingo Molnar wrote: > looks good on x86 but on ia64 there's a problem with one of the > prototypes: > > In file included from tip/arch/ia64/include/asm/io.h:72, > from tip/arch/ia64/include/asm/smp.h:20, > from tip/include/linux/smp.h:33, > from tip/include/linux/sched.h:68, > from tip/arch/ia64/kernel/asm-offsets.c:9: > tip/arch/ia64/include/asm/machvec.h:101: warning: parameter has incomplete type > tip/arch/ia64/include/asm/machvec.h:103: warning: parameter has incomplete type > > that's about "enum dma_data_direction". > > I dont think enums can be forward declared like that. > > machvec.h is a fairly lowlevel include file - so including > linux/dma-mapping.h probably wont work. We could do a > linux/dma-mapping-types.h file that is more lowlevel, or we could move the > machvec_dma_sync_single() and machvec_dma_sync_sg() declarations to a more > highlevel file - like arch/ia64/include/asm/dma-mapping.h. > > To me the latter looks cleaner but no strong feelings. Yeah, agreed. They are generic IA64 DMA operations so I think that it makes sense to move them to dma-mapping.h. Signed-off-by: Ingo Molnar commit d506fc322ec2af04fc47be83d796a1c9e1a16022 Author: Jani Nikula Date: Wed Jan 7 11:54:25 2009 +0200 ALSA: Add support for video out to the jack reporting API Add support for reporting new jack types SND_JACK_VIDEOOUT and SND_JACK_AVOUT (a combination of LINEOUT and VIDEOOUT) to the jack reporting API. Also add the corresponding SW_VIDEOOUT_INSERT switch to the input system header. Signed-off-by: Jani Nikula Signed-off-by: Mark Brown commit e8a9cbf6ae620d9e5ba9cb42001c033287a284a3 Author: Steven Rostedt Date: Tue Jan 6 22:02:35 2009 -0500 trace: clean up funny line breaks in stat_seq_show Impact: clean up Andrew Morton pointed out that the entry assignment in stat_seq_show did not need to be done in the declaration, causing funny line breaks. This patch makes it a bit more pleasing on the eyes. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit ff288b274a9b383046fdbda4be3067daba4d5fe8 Author: Frederic Weisbecker Date: Tue Jan 6 21:33:30 2009 +0100 tracing/ftrace: fix a memory leak in stat tracing Impact: fix memory leak This patch fixes a memory leak inside reset_stat_list(). The freeing loop iterated only once. Also turn the stat_list into a simple struct list_head, which simplify the code and avoid an unused static pointer. Reported-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 431aa3fbf5bbe3be79809c7e603c2ed2ac64b015 Author: Steven Rostedt Date: Tue Jan 6 12:43:01 2009 -0500 ftrace: convert unsigned index to signed Impact: fix to unsigned compared to less than zero Roel Kluin pointed out that there is a compare of an unsigned number to less than zero. A previous clean up had the unsigned index set to -1 for certain cases, but never converted it to signed. Frederic Weisbecker noticed that another index is used to compare the above index to and it also needs to be converted to signed. [ Converted ftrace_page->index to int from unsigned long as Andrew Morton pointed out that there's no need for it to stay a long. ] Reported-by: Roel Kluin Reported-by: Frederic Weisbecker Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c8334dc8fb6413b363df3e1419e287f5b25bce32 Author: James Morris Date: Wed Jan 7 20:06:18 2009 +1100 maintainers: add security subsystem wiki Add url to the security subsystem wiki. Signed-off-by: James Morris commit a26ee60f90daffe1de6be0d093af86e7279b3dfd Author: Alain Knaff Date: Wed Jan 7 00:10:27 2009 -0800 bzip2/lzma: fix built-in initramfs vs CONFIG_RD_GZIP Impact: Resolves build failures in some configurations Makes it possible to disable CONFIG_RD_GZIP . In that case, the built-in initramfs will be compressed by whatever compressor is available (bzip2 or lzma) or left uncompressed if none is available. It also removes a couple of warnings which occur when no ramdisk compression at all is chosen. It also restores the select ZLIB_INFLATE in drivers/block/Kconfig which somehow came missing. This is needed to activate compilation of the stuff in zlib_deflate. Signed-off-by: Alain Knaff Signed-off-by: H. Peter Anvin commit fb9a4ca9820fd4d7c4906bd393004662451e273e Author: H. Peter Anvin Date: Wed Jan 7 00:03:49 2009 -0800 bzip2/lzma: move initrd/ramfs options out of BLK_DEV Impact: Partial resolution of build failure Move the initrd/initramfs configuration options from drivers/block/Kconfig to usr/Kconfig, since they do not and should not depend on CONFIG_BLK_DEV. This fixes builds when CONFIG_BLK_DEV=n. Signed-off-by: H. Peter Anvin commit 7856a16ea03ed9b17860d756ee6473c2e57882b2 Author: H. Peter Anvin Date: Wed Jan 7 00:01:43 2009 -0800 bzip2/lzma: DECOMPRESS_GZIP should select ZLIB_INFLATE Impact: Partial resolution of build failure DECOMPRESS_GZIP is just a common-interface wrapper around the zlib_inflate code; it thus need to select it. Signed-off-by: H. Peter Anvin commit 07716e4df25523bf85b4e304d2cf63dbf3cbabf9 Author: Luck, Tony Date: Tue Jan 6 10:25:25 2009 -0800 ia64: fix section mismatch swiotlb_dma_init -> swiotlb_init Impact: Section fix WARNING: vmlinux.o(.text+0x596d2): Section mismatch in reference from the function swiotlb_dma_init() to the function .init.text:swiotlb_init() The function swiotlb_dma_init() references the function __init swiotlb_init(). This is often because swiotlb_dma_init lacks a __init annotation or the annotation of swiotlb_init is wrong. Signed-off-by: Tony Luck Signed-off-by: H. Peter Anvin commit f98eee8ea99fe74ee9c4e867ba178ec3072793be Author: FUJITA Tomonori Date: Mon Jan 5 23:59:03 2009 +0900 x86, ia64: remove duplicated swiotlb code This adds swiotlb_map_page and swiotlb_unmap_page to lib/swiotlb.c and remove IA64 and X86's swiotlb_map_page and swiotlb_unmap_page. This also removes unnecessary swiotlb_map_single, swiotlb_map_single_attrs, swiotlb_unmap_single and swiotlb_unmap_single_attrs. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit 160c1d8e40866edfeae7d68816b7005d70acf391 Author: FUJITA Tomonori Date: Mon Jan 5 23:59:02 2009 +0900 x86, ia64: convert to use generic dma_map_ops struct This converts X86 and IA64 to use include/linux/dma-mapping.h. It's a bit large but pretty boring. The major change for X86 is converting 'int dir' to 'enum dma_data_direction dir' in DMA mapping operations. The major changes for IA64 is using map_page and unmap_page instead of map_single and unmap_single. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit f0402a262e1a4c03fc66b83659823bdcaac3c41a Author: FUJITA Tomonori Date: Mon Jan 5 23:59:01 2009 +0900 generic: add common struct for dma map operations This adds struct dma_map_ops include/linux/dma-mapping.h, which, is used to handle multiple sets of dma mapping API. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit d7dff84053524186b139342ac66a4160ce6bb517 Author: FUJITA Tomonori Date: Mon Jan 5 23:47:28 2009 +0900 x86: remove map_single and unmap_single in struct dma_mapping_ops This patch converts dma_map_single and dma_unmap_single to use map_page and unmap_page respectively and removes unnecessary map_single and unmap_single in struct dma_mapping_ops. This leaves intel-iommu's dma_map_single and dma_unmap_single since IA64 uses them. They will be removed after the unification. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 33feffd4525fc2e4dd0a322fb5d07d61f85d791e Author: FUJITA Tomonori Date: Mon Jan 5 23:47:27 2009 +0900 x86, pci-nommu: add map_page This is a preparation of struct dma_mapping_ops unification. We use map_page and unmap_page instead of map_single and unmap_single. We will remove map_single hook in the last patch in this patchset. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit ffbbef5c0639dbf31a0511d8f65f574bb3e30758 Author: FUJITA Tomonori Date: Mon Jan 5 23:47:26 2009 +0900 intel-iommu: add map_page and unmap_page This is a preparation of struct dma_mapping_ops unification. We use map_page and unmap_page instead of map_single and unmap_single. This uses a temporary workaround, ifdef X86_64 to avoid IA64 build. The workaround will be removed after the unification. Well, changing x86's struct dma_mapping_ops could break IA64. It's just wrong. It's one of problems that this patchset fixes. We will remove map_single and unmap_single hooks in the last patch in this patchset. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 51491367c2541c51a9d435eec88b0e846223fb59 Author: FUJITA Tomonori Date: Mon Jan 5 23:47:25 2009 +0900 x86, AMD IOMMU: add map_page and unmap_page This is a preparation of struct dma_mapping_ops unification. We use map_page and unmap_page instead of map_single and unmap_single. We will remove map_single and unmap_single hooks in the last patch in this patchset. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 3991605c40b1059d0204d9fddfcf878429ab8948 Author: FUJITA Tomonori Date: Mon Jan 5 23:47:24 2009 +0900 x86, calgary: add map_page and unmap_page This is a preparation of struct dma_mapping_ops unification. We use map_page and unmap_page instead of map_single and unmap_single. We will remove map_single and unmap_single hooks in the last patch in this patchset. Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Signed-off-by: Ingo Molnar commit 052aedbfb6cd4fd1a73010735da88a9dcc224673 Author: FUJITA Tomonori Date: Mon Jan 5 23:47:23 2009 +0900 x86, gart: add map_page and unmap_page This is a preparation of struct dma_mapping_ops unification. We use map_page and unmap_page instead of map_single and unmap_single. We will remove map_single and unmap_single hooks in the last patch in this patchset. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 4cf37bb7d9dc6dfb5d5fca7f735ba65ba173dabc Author: FUJITA Tomonori Date: Mon Jan 5 23:47:22 2009 +0900 x86, swiotlb: add map_page and unmap_page This is a preparation of struct dma_mapping_ops unification. We use map_page and unmap_page instead of map_single and unmap_single. This is sorta temporary workaround. We will move them to lib/swiotlb.c to enable x86's swiotlb code to directly use them. We will remove map_single and unmap_single hooks in the last patch in this patchset. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit abe6602bf197167efb3b37161b9c11748fa076e1 Author: FUJITA Tomonori Date: Mon Jan 5 23:47:21 2009 +0900 x86: add map_page and unmap_page to struct dma_mapping_ops This patch adds map_page and unmap_page to struct dma_mapping_ops. This is a preparation of struct dma_mapping_ops unification. We use map_page and unmap_page instead of map_single and unmap_single. We will remove map_single and unmap_single hooks in the last patch in this patchset. Signed-off-by: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 055bcf99a1471ff0a2ef24863098f946a09c9161 Author: FUJITA Tomonori Date: Mon Jan 5 23:36:18 2009 +0900 make sba DMA mapping functions static Now we don't need to export these DMA mapping functions. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit c7b3aee8af5bd0d73d5779a4ad82a1496771d3ef Author: FUJITA Tomonori Date: Mon Jan 5 23:36:17 2009 +0900 remove hwsw_dma_ops This removes remove hwsw_dma_ops (and hwsw_* functions). hwsw_dma_get_ops can select swiotlb_dma_ops and sba_dma_ops appropriately. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit c190ab0b2a5fb5cc97576c5f04f4419b6cf8dc8e Author: FUJITA Tomonori Date: Mon Jan 5 23:36:16 2009 +0900 add dma_get_ops to struct ia64_machine_vector This adds dma_get_ops hook to struct ia64_machine_vector. We use dma_get_ops() in arch/ia64/kernel/dma-mapping.c, which simply returns the global dma_ops. This is for removing hwsw_dma_ops. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit cdc28d59a31e3fd711982bd07600f3e5b449b9f7 Author: FUJITA Tomonori Date: Mon Jan 5 23:36:15 2009 +0900 make sn DMA mapping functions static Now we don't need to export sn DMA mapping functions. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit fad6a029c4afa499dddd8e9ff70264bb977ea7bf Author: FUJITA Tomonori Date: Mon Jan 5 23:36:14 2009 +0900 remove dma operations in struct ia64_machine_vector We don't need dma operation hooks in struct ia64_machine_vector now. This also removes unused ia64_mv_dma_* typedefs. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit b7ea6e951833a3add60fd47f2de6870b5d0589b3 Author: FUJITA Tomonori Date: Mon Jan 5 23:36:13 2009 +0900 convert the DMA API to use dma_ops This writes asm/dma-mapping.h to convert the DMA API to use dma_ops. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit 4d9b977ca674dd40cfc1409a75cb73fca2cee423 Author: FUJITA Tomonori Date: Mon Jan 5 23:36:12 2009 +0900 set up dma_ops appropriately This patch introduces a global pointer, dma_ops, which points to an appropriate dma_mapping_ops that the kernel should use. This is a common way to handle multiple dma_mapping_ops (X86, POWER, and SPARC). dma_ops is set in platform_dma_init. We also set it by hand where machvec_init is callev via subsys_initcall. - IA64_DIG_VTD uses vtd_dma_ops. - IA64_HP_ZX1 uses sba_dma_ops. - IA64_HP_ZX1_SWIOTLB uses hwsw_dma_ops. - IA64_SGI_SN2 uses sn_dma_ops. - The rest use swiotlb_dma_ops. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit c82e4417ace9a3a4dddf3332379c771c41040040 Author: FUJITA Tomonori Date: Mon Jan 5 23:36:11 2009 +0900 add dma_mapping_ops for SWIOTLB There is already dma_mapping_ops for SWIOTLB but there are some missing hooks. This is for IA64_DIG_VTD, IA64_HP_ZX1_SWIOTLB, IA64_SGI_UV, IA64_HP_SIM, IA64_XEN_GUEST and IA64_GENERIC. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit b4391dd11df6214ad4c11706a3a606926e86a6ce Author: FUJITA Tomonori Date: Mon Jan 5 23:36:10 2009 +0900 add dma_mapping_ops for SGI Altix This is for IA64_SGI_SN2. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit 98c382bca9382128b2dbc2108a4c77d667d87abc Author: FUJITA Tomonori Date: Mon Jan 5 23:36:09 2009 +0900 add dma_mapping_ops for intel-iommu This is for IA64_DIG_VTD. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit 917f69b8b74e0b3283fcd1f2885949847d787d24 Author: FUJITA Tomonori Date: Mon Jan 5 23:36:08 2009 +0900 add dma_mapping_ops for SWIOTLB and SBA IOMMU This is for IA64_HP_ZX1_SWIOTLB. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit 0e9cbb9ba874f9466faf82931465f00ebe4bb18c Author: FUJITA Tomonori Date: Mon Jan 5 23:36:07 2009 +0900 add dma_mapping_ops for SBA IOMMU This is for IA64_HP_ZX1. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit e751ab3382de520475dabecb834791b6c1e3e742 Author: FUJITA Tomonori Date: Mon Jan 5 23:36:06 2009 +0900 add map/unmap_single_attr and map/unmap_sg_attr to struct dma_mapping_ops This adds map/unmap_single_attr and map/unmap_sg_attr to struct dma_mapping_ops. This enables us to move the dma operations in struct ia64_machine_vector to struct dma_mapping_ops. Note that we will remove map/unmap_sg and map/umap_single. This is a preparation of struct dma_mapping_ops unification. Signed-off-by: FUJITA Tomonori Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit 99793e3dbe39a50d871eedc361659a894601e2bf Merge: 3e80680... a103e2a... Author: Ingo Molnar Date: Tue Jan 6 10:18:43 2009 +0100 Merge branches 'tracing/kmemtrace2' and 'tracing/ftrace' into tracing/urgent commit 3e80680208ba6ce9635ca7c21ad0019442ea166a Author: Ingo Molnar Date: Tue Jan 6 10:16:35 2009 +0100 kmemtrace: add kmemtrace_init() Impact: build fix leftover from the relayfs version - but we want to keep it because this call is the earliest opportunity when we can start kmemtrace tracing. (after kmem_cache_init()). Signed-off-by: Ingo Molnar commit 3d7a96f5a485b7d06c2379f343d7312af89ec9e2 Merge: 723cbe0... 238c6d5... Author: Ingo Molnar Date: Tue Jan 6 09:53:05 2009 +0100 Merge branch 'linus' into tracing/kmemtrace2 commit 723cbe0775514853c22dc45005af59c360916af1 Author: Eduard - Gabriel Munteanu Date: Mon Jan 5 22:09:58 2009 +0200 kmemtrace: Remove the relay version of kmemtrace Impact: cleanup kmemtrace now uses ftrace. This patch removes the relay version. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Ingo Molnar commit 95f8e302c04c0b0c6de35ab399a5551605eeb006 Author: Nick Piggin Date: Tue Jan 6 14:43:09 2009 +1100 [XFS] use scalable vmap API Implement XFS's large buffer support with the new vmap APIs. See the vmap rewrite (db64fe02) for some numbers. The biggest improvement that comes from using the new APIs is avoiding the global KVA allocation lock on every call. Signed-off-by: Nick Piggin Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d2859751cd0bf586941ffa7308635a293f943c17 Author: Nick Piggin Date: Tue Jan 6 14:40:44 2009 +1100 [XFS] remove old vmap cache XFS's vmap batching simply defers a number (up to 64) of vunmaps, and keeps track of them in a list. To purge the batch, it just goes through the list and calls vunamp on each one. This is pretty poor: a global TLB flush is generally still performed on each vunmap, with the most expensive parts of the operation being the broadcast IPIs and locking involved in the SMP callouts, and the locking involved in the vmap management -- none of these are avoided by just batching up the calls. I'm actually surprised it ever made much difference. (Now that the lazy vmap allocator is upstream, this description is not quite right, but the vunmap batching still doesn't seem to do much) Rip all this logic out of XFS completely. I will improve vmap performance and scalability directly in subsequent patch. Signed-off-by: Nick Piggin Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit c8531ab343dec88ed8005e403b1b304c710b7494 Author: H. Peter Anvin Date: Mon Jan 5 13:48:31 2009 -0800 bzip2/lzma: proper Kconfig dependencies for the ramdisk options Impact: Partial resolution of build failure Make all the compression algorithms properly configurable, and make sure the ramdisk options pull in the proper compression algorithms, as they should. Signed-off-by: H. Peter Anvin commit 2e9f3bddcbc711bb14d86c6f068a779bf3710247 Author: H. Peter Anvin Date: Sun Jan 4 15:41:25 2009 -0800 bzip2/lzma: make config machinery an arch configurable Impact: Bug fix (we should not show this menu on irrelevant architectures) Make the config machinery to drive the gzip/bzip2/lzma selection dependent on the architecture advertising HAVE_KERNEL_* so that we don't display this for architectures where it doesn't matter. Signed-off-by: H. Peter Anvin commit 0f5e2d2484ccd3062bb1f63083bafa37041bc868 Author: H. Peter Anvin Date: Sun Jan 4 15:10:40 2009 -0800 bzip2/lzma: handle failures from bzip2 and lzma correctly Impact: Bug fix If bzip2 or lzma fails (for example, if they aren't installed on the system), we need to propagate the failure out to "make". However, they were masked by being followed by a semicolon. Signed-off-by: H. Peter Anvin commit ae03c49964af5033534e518eebe439c3b90f43a7 Author: Alain Knaff Date: Sun Jan 4 22:46:17 2009 +0100 bzip2/lzma: x86 kernel compression support Impact: Replaces x86 kernel decompressor with new code This is the third part of the bzip2/lzma patch The bzip patch is based on an idea by Christian Ludwig, includes support for compressing the kernel with bzip2 or lzma rather than gzip. Both compressors give smaller sizes than gzip. Lzma's decompresses faster than bzip2. It also supports ramdisks and initramfs' compressed using these two compressors. The functionality has been successfully used for a couple of years by the udpcast project This version applies to "tip" kernel 2.6.28 This part contains: - support for new bzip2 and lzma kernel compression for x86 Signed-off-by: Alain Knaff Signed-off-by: H. Peter Anvin commit b172fd882d201cf8aa67cddd9c1a023421fd4956 Author: H. Peter Anvin Date: Sun Jan 4 14:42:52 2009 -0800 bzip2/lzma: use a table to search for initramfs compression formats Impact: Code simplification Instead of open-coding testing for initramfs compression formats, use a table. Signed-off-by: H. Peter Anvin commit 30d65dbfe3add7f010a075991dc0bfeaebb7d9e1 Author: Alain Knaff Date: Sun Jan 4 22:46:17 2009 +0100 bzip2/lzma: config and initramfs support for bzip2/lzma decompression Impact: New code for initramfs decompression, new features This is the second part of the bzip2/lzma patch The bzip patch is based on an idea by Christian Ludwig, includes support for compressing the kernel with bzip2 or lzma rather than gzip. Both compressors give smaller sizes than gzip. Lzma's decompresses faster than bzip2. It also supports ramdisks and initramfs' compressed using these two compressors. The functionality has been successfully used for a couple of years by the udpcast project This version applies to "tip" kernel 2.6.28 This part contains: - support for new compressions (bzip2 and lzma) in initramfs and old-style ramdisk - config dialog for kernel compression (but new kernel compressions not yet supported) Signed-off-by: Alain Knaff Signed-off-by: H. Peter Anvin commit bc22c17e12c130dc929218a95aa347e0f3fd05dc Author: Alain Knaff Date: Sun Jan 4 22:46:16 2009 +0100 bzip2/lzma: library support for gzip, bzip2 and lzma decompression Impact: Replaces inflate.c with a wrapper around zlib_inflate; new library code This is the first part of the bzip2/lzma patch The bzip patch is based on an idea by Christian Ludwig, includes support for compressing the kernel with bzip2 or lzma rather than gzip. Both compressors give smaller sizes than gzip. Lzma's decompresses faster than bzip2. It also supports ramdisks and initramfs' compressed using these two compressors. The functionality has been successfully used for a couple of years by the udpcast project This version applies to "tip" kernel 2.6.28 This part contains: - changed inflate.c to accomodate rest of patch - implementation of bzip2 compression (not used at this stage yet) - implementation of lzma compression (not used at this stage yet) - Makefile routines to support bzip2 and lzma kernel compression Signed-off-by: Alain Knaff Signed-off-by: H. Peter Anvin commit bd8a71a7b0f50da9350d202d325c3926ffd6b189 Author: Mark Brown Date: Sat Jan 3 16:56:56 2009 +0000 ALSA: Reduce boilerplate for new jack types Use a lookup table rather than explicit code to map input subsystem jack types into ASoC ones, implemented as suggested by Takashi Iwai. Signed-off-by: Mark Brown commit f0ffc816250a8cc28e6824326e2d58333e058eca Author: Russell King Date: Fri Jan 2 12:34:55 2009 +0000 [ARM] dma: remove dmamode_t typedef Signed-off-by: Russell King commit 4e57ea9a2e8e807e20f64d5b53fbee2c7c9e87ae Author: Russell King Date: Fri Jan 2 12:34:31 2009 +0000 [ARM] dma: remove usage of dmamode_t from MXC platform support Signed-off-by: Russell King commit bc6447b8e4fdb3306ee6381df9650a1a8aa57c5b Author: Russell King Date: Fri Jan 2 12:18:53 2009 +0000 [ARM] dma: make DMA_MODE_xxx reflect ISA DMA settings Signed-off-by: Russell King commit f09eac9034a4502cce558b0ec4bf7d422b8b355b Author: Ingo Molnar Date: Wed Dec 31 09:43:46 2008 +0100 tracing/kmemtrace: fix typo Impact: build fix Signed-off-by: Ingo Molnar commit a9de18eb761f7c1c860964b2e5addc1a35c7e861 Merge: b2aaf8f... 6a94cb7... Author: Ingo Molnar Date: Wed Dec 31 08:31:57 2008 +0100 Merge branch 'linus' into stackprotector Conflicts: arch/x86/include/asm/pda.h kernel/fork.c commit 818fa7f3908c7bd6c0045e9d94dc23a899ef6144 Merge: 3fd4bc0... 5fdf7e5... Author: Ingo Molnar Date: Wed Dec 31 08:19:48 2008 +0100 Merge branch 'tracing/kmemtrace' into tracing/kmemtrace2 commit 5fdf7e5975a0b0f6a0370655612c5dca3fd6311b Merge: 7a51cff... 6a94cb7... Author: Ingo Molnar Date: Wed Dec 31 08:14:29 2008 +0100 Merge branch 'linus' into tracing/kmemtrace Conflicts: mm/slub.c commit 195ec037ff8f6fa800616e0dad8d57a98b6fb37e Author: Lachlan McIlroy Date: Wed Dec 31 12:10:12 2008 +1100 [XFS] Update maintainers New maintainer contact and new tree location. Reviewed-by: Bill O`Donnell Signed-off-by: Lachlan McIlroy commit 3fd4bc015ef879a7d2b955ce97fb125e3a51ba7e Author: Ingo Molnar Date: Tue Dec 30 12:07:27 2008 +0100 tracing/kmemtrace: export kmemtrace_mark_alloc_node() / kmemtrace_mark_free() Impact: build fix Also fix up Kconfig dependencies and include files. Signed-off-by: Ingo Molnar commit b6ab4afee4ed56d0f69df59485585cff828c327d Author: Ingo Molnar Date: Tue Dec 30 09:41:04 2008 +0100 tracing, kvm: change MARKERS to select instead of depends on Impact: build fix fix: kernel/trace/Kconfig:42:error: found recursive dependency: TRACING -> TRACEPOINTS -> MARKERS -> KVM_TRACE -> RELAY -> KMEMTRACE -> TRACING markers is a facility that should be selected - not depended on by an interactive Kconfig entry. Signed-off-by: Ingo Molnar commit 36994e58a48fb8f9651c7dc845a6de298aba5bfc Author: Frederic Weisbecker Date: Mon Dec 29 13:42:23 2008 -0800 tracing/kmemtrace: normalize the raw tracer event to the unified tracing API Impact: new tracer plugin This patch adapts kmemtrace raw events tracing to the unified tracing API. To enable and use this tracer, just do the following: echo kmemtrace > /debugfs/tracing/current_tracer cat /debugfs/tracing/trace You will have the following output: # tracer: kmemtrace # # # ALLOC TYPE REQ GIVEN FLAGS POINTER NODE CALLER # FREE | | | | | | | | # | type_id 1 call_site 18446744071565527833 ptr 18446612134395152256 type_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1 type_id 1 call_site 18446744071565585534 ptr 18446612134405955584 type_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1 type_id 0 call_site 18446744071565636711 ptr 18446612134345164672 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1 type_id 1 call_site 18446744071565585534 ptr 18446612134405955584 type_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1 type_id 0 call_site 18446744071565636711 ptr 18446612134345164912 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1 type_id 1 call_site 18446744071565585534 ptr 18446612134405955584 type_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1 type_id 0 call_site 18446744071565636711 ptr 18446612134345165152 bytes_req 240 bytes_alloc 240 gfp_flags 208 node -1 type_id 0 call_site 18446744071566144042 ptr 18446612134346191680 bytes_req 1304 bytes_alloc 1312 gfp_flags 208 node -1 type_id 1 call_site 18446744071565585534 ptr 18446612134405955584 type_id 0 call_site 18446744071565585597 ptr 18446612134405955584 bytes_req 4096 bytes_alloc 4096 gfp_flags 208 node -1 type_id 1 call_site 18446744071565585534 ptr 18446612134405955584 That was to stay backward compatible with the format output produced in inux/tracepoint.h. This is the default ouput, but note that I tried something else. If you change an option: echo kmem_minimalistic > /debugfs/trace_options and then cat /debugfs/trace, you will have the following output: # tracer: kmemtrace # # # ALLOC TYPE REQ GIVEN FLAGS POINTER NODE CALLER # FREE | | | | | | | | # | - C 0xffff88007c088780 file_free_rcu + K 4096 4096 000000d0 0xffff88007cad6000 -1 getname - C 0xffff88007cad6000 putname + K 4096 4096 000000d0 0xffff88007cad6000 -1 getname + K 240 240 000000d0 0xffff8800790dc780 -1 d_alloc - C 0xffff88007cad6000 putname + K 4096 4096 000000d0 0xffff88007cad6000 -1 getname + K 240 240 000000d0 0xffff8800790dc870 -1 d_alloc - C 0xffff88007cad6000 putname + K 4096 4096 000000d0 0xffff88007cad6000 -1 getname + K 240 240 000000d0 0xffff8800790dc960 -1 d_alloc + K 1304 1312 000000d0 0xffff8800791d7340 -1 reiserfs_alloc_inode - C 0xffff88007cad6000 putname + K 4096 4096 000000d0 0xffff88007cad6000 -1 getname - C 0xffff88007cad6000 putname + K 992 1000 000000d0 0xffff880079045b58 -1 alloc_inode + K 768 1024 000080d0 0xffff88007c096400 -1 alloc_pipe_info + K 240 240 000000d0 0xffff8800790dca50 -1 d_alloc + K 272 320 000080d0 0xffff88007c088780 -1 get_empty_filp + K 272 320 000080d0 0xffff88007c088000 -1 get_empty_filp Yeah I shall confess kmem_minimalistic should be: kmem_alternative. Whatever, I find it more readable but this a personal opinion of course. We can drop it if you want. On the ALLOC/FREE column, + means an allocation and - a free. On the type column, you have K = kmalloc, C = cache, P = page I would like the flags to be GFP_* strings but that would not be easy to not break the column with strings.... About the node...it seems to always be -1. I don't know why but that shouldn't be difficult to find. I moved linux/tracepoint.h to trace/tracepoint.h as well. I think that would be more easy to find the tracer headers if they are all in their common directory. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 5762ba1873b0bb9faa631aaa02f533c2b9837f82 Author: Sebastien Dugue Date: Mon Dec 1 14:09:07 2008 +0100 hrtimers: allow the hot-unplugging of all cpus Impact: fix CPU hotplug hang on Power6 testbox On architectures that support offlining all cpus (at least powerpc/pseries), hot-unpluging the tick_do_timer_cpu can result in a system hang. This comes from the fact that if the cpu going down happens to be the cpu doing the tick, then as the tick_do_timer_cpu handover happens after the cpu is dead (via the CPU_DEAD notification), we're left without ticks, jiffies are frozen and any task relying on timers (msleep, ...) is stuck. That's particularly the case for the cpu looping in __cpu_die() waiting for the dying cpu to be dead. This patch addresses this by having the tick_do_timer_cpu handover happen earlier during the CPU_DYING notification. For this, a new clockevent notification type is introduced (CLOCK_EVT_NOTIFY_CPU_DYING) which is triggered in hrtimer_cpu_notify(). Signed-off-by: Sebastien Dugue Cc: Signed-off-by: Ingo Molnar commit 7a51cffbd10886c0557677dd916c090097c691ef Author: Ingo Molnar Date: Mon Dec 29 16:03:40 2008 +0100 relayfs: replace BUG() with WARN_ON() in relay_late_setup_files() Impact: turn boot crash into boot warning This BUG() can trigger: [ 16.684131] initcall fail_page_alloc_debugfs+0x0/0xc1 returned 0 after 0 usecs [ 16.692035] calling kmemtrace_setup_late+0x0/0xd5 @ 1 [ 16.700087] relay_late_setup_files: CPU 1 has no buffer, it must have! [ 16.704044] ------------[ cut here ]------------ [ 16.708030] kernel BUG at kernel/relay.c:680! [ 16.708030] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC [ 16.708030] last sysfs file: [ 16.708030] [ 16.708030] Pid: 1, comm: swapper Not tainted (2.6.28-tip-03903-g9a39f58-dirty #13207) System Product Name [ 16.708030] EIP: 0060:[] EFLAGS: 00010246 CPU: 1 [ 16.708030] EIP is at relay_late_setup_files+0x8c/0x176 Reduce it to a more reportable WARN_ONCE(). Signed-off-by: Ingo Molnar commit 2a38b1c4f123afa4579cb1d29380b337e9195cbb Author: Ingo Molnar Date: Mon Dec 29 15:29:04 2008 +0100 kmemtrace: move #include lines Impact: avoid conflicts with kmemcheck kmemcheck modifies the same area of slab.c and slub.c - move the include lines up a bit. Signed-off-by: Ingo Molnar commit 1563513d34ed4b12ef32bc2adde4a53ce05701a1 Author: Gregory Haskins Date: Mon Dec 29 09:39:53 2008 -0500 RT: fix push_rt_task() to handle dequeue_pushable properly A panic was discovered by Chirag Jog where a BUG_ON sanity check in the new "pushable_task" logic would trigger a panic under certain circumstances: http://lkml.org/lkml/2008/9/25/189 Gilles Carry discovered that the root cause was attributed to the pushable_tasks list getting corrupted in the push_rt_task logic. This was the result of a dropped rq lock in double_lock_balance allowing a task in the process of being pushed to potentially migrate away, and thus corrupt the pushable_tasks() list. I traced back the problem as introduced by the pushable_tasks patch that went in recently. There is a "retry" path in push_rt_task() that actually had a compound conditional to decide whether to retry or exit. I missed the meaning behind the rationale for the virtual "if(!task) goto out;" portion of the compound statement and thus did not handle it properly. The new pushable_tasks logic actually creates three distinct conditions: 1) an untouched and unpushable task should be dequeued 2) a migrated task where more pushable tasks remain should be retried 3) a migrated task where no more pushable tasks exist should exit The original logic mushed (1) and (3) together, resulting in the system dequeuing a migrated task (against an unlocked foreign run-queue nonetheless). To fix this, we get rid of the notion of "paranoid" and we support the three unique conditions properly. The paranoid feature is no longer relevant with the new pushable logic (since pushable naturally limits the loop) anyway, so lets just remove it. Reported-By: Chirag Jog Found-by: Gilles Carry Signed-off-by: Gregory Haskins commit 917b627d4d981dc614519d7b34ea31a976b14e12 Author: Gregory Haskins Date: Mon Dec 29 09:39:53 2008 -0500 sched: create "pushable_tasks" list to limit pushing to one attempt The RT scheduler employs a "push/pull" design to actively balance tasks within the system (on a per disjoint cpuset basis). When a task is awoken, it is immediately determined if there are any lower priority cpus which should be preempted. This is opposed to the way normal SCHED_OTHER tasks behave, which will wait for a periodic rebalancing operation to occur before spreading out load. When a particular RQ has more than 1 active RT task, it is said to be in an "overloaded" state. Once this occurs, the system enters the active balancing mode, where it will try to push the task away, or persuade a different cpu to pull it over. The system will stay in this state until the system falls back below the <= 1 queued RT task per RQ. However, the current implementation suffers from a limitation in the push logic. Once overloaded, all tasks (other than current) on the RQ are analyzed on every push operation, even if it was previously unpushable (due to affinity, etc). Whats more, the operation stops at the first task that is unpushable and will not look at items lower in the queue. This causes two problems: 1) We can have the same tasks analyzed over and over again during each push, which extends out the fast path in the scheduler for no gain. Consider a RQ that has dozens of tasks that are bound to a core. Each one of those tasks will be encountered and skipped for each push operation while they are queued. 2) There may be lower-priority tasks under the unpushable task that could have been successfully pushed, but will never be considered until either the unpushable task is cleared, or a pull operation succeeds. The net result is a potential latency source for mid priority tasks. This patch aims to rectify these two conditions by introducing a new priority sorted list: "pushable_tasks". A task is added to the list each time a task is activated or preempted. It is removed from the list any time it is deactivated, made current, or fails to push. This works because a task only needs to be attempted to push once. After an initial failure to push, the other cpus will eventually try to pull the task when the conditions are proper. This also solves the problem that we don't completely analyze all tasks due to encountering an unpushable tasks. Now every task will have a push attempted (when appropriate). This reduces latency both by shorting the critical section of the rq->lock for certain workloads, and by making sure the algorithm considers all eligible tasks in the system. [ rostedt: added a couple more BUG_ONs ] Signed-off-by: Gregory Haskins Acked-by: Steven Rostedt commit 4075134e40804821f90866d7de56802e4dcecb1e Author: Gregory Haskins Date: Mon Dec 29 09:39:53 2008 -0500 plist: fix PLIST_NODE_INIT to work with debug enabled It seems that PLIST_NODE_INIT breaks if used and DEBUG_PI_LIST is defined. Since there are no current users of PLIST_NODE_INIT, this has gone undetected. This patch fixes the build issue that enables the DEBUG_PI_LIST later in the series when we use it in init_task.h Signed-off-by: Gregory Haskins commit 967fc04671feea4dbf780c9e55a0bc8fcf68a14e Author: Gregory Haskins Date: Mon Dec 29 09:39:52 2008 -0500 sched: add sched_class->needs_post_schedule() member We currently run class->post_schedule() outside of the rq->lock, which means that we need to test for the need to post_schedule outside of the lock to avoid a forced reacquistion. This is currently not a problem as we only look at rq->rt.overloaded. However, we want to enhance this going forward to look at more state to reduce the need to post_schedule to a bare minimum set. Therefore, we introduce a new member-func called needs_post_schedule() which tests for the post_schedule condtion without actually performing the work. Therefore it is safe to call this function before the rq->lock is released, because we are guaranteed not to drop the lock at an intermediate point (such as what post_schedule() may do). We will use this later in the series [ rostedt: removed paranoid BUG_ON ] Signed-off-by: Gregory Haskins commit 8f45e2b516201d1bf681e6026fa5276385def565 Author: Gregory Haskins Date: Mon Dec 29 09:39:51 2008 -0500 sched: make double-lock-balance fair double_lock balance() currently favors logically lower cpus since they often do not have to release their own lock to acquire a second lock. The result is that logically higher cpus can get starved when there is a lot of pressure on the RQs. This can result in higher latencies on higher cpu-ids. This patch makes the algorithm more fair by forcing all paths to have to release both locks before acquiring them again. Since callsites to double_lock_balance already consider it a potential preemption/reschedule point, they have the proper logic to recheck for atomicity violations. Signed-off-by: Gregory Haskins commit 7e96fa5875d4a9be18d74d3ca7b90518d05bc426 Author: Gregory Haskins Date: Mon Dec 29 09:39:50 2008 -0500 sched: pull only one task during NEWIDLE balancing to limit critical section git-id c4acb2c0669c5c5c9b28e9d02a34b5c67edf7092 attempted to limit newidle critical section length by stopping after at least one task was moved. Further investigation has shown that there are other paths nested further inside the algorithm which still remain that allow long latencies to occur with newidle balancing. This patch applies the same technique inside balance_tasks() to limit the duration of this optional balancing operation. Signed-off-by: Gregory Haskins CC: Nick Piggin commit 777c2f389e463428fd7e2871051a84d7fe84b172 Author: Gregory Haskins Date: Mon Dec 29 09:39:50 2008 -0500 sched: only try to push a task on wakeup if it is migratable There is no sense in wasting time trying to push a task away that cannot move anywhere else. We gain no benefit from trying to push other tasks at this point, so if the task being woken up is non migratable, just skip the whole operation. This reduces overhead in the wakeup path for certain tasks. Signed-off-by: Gregory Haskins commit 74ab8e4f6412c0b2d730fe5de28dc21de8b92c01 Author: Gregory Haskins Date: Mon Dec 29 09:39:50 2008 -0500 sched: use highest_prio.next to optimize pull operations We currently take the rq->lock for every cpu in an overload state during pull_rt_tasks(). However, we now have enough information via the highest_prio.[curr|next] fields to determine if there is any tasks of interest to warrant the overhead of the rq->lock, before we actually take it. So we use this information to reduce lock contention during the pull for the case where the source-rq doesnt have tasks that preempt the current task. Signed-off-by: Gregory Haskins commit a8728944efe23417e38bf22063f06d9d8ee21d59 Author: Gregory Haskins Date: Mon Dec 29 09:39:49 2008 -0500 sched: use highest_prio.curr for pull threshold highest_prio.curr is actually a more accurate way to keep track of the pull_rt_task() threshold since it is always up to date, even if the "next" task migrates during double_lock. Therefore, stop looking at the "next" task object and simply use the highest_prio.curr. Signed-off-by: Gregory Haskins commit e864c499d9e57805ae1f9e7ea404dd223759cd53 Author: Gregory Haskins Date: Mon Dec 29 09:39:49 2008 -0500 sched: track the next-highest priority on each runqueue We will use this later in the series to reduce the amount of rq-lock contention during a pull operation Signed-off-by: Gregory Haskins commit 4d9842776a23e52ec4c60e0a79f5e1bbe91e463e Author: Gregory Haskins Date: Mon Dec 29 09:39:49 2008 -0500 sched: cleanup inc/dec_rt_tasks Move some common definitions up to the function prologe to simplify the body logic. Signed-off-by: Gregory Haskins commit 2ff9f9d9629bf9530fe2ab8d803d612761ffc059 Merge: 0f01f07... a490043... Author: Ingo Molnar Date: Mon Dec 29 15:16:24 2008 +0100 Merge branch 'topic/kmemtrace' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 into tracing/kmemtrace commit a103e2ab7377dbbef2506be59c49a3f2ae10b60b Author: Ingo Molnar Date: Mon Dec 29 15:07:47 2008 +0100 tracing/selftest: remove TRACE_CONT reference Impact: build fix TRACE_CONT is gone - fix up the self-test too. Signed-off-by: Ingo Molnar commit a4900437f3d76761a1646cd90254ccb01714a9ed Author: Vegard Nossum Date: Thu Nov 6 17:42:18 2008 +0100 kmemtrace: add missing newline This was causing artifacts in my dmesg. Acked-by: Eduard - Gabriel Munteanu Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg commit bf6803d6fd654d9a73cd90308b5225d78655d027 Author: Pekka Enberg Date: Fri Oct 10 11:02:59 2008 +0300 kmemtrace: remove config option for enabling tracing at boot Users can pass kmemtrace.enabled=yes as a kernel parameter to enable kmemtrace at boot so remove the useless CONFIG_KMEMTRACE_DEFAULT_ENABLED config option. Cc: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit faa97abe6a3673af268abb661c6b663252a911aa Author: Pekka Enberg Date: Fri Oct 10 10:57:44 2008 +0300 kmemtrace: allow kmemtrace to be enabled after boot The kmemtrace_init() function returns early if kmemtrace is disabled at boot causing kmemtrace_setup_late() to also bail out on NULL channel. This has the unfortunate side effect that none of the debugfs files needed to enable kmemtrace after boot are created. Cc: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 2e67624c22321fa40ad3aa89c307c84bd679d9b2 Author: Pekka Enberg Date: Mon Sep 1 10:11:54 2008 +0300 kmemtrace: remove unnecessary casts Now that we use _RET_IP_ there's no need to cast 'caller' to unsigned long. Signed-off-by: Pekka Enberg commit 94b528d0564997d88e8bf166d8c9080536ad8bdc Author: Eduard - Gabriel Munteanu Date: Sun Aug 24 20:49:35 2008 +0300 kmemtrace: SLUB hooks for caller-tracking functions. This patch adds kmemtrace hooks for __kmalloc_track_caller() and __kmalloc_node_track_caller(). Currently, they set the call site pointer to the value recieved as a parameter. (This could change if we implement stack trace exporting in kmemtrace.) Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 73cd6af0413225b0ada8b8881c3e0cfd26506dfa Author: Eduard - Gabriel Munteanu Date: Tue Aug 19 20:43:24 2008 +0300 kmemtrace: Better alternative to "kmemtrace: fix printk format warnings". Fix the problem "kmemtrace: fix printk format warnings" attempted to fix, but resulted in marker-probe format mismatch warnings. Instead of carrying size_t into probes, we get rid of it by casting to unsigned long, just as we did with gfp_t. This way, we don't need to change marker format strings and we don't have to rely on other format specifiers like "%zu", making for consistent use of more generic data types (since there are no format specifiers for gfp_t, for example). Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 4a80b24bb2ec66a5cb7fa5ff8335907f09288200 Author: Eduard - Gabriel Munteanu Date: Tue Aug 19 20:43:27 2008 +0300 kmemtrace: Fix typos in documentation. Corrected the ABI description and the kmemtrace usage guide. Thanks to Randy Dunlap for noticing these errors. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 5b882be4e00e53a44f47ad7eb997cac2938848bf Author: Eduard - Gabriel Munteanu Date: Tue Aug 19 20:43:26 2008 +0300 kmemtrace: SLUB hooks. This adds hooks for the SLUB allocator, to allow tracing with kmemtrace. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 3eae2cb24a96509e0a38cc48dc1538a2826f4e33 Author: Eduard - Gabriel Munteanu Date: Sun Aug 10 20:14:07 2008 +0300 kmemtrace: SLOB hooks. This adds hooks for the SLOB allocator, to allow tracing with kmemtrace. We also convert some inline functions to __always_inline to make sure _RET_IP_, which expands to __builtin_return_address(0), always works as expected. Acked-by: Matt Mackall Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 36555751c6751a5bdfd6d7bdf0648343bb1ef0de Author: Eduard - Gabriel Munteanu Date: Sun Aug 10 20:14:05 2008 +0300 kmemtrace: SLAB hooks. This adds hooks for the SLAB allocator, to allow tracing with kmemtrace. We also convert some inline functions to __always_inline to make sure _RET_IP_, which expands to __builtin_return_address(0), always works as expected. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit aa46a7e0228c0477708ce44a0c5621902b3c157c Author: Eduard - Gabriel Munteanu Date: Sun Aug 10 20:14:04 2008 +0300 kmemtrace: Additional documentation. Documented kmemtrace's ABI, purpose and design. Also includes a short usage guide, FAQ, as well as a link to the userspace application's Git repository, which is currently hosted at repo.or.cz. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit b9ce08c01020eb28bfbfa6faf1c740281c5f418e Author: Eduard - Gabriel Munteanu Date: Sun Aug 10 20:14:03 2008 +0300 kmemtrace: Core implementation. kmemtrace provides tracing for slab allocator functions, such as kmalloc, kfree, kmem_cache_alloc, kmem_cache_free etc.. Collected data is then fed to the userspace application in order to analyse allocation hotspots, internal fragmentation and so on, making it possible to see how well an allocator performs, as well as debug and profile kernel code. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit 35995a4d815586bc968a857f7235707940a2f755 Author: Eduard - Gabriel Munteanu Date: Tue Aug 19 20:43:25 2008 +0300 SLUB: Replace __builtin_return_address(0) with _RET_IP_. This patch replaces __builtin_return_address(0) with _RET_IP_, since a previous patch moved _RET_IP_ and _THIS_IP_ to include/linux/kernel.h and they're widely available now. This makes for shorter and easier to read code. [penberg@cs.helsinki.fi: remove _RET_IP_ casts to void pointer] Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg commit f7d48cbde5c0710008caeaf7dbf14f4a9b064940 Author: Ingo Molnar Date: Mon Dec 29 13:02:17 2008 +0100 tracing/ftrace: make trace_find_cmdline() generally available Impact: build fix On !CONFIG_CONTEXT_SWITCH_TRACER trace_find_cmdline() is not defined: kernel/trace/trace_output.c: In function 'trace_ctxwake_print': kernel/trace/trace_output.c:499: error: implicit declaration of function 'trace_find_cmdline' kernel/trace/trace_output.c:499: warning: assignment makes pointer from integer without a cast Move it to the generic section in trace.h. Signed-off-by: Ingo Molnar commit e302cf3f961ceb54c1dd0aff7ba8531df83be07a Author: Frederic Weisbecker Date: Sat Dec 27 23:25:38 2008 +0100 tracing/branch-tracer: adapt to the stat tracing API Impact: refactor the branch tracer This patch adapts the branch tracer to the tracing API. This is a proof of concept because the branch tracer implements two "stat tracing" that were split in two files. So I added an option to the branch tracer: stat_all_branch. If it is set, then trace_stat will output all of the branches entries stats. Otherwise, it will print the annotated branches. Its is a kind of quick trick, waiting for a better solution. By default, the annotated branches stat are sorted by incorrect branch prediction percentage. Ie: correct incorrect % Function File Line ------- --------- - -------- ---- ---- 0 1 100 native_smp_prepare_cpus smpboot.c 1228 0 1 100 hpet_rtc_timer_reinit hpet.c 1057 0 18032 100 sched_info_queued sched_stats.h 223 0 684 100 yield_task_fair sched_fair.c 984 0 282 100 pre_schedule_rt sched_rt.c 1263 0 13414 100 sched_info_dequeued sched_stats.h 178 0 21724 100 sched_info_switch sched_stats.h 270 0 1 100 get_signal_to_deliver signal.c 1820 0 8 100 __cancel_work_timer workqueue.c 560 0 212 100 verify_export_symbols module.c 1509 0 17 100 __rmqueue_fallback page_alloc.c 793 0 43 100 clear_page_mlock internal.h 129 0 124 100 try_to_unmap_anon rmap.c 1021 0 53 100 try_to_unmap_anon rmap.c 1013 0 6 100 vma_address rmap.c 232 0 3301 100 try_to_unmap_file rmap.c 1082 0 466 100 try_to_unmap_file rmap.c 1077 0 1 100 mem_cgroup_create memcontrol.c 1090 0 3 100 inotify_find_update_watch inotify.c 726 2 30163 99 perf_counter_task_sched_out perf_counter.c 385 1 2935 99 percpu_free allocpercpu.c 138 1544 297672 99 dentry_lru_del_init dcache.c 153 8 1074 99 input_pass_event input.c 86 1390 76781 98 mapping_unevictable pagemap.h 50 280 6665 95 pick_next_task_rt sched_rt.c 889 750 4826 86 next_pidmap pid.c 194 2 8 80 blocking_notifier_chain_regist notifier.c 220 36 130 78 ioremap_pte_range ioremap.c 22 1093 3247 74 IS_ERR err.h 34 1023 2908 73 sched_slice sched_fair.c 445 22 60 73 disk_put_part genhd.h 206 [...] It enables a developer to quickly address the source of incorrect branch predictions. Note that this sorting would be better with a second sort on the number of incorrect predictions. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit dbd0b4b33074aa6b7832a9d9a5bd985eca5c1aa2 Author: Frederic Weisbecker Date: Sun Dec 28 20:44:51 2008 -0800 tracing/ftrace: provide the base infrastructure for histogram tracing Impact: extend the tracing API The goal of this patch is to normalize and make more easy the implementation of statistical (histogram) tracing. It implements a trace_stat file into the /debugfs/tracing directory where one can print a one-shot output of statistics/histogram entries. A tracer has to provide two basic iterator callbacks: stat_start() => the first entry stat_next(prev, idx) => the next one. Note that it is adapted for arrays or hash tables or lists.... since it provides a pointer to the previous entry and the current index of the iterator. These two callbacks are called to get a snapshot of the statistics at each opening of the trace_stat file because. The values are so updated between two "cat trace_stat". And the tracer is free to lock its datas during the iteration to keep consistent values. Since it is almost always interesting to sort statisticals values to address the problems by priority, this infrastructure provides a "sorting" of the stat entries too if desired. A tracer has just to provide a stat_cmp callback to compare two entries and the stat tracing infrastructure will build a sorted list of the given entries. A last callback, called stat_headers, can be implemented by a tracer to output headers on its trace. If one of these callbacks is changed on runtime, it just have to signal it to the stat tracing API by calling the init_tracer_stat() helper. Changes in V2: - Fix a memory leak if the user opens multiple times the trace_stat file without closing it. Now we always free our list before rebuilding it. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit f633cef0200bbaec539e2dbb0bc4bed7f022f98b Author: Steven Rostedt Date: Tue Dec 23 23:24:13 2008 -0500 ftrace: change trace.c to use registered events Impact: rework trace.c to use new event register API Almost every ftrace event has to implement its output display in trace.c through a different function. Some events did not handle all the formats (trace, latency-trace, raw, hex, binary), and this method does not scale well. This patch converts the format functions to use the event API to find the event and and print its format. Currently, we have a print function for trace, latency_trace, raw, hex and binary. A trace_nop_print is available if the event wants to avoid output on a particular format. Perhaps other tracers could use this in the future (like mmiotrace and function_graph). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f0868d1e23a8efec33beb3aa688aab7fdb1ae093 Author: Steven Rostedt Date: Tue Dec 23 23:24:12 2008 -0500 ftrace: set up trace event hash infrastructure Impact: simplify/generalize/refactor trace.c The trace.c file is becoming more difficult to maintain due to the growing number of events. There is several formats that an event may be printed. This patch sets up the infrastructure of an event hash to allow for events to register how they should be printed. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c47956d9ae3341d2d1998bff26620fa3338c01e4 Author: Steven Rostedt Date: Tue Dec 23 23:24:11 2008 -0500 ftrace: remove obsolete print continue functionality Impact: cleanup, remove obsolete code Now that the ring buffer used by ftrace allows for variable length entries, we do not need the 'cont' feature of the buffer. This code makes other parts of ftrace more complex and by removing this it simplifies the ftrace code. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit efdc64f0c792ea744bcc9203f35b908e66d42f41 Author: Wang Chen Date: Mon Dec 29 13:35:11 2008 +0800 genirq: check chip->ack before calling Impact: fix theoretical NULL dereference The generic irq layer doesn't know whether irq_chip has ack routine on some architectures or not. Upon that, before calling chip->ack, we should check that it's not NULL. Signed-off-by: Wang Chen Signed-off-by: Ingo Molnar commit 0f01f07fad4ee11d98fe6faa442afbeb0328a378 Merge: 3871f2f... 412d0bb... 3c92ec8... Author: Ingo Molnar Date: Mon Dec 29 11:25:11 2008 +0100 Merge branches 'tracing/docs', 'tracing/function-graph-tracer' and 'linus' into tracing/core commit 0ce74d9296c971b2355c26984ad0bc538e34dd6c Merge: 1cc4fff... 3c92ec8... Author: Ingo Molnar Date: Mon Dec 29 09:42:58 2008 +0100 Merge branch 'linus' into timers/hrtimers Conflicts: sound/drivers/pcsp/pcsp.c Semantic conflict: sound/core/hrtimer.c commit 1cc4fff0b360aeffeedb7d6db5089d88dd861700 Author: Frederic Weisbecker Date: Mon Dec 22 02:24:48 2008 +0100 hrtimers: increase clock min delta threshold while interrupt hanging Impact: avoid timer IRQ hanging slow systems While using the function graph tracer on a virtualized system, the hrtimer_interrupt can hang the system on an infinite loop. This can be caused in several situations: - the hardware is very slow and HZ is set too high - something intrusive is slowing the system down (tracing under emulation) ... and the next clock events to program are always before the current time. This patch implements a reasonable compromise: if such a situation is detected, we share the CPUs time in 1/4 to process the hrtimer interrupts. This is enough to let the system running without serious starvation. It has been successfully tested under VirtualBox with 1000 HZ and 100 HZ with function graph tracer launched. On both cases, the clock events were increased until about 25 ms periodic ticks, which means 40 HZ. So we change a hard to debug hang into a warning message and a system that still manages to limp along. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 412d0bb553c0227191f1bfd06100f561600bff22 Author: Frederic Weisbecker Date: Wed Dec 24 01:43:25 2008 +0100 tracing/function-graph-tracer: strip ending newlines on comments Impact: tracer output improvement Ending newlines are appended automatically on comments by the function graph tracer because the newline needs to be placed after the "*/" comment characters. So if the user puts an ending newline, we want to strip it. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 3871f2ffe53db3cef4fe0c18993ad9e6e0f69408 Author: Randy Dunlap Date: Wed Dec 24 16:06:57 2008 -0800 sysrq: fix ftrace help msg & doc. Impact: update documentation and help messages We have a conventional method of explicitly stating the sysrq action key in a sysrq help message, so change dump-ftrace-buffer to use that method and add it to Documentation/sysrq.txt. Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar commit 5369bea7d7db1d95f63907f3470e23d32930be98 Author: Russell King Date: Thu Dec 11 16:37:06 2008 +0000 [ARM] dma: Use sensible DMA parameters for Acorn drivers The hardware supports transfers up to a page boundary per buffer. Currently, we work around that in the DMA code by splitting each buffer up as we run through the scatterlist. Avoid this by telling the block layers about the hardware restriction. Eventually, this will allow us to phase out the splitting code, but not until the old IDE layer allows us to control the value it gives to blk_queue_segment_boundary(). Signed-off-by: Russell King commit f6718653361e8f8a6aac9946822aa2090edf4f37 Author: Russell King Date: Mon Dec 8 19:25:28 2008 +0000 [ARM] dma: pata_icside's contiguous sg array is now redundant Now that the IOMD DMA code walks the scatterlist using sg_next, converting the sg list into a contiguous list is no longer required. Signed-off-by: Russell King commit 9e28d7e8c5422a47db886c4104221ea165595de0 Author: Russell King Date: Mon Dec 8 19:03:58 2008 +0000 [ARM] dma: convert IOMD DMA to use sg_next() ... rather than incrementing the sg pointer. Signed-off-by: Russell King commit d667522fdf637ef1b425518afe11aedba80364b2 Author: Russell King Date: Mon Dec 8 17:50:25 2008 +0000 [ARM] dma: ensure that the single entry sg is properly initialized Signed-off-by: Russell King commit 8c56afcbea22e472d3bfa8ddf06f23cd6bc56826 Author: Russell King Date: Thu Dec 11 14:50:39 2008 +0000 [ARM] dma: constify dma controller name and dma ops Signed-off-by: Russell King commit ad9dd94c384f7ee37b798a9349b8c42da8fa99ab Author: Russell King Date: Mon Dec 8 17:35:48 2008 +0000 [ARM] dma: move RiscPC specific DMA data out of dma_struct Separate the RiscPC specific (IOMD and floppy FIQ) data out of the core DMA structure by making the IOMD and floppy DMA supersets. Signed-off-by: Russell King commit 2f757f2ab7411cf0e2779012d8cda0cbf2f80d26 Author: Russell King Date: Mon Dec 8 16:33:30 2008 +0000 [ARM] dma: rejig DMA initialization Rather than having the central DMA multiplexer call the architecture specific DMA initialization function, have each architecture DMA initialization function use core_initcall(), and register each DMA channel separately with the multiplexer. This removes the array of dma structures in the central multiplexer, replacing it with an array of pointers instead; this is more flexible since it allows the drivers to wrap the DMA structure (eventually allowing us to transition non-ISA DMA drivers away.) Signed-off-by: Russell King commit 3afb6e9c635f735c751148beddc195daec0e35ec Author: Russell King Date: Mon Dec 8 16:08:48 2008 +0000 [ARM] dma: factor out code looking up the DMA channel This is a preparitory patch to allow us to easily change the way we add and lookup DMA channel structures. Signed-off-by: Russell King commit 1df8130278c4543555fea697e5714fbac300b899 Author: Russell King Date: Mon Dec 8 15:58:50 2008 +0000 [ARM] dma: remove dmach_t typedef Remove a pointless integer typedef. Signed-off-by: Russell King commit b2aaf8f74cdc84a9182f6cabf198b7763bcb9d40 Merge: 4f962d4... 278429c... Author: Ingo Molnar Date: Wed Oct 15 13:46:29 2008 +0200 Merge branch 'linus' into stackprotector Conflicts: arch/x86/kernel/Makefile include/asm-x86/pda.h commit 4f962d4d65923d7b722192e729840cfb79af0a5a Author: Ingo Molnar Date: Sun Jul 13 21:42:44 2008 +0200 stackprotector: remove self-test turns out gcc generates such stackprotector-failure sequences in certain circumstances: movq -8(%rbp), %rax # D.16032, xorq %gs:40, %rax #, jne .L17 #, leave ret .L17: call __stack_chk_fail # .size __stack_chk_test_func, .-__stack_chk_test_func .section .init.text,"ax",@progbits .type panic_setup, @function panic_setup: pushq %rbp # note that there's no jump back to the failing context after the call to __stack_chk_fail - i.e. it has a ((noreturn)) attribute. Which is fair enough in the normal case but kills the self-test. (as we cannot reliably return in the self-test) Signed-off-by: Ingo Molnar commit af9ff7868f0f76d3364351b1641b9dfa99588e77 Author: Arjan van de Ven Date: Sat Jul 12 09:36:38 2008 -0700 x86: simplify stackprotector self-check Clean up the code by removing no longer needed code; make sure the pda is updated and kept in sync Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit aa92db14270b79f0f91a9060b547a46f9e2639da Author: Arjan van de Ven Date: Fri Jul 11 05:09:55 2008 -0700 stackprotector: better self-test check stackprotector functionality by manipulating the canary briefly during bootup. far more robust than trying to overflow the stack. (which is architecture dependent, etc.) Signed-off-by: Ingo Molnar commit 5ce001b0e56638c726270d4f9e05d46d4250dfbb Merge: 7c9f886... 543cf4c... Author: Ingo Molnar Date: Wed Jun 25 12:27:29 2008 +0200 Merge branch 'linus' into stackprotector commit 7c9f8861e6c9c839f913e49b98c3854daca18f27 Author: Eric Sandeen Date: Tue Apr 22 16:38:23 2008 -0500 stackprotector: use canary at end of stack to indicate overruns at oops time (Updated with a common max-stack-used checker that knows about the canary, as suggested by Joe Perches) Use a canary at the end of the stack to clearly indicate at oops time whether the stack has ever overflowed. This is a very simple implementation with a couple of drawbacks: 1) a thread may legitimately use exactly up to the last word on the stack -- but the chances of doing this and then oopsing later seem slim 2) it's possible that the stack usage isn't dense enough that the canary location could get skipped over -- but the worst that happens is that we don't flag the overrun -- though this happens fairly often in my testing :( With the code in place, an intentionally-bloated stack oops might do: BUG: unable to handle kernel paging request at ffff8103f84cc680 IP: [] update_curr+0x9a/0xa8 PGD 8063 PUD 0 Thread overran stack or stack corrupted Oops: 0000 [1] SMP CPU 0 ... ... unless the stack overrun is so bad that it corrupts some other thread. Signed-off-by: Eric Sandeen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b40a4392a3c262e0d1b5379b4e142a8eefa63439 Author: Arjan van de Ven Date: Fri Apr 18 06:16:45 2008 -0700 stackprotector: turn not having the right gcc into a #warning If the user selects the stack-protector config option, but does not have a gcc that has the right bits enabled (for example because it isn't build with a glibc that supports TLS, as is common for cross-compilers, but also because it may be too old), then the runtime test fails right now. This patch adds a warning message for this scenario. This warning accomplishes two goals 1) the user is informed that the security option he selective isn't available 2) the user is suggested to turn of the CONFIG option that won't work for him, and would make the runtime test fail anyway. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b719ac56c0032bc1602914c6ea70b0f1581b08c7 Author: Daniel Walker Date: Mon Apr 14 10:03:50 2008 -0700 panic.c: fix whitespace additions trivial: remove white space addition in stack protector Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 54371a43a66f4477889769b4fa00df936855dc8f Author: Arjan van de Ven Date: Fri Feb 15 15:33:12 2008 -0800 x86: add CONFIG_CC_STACKPROTECTOR self-test This patch adds a simple self-test capability to the stackprotector feature. The test deliberately overflows a stack buffer and then checks if the canary trap function gets called. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 113c5413cf9051cc50b88befdc42e3402bb92115 Author: Ingo Molnar Date: Thu Feb 14 10:36:03 2008 +0100 x86: unify stackprotector features streamline the stackprotector features under a single option and make the stronger feature the one accessible. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 960a672bd9f1ec06e8f197cf81a50fd07ea02e7f Author: Ingo Molnar Date: Thu Feb 14 09:56:04 2008 +0100 x86: stackprotector: mix TSC to the boot canary mix the TSC to the boot canary. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 420594296838fdc9a674470d710cda7d1487f9f4 Author: Ingo Molnar Date: Thu Feb 14 09:44:08 2008 +0100 x86: fix the stackprotector canary of the boot CPU Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 18aa8bb12dcb10adc3d7c9d69714d53667c0ab7f Author: Ingo Molnar Date: Thu Feb 14 09:42:02 2008 +0100 stackprotector: add boot_init_stack_canary() add the boot_init_stack_canary() and make the secondary idle threads use it. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9b5609fd773e6ac0b1d6d6e1bf68f32cca64e06b Author: Ingo Molnar Date: Thu Feb 14 09:41:09 2008 +0100 stackprotector: include files create for core kernel files to include. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 72370f2a5b227bd3817593a6b15ea3f53f51dfcb Author: Ingo Molnar Date: Wed Feb 13 16:15:34 2008 +0100 x86: if stackprotector is enabled, thn use stack-protector-all by default also enable the rodata and nx tests. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5cb273013e182a35e7db614d3e20a144cba71e53 Author: Ingo Molnar Date: Thu Feb 14 09:07:01 2008 +0100 panic: print out stacktrace if DEBUG_BUGVERBOSE if CONFIG_DEBUG_BUGVERBOSE is set then the user most definitely wanted to see as much information about kernel crashes as possible - so give them at least a stack dump. this is particularly useful for stackprotector related panics, where the stacktrace can give us the exact location of the (attempted) attack. Pointed out by pageexec@freemail.hu in the stackprotector breakage threads. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 517a92c4e19fcea815332d3155e9fb7723251274 Author: Ingo Molnar Date: Thu Feb 14 09:02:13 2008 +0100 panic: print more informative messages on stackprotect failure pointed out by pageexec@freemail.hu: we just simply panic() when there's a stackprotector attack - giving the attacked person no information about what kernel code the attack went against. print out the attacked function. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7e09b2a02dae4616a5a26000169964b32f86cd35 Author: Ingo Molnar Date: Thu Feb 14 09:22:34 2008 +0100 x86: fix canary of the boot CPU's idle task the boot CPU's idle task has a zero stackprotector canary value. this is a special task that is never forked, so the fork code does not randomize its canary. Do it when we hit cpu_idle(). Academic sidenote: this means that the early init code runs with a zero canary and hence the canary becomes predictable for this short, boot-only amount of time. Although attack vectors against early init code are very rare, it might make sense to move this initialization to an earlier point. (to one of the early init functions that never return - such as start_kernel()) Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ce22bd92cba0958e052cb1ce0f89f1d3a02b60a7 Author: Arjan van de Ven Date: Mon May 12 15:44:31 2008 +0200 x86: setup stack canary for the idle threads The idle threads for non-boot CPUs are a bit special in how they are created; the result is that these don't have the stack canary set up properly in their PDA. Easiest fix is to just always set the PDA up correctly when entering the idle thread; this is a NOP for the boot cpu. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e00320875d0cc5f8099a7227b2f25fbb3231268d Author: Ingo Molnar Date: Thu Feb 14 08:48:23 2008 +0100 x86: fix stackprotector canary updates during context switches fix a bug noticed and fixed by pageexec@freemail.hu. if built with -fstack-protector-all then we'll have canary checks built into the __switch_to() function. That does not work well with the canary-switching code there: while we already use the %rsp of the new task, we still call __switch_to() whith the previous task's canary value in the PDA, hence the __switch_to() ssp prologue instructions will store the previous canary. Then we update the PDA and upon return from __switch_to() the canary check triggers and we panic. so update the canary after we have called __switch_to(), where we are at the same stackframe level as the last stackframe of the next (and now freshly current) task. Note: this means that we call __switch_to() [and its sub-functions] still with the old canary, but that is not a problem, both the previous and the next task has a high-quality canary. The only (mostly academic) disadvantage is that the canary of one task may leak onto the stack of another task, increasing the risk of information leaks, were an attacker able to read the stack of specific tasks (but not that of others). To solve this we'll have to reorganize the way we switch tasks, and move the PDA setting into the switch_to() assembly code. That will happen in another patch. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c7f8900f1d8a0e464e7092f132a7e93f7c20f2f Author: Ingo Molnar Date: Sat Feb 23 07:06:55 2008 +0100 x86: stackprotector & PARAVIRT fix on paravirt enabled 64-bit kernels the paravirt ops do function calls themselves - which is bad with the stackprotector - for example pda_init() loads 0 into %gs and then does MSR_GS_BASE write (which modifies gs.base) - but that MSR write is a function call on paravirt, which with stackprotector tries to read the stack canary from the PDA ... crashing the bootup. the solution was suggested by Arjan van de Ven: to exclude paravirt.c from stackprotector, too many lowlevel functionality is in it. It's not like we'll have paravirt functions with character arrays on their stack anyway... Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner